feat: 首页统计
This commit is contained in:
@@ -16,6 +16,7 @@ import org.agt.framework.ip.core.utils.AreaUtils;
|
||||
import org.agt.module.license.controller.admin.customer.vo.CustomerPageReqVO;
|
||||
import org.agt.module.license.controller.admin.customer.vo.CustomerRespVO;
|
||||
import org.agt.module.license.controller.admin.customer.vo.CustomerSaveReqVO;
|
||||
import org.agt.module.license.controller.admin.customer.vo.DashboardRespVO;
|
||||
import org.agt.module.license.dal.dataobject.customer.CustomerDO;
|
||||
import org.agt.module.license.service.customer.CustomerService;
|
||||
import org.springframework.security.access.prepost.PreAuthorize;
|
||||
@@ -44,6 +45,13 @@ public class CustomerController {
|
||||
@Resource
|
||||
private CustomerService customerService;
|
||||
|
||||
@GetMapping("/dashboard")
|
||||
@Operation(summary = "获得首页数据")
|
||||
public CommonResult<DashboardRespVO> dashboard() {
|
||||
DashboardRespVO result = customerService.dashboard();
|
||||
return success(result);
|
||||
}
|
||||
|
||||
@PostMapping("/create")
|
||||
@Operation(summary = "创建客户")
|
||||
@PreAuthorize("@ss.hasPermission('license:customer:create')")
|
||||
|
||||
@@ -0,0 +1,26 @@
|
||||
package org.agt.module.license.controller.admin.customer.vo;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* @description: dashboard vo
|
||||
* @author: cyc
|
||||
* @since: 2025-07-15
|
||||
*/
|
||||
@Schema(description = "首页 - dashboard Response VO")
|
||||
@Data
|
||||
public class DashboardRespVO {
|
||||
|
||||
@Schema(description = "客户数量")
|
||||
private Long customerCount;
|
||||
|
||||
@Schema(description = "项目数量")
|
||||
private Long projectCount;
|
||||
|
||||
@Schema(description = "license数量")
|
||||
private Long licenseCount;
|
||||
|
||||
@Schema(description = "用户数量")
|
||||
private Long userCount;
|
||||
}
|
||||
@@ -41,4 +41,6 @@ public interface CustomerMapper extends BaseMapperX<CustomerDO> {
|
||||
}
|
||||
|
||||
Integer selectMaxCode();
|
||||
|
||||
Long selectUserCount();
|
||||
}
|
||||
@@ -4,6 +4,7 @@ import jakarta.validation.Valid;
|
||||
import org.agt.framework.common.pojo.PageResult;
|
||||
import org.agt.module.license.controller.admin.customer.vo.CustomerPageReqVO;
|
||||
import org.agt.module.license.controller.admin.customer.vo.CustomerSaveReqVO;
|
||||
import org.agt.module.license.controller.admin.customer.vo.DashboardRespVO;
|
||||
import org.agt.module.license.dal.dataobject.customer.CustomerDO;
|
||||
|
||||
import java.util.List;
|
||||
@@ -15,6 +16,8 @@ import java.util.List;
|
||||
*/
|
||||
public interface CustomerService {
|
||||
|
||||
DashboardRespVO dashboard();
|
||||
|
||||
/**
|
||||
* 创建客户
|
||||
*
|
||||
|
||||
@@ -6,8 +6,11 @@ import org.agt.framework.common.pojo.PageResult;
|
||||
import org.agt.framework.common.util.object.BeanUtils;
|
||||
import org.agt.module.license.controller.admin.customer.vo.CustomerPageReqVO;
|
||||
import org.agt.module.license.controller.admin.customer.vo.CustomerSaveReqVO;
|
||||
import org.agt.module.license.controller.admin.customer.vo.DashboardRespVO;
|
||||
import org.agt.module.license.dal.dataobject.customer.CustomerDO;
|
||||
import org.agt.module.license.dal.mysql.customer.CustomerMapper;
|
||||
import org.agt.module.license.dal.mysql.license.LicenseMapper;
|
||||
import org.agt.module.license.dal.mysql.project.ProjectMapper;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
|
||||
@@ -30,6 +33,25 @@ public class CustomerServiceImpl implements CustomerService {
|
||||
@Resource
|
||||
private CustomerMapper customerMapper;
|
||||
|
||||
@Resource
|
||||
private ProjectMapper projectMapper;
|
||||
|
||||
@Resource
|
||||
private LicenseMapper licenseMapper;
|
||||
|
||||
@Override
|
||||
public DashboardRespVO dashboard() {
|
||||
Long customerCount = customerMapper.selectCount();
|
||||
Long projectCount = projectMapper.selectCount();
|
||||
Long licenseCount = licenseMapper.selectCount();
|
||||
DashboardRespVO dashboardRespVO = new DashboardRespVO();
|
||||
dashboardRespVO.setCustomerCount(customerCount);
|
||||
dashboardRespVO.setProjectCount(projectCount);
|
||||
dashboardRespVO.setLicenseCount(licenseCount);
|
||||
dashboardRespVO.setUserCount(customerMapper.selectUserCount());
|
||||
return dashboardRespVO;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Long createCustomer(CustomerSaveReqVO createReqVO) {
|
||||
// 校验客户名称和编号是否唯一
|
||||
|
||||
@@ -108,4 +108,6 @@ public class LicenseServiceImpl implements LicenseService {
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@@ -6,4 +6,8 @@
|
||||
SELECT max(`code` + 0) from lic_customer;
|
||||
</select>
|
||||
|
||||
<select id="selectUserCount" resultType="Long">
|
||||
select count(*) - 1 from system_users WHERE deleted = 0;
|
||||
</select>
|
||||
|
||||
</mapper>
|
||||
Reference in New Issue
Block a user