From b17835039e8cfdcdb6b9a90dfbd27a4951705b69 Mon Sep 17 00:00:00 2001 From: caiyuchao Date: Tue, 15 Jul 2025 19:47:02 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E9=A6=96=E9=A1=B5=E7=BB=9F=E8=AE=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../admin/customer/CustomerController.java | 8 ++++++ .../admin/customer/vo/DashboardRespVO.java | 26 +++++++++++++++++++ .../dal/mysql/customer/CustomerMapper.java | 4 ++- .../service/customer/CustomerService.java | 3 +++ .../service/customer/CustomerServiceImpl.java | 22 ++++++++++++++++ .../service/license/LicenseServiceImpl.java | 2 ++ .../mapper/customer/CustomerMapper.xml | 4 +++ 7 files changed, 68 insertions(+), 1 deletion(-) create mode 100644 agt-module-license/agt-module-license-server/src/main/java/org/agt/module/license/controller/admin/customer/vo/DashboardRespVO.java diff --git a/agt-module-license/agt-module-license-server/src/main/java/org/agt/module/license/controller/admin/customer/CustomerController.java b/agt-module-license/agt-module-license-server/src/main/java/org/agt/module/license/controller/admin/customer/CustomerController.java index 7ae02cf..68c339f 100644 --- a/agt-module-license/agt-module-license-server/src/main/java/org/agt/module/license/controller/admin/customer/CustomerController.java +++ b/agt-module-license/agt-module-license-server/src/main/java/org/agt/module/license/controller/admin/customer/CustomerController.java @@ -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 dashboard() { + DashboardRespVO result = customerService.dashboard(); + return success(result); + } + @PostMapping("/create") @Operation(summary = "创建客户") @PreAuthorize("@ss.hasPermission('license:customer:create')") diff --git a/agt-module-license/agt-module-license-server/src/main/java/org/agt/module/license/controller/admin/customer/vo/DashboardRespVO.java b/agt-module-license/agt-module-license-server/src/main/java/org/agt/module/license/controller/admin/customer/vo/DashboardRespVO.java new file mode 100644 index 0000000..1816ba2 --- /dev/null +++ b/agt-module-license/agt-module-license-server/src/main/java/org/agt/module/license/controller/admin/customer/vo/DashboardRespVO.java @@ -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; +} diff --git a/agt-module-license/agt-module-license-server/src/main/java/org/agt/module/license/dal/mysql/customer/CustomerMapper.java b/agt-module-license/agt-module-license-server/src/main/java/org/agt/module/license/dal/mysql/customer/CustomerMapper.java index af2a579..c029d0b 100644 --- a/agt-module-license/agt-module-license-server/src/main/java/org/agt/module/license/dal/mysql/customer/CustomerMapper.java +++ b/agt-module-license/agt-module-license-server/src/main/java/org/agt/module/license/dal/mysql/customer/CustomerMapper.java @@ -41,4 +41,6 @@ public interface CustomerMapper extends BaseMapperX { } Integer selectMaxCode(); -} \ No newline at end of file + + Long selectUserCount(); +} diff --git a/agt-module-license/agt-module-license-server/src/main/java/org/agt/module/license/service/customer/CustomerService.java b/agt-module-license/agt-module-license-server/src/main/java/org/agt/module/license/service/customer/CustomerService.java index 63d5f9c..bb4543d 100644 --- a/agt-module-license/agt-module-license-server/src/main/java/org/agt/module/license/service/customer/CustomerService.java +++ b/agt-module-license/agt-module-license-server/src/main/java/org/agt/module/license/service/customer/CustomerService.java @@ -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(); + /** * 创建客户 * diff --git a/agt-module-license/agt-module-license-server/src/main/java/org/agt/module/license/service/customer/CustomerServiceImpl.java b/agt-module-license/agt-module-license-server/src/main/java/org/agt/module/license/service/customer/CustomerServiceImpl.java index 2f88fa1..edaf1c5 100644 --- a/agt-module-license/agt-module-license-server/src/main/java/org/agt/module/license/service/customer/CustomerServiceImpl.java +++ b/agt-module-license/agt-module-license-server/src/main/java/org/agt/module/license/service/customer/CustomerServiceImpl.java @@ -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) { // 校验客户名称和编号是否唯一 diff --git a/agt-module-license/agt-module-license-server/src/main/java/org/agt/module/license/service/license/LicenseServiceImpl.java b/agt-module-license/agt-module-license-server/src/main/java/org/agt/module/license/service/license/LicenseServiceImpl.java index b0c2691..c72cd3f 100644 --- a/agt-module-license/agt-module-license-server/src/main/java/org/agt/module/license/service/license/LicenseServiceImpl.java +++ b/agt-module-license/agt-module-license-server/src/main/java/org/agt/module/license/service/license/LicenseServiceImpl.java @@ -108,4 +108,6 @@ public class LicenseServiceImpl implements LicenseService { } return true; } + + } \ No newline at end of file diff --git a/agt-module-license/agt-module-license-server/src/main/resources/mapper/customer/CustomerMapper.xml b/agt-module-license/agt-module-license-server/src/main/resources/mapper/customer/CustomerMapper.xml index cb6e371..be1c9d7 100644 --- a/agt-module-license/agt-module-license-server/src/main/resources/mapper/customer/CustomerMapper.xml +++ b/agt-module-license/agt-module-license-server/src/main/resources/mapper/customer/CustomerMapper.xml @@ -6,4 +6,8 @@ SELECT max(`code` + 0) from lic_customer; + + \ No newline at end of file