From 907a8ce44ad33ca672806b9928502a5749c072be Mon Sep 17 00:00:00 2001 From: caiyuchao Date: Mon, 25 Aug 2025 18:48:53 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=E5=8F=AF=E9=80=89?= =?UTF-8?q?=E5=AE=A2=E6=88=B7=E9=A1=B9=E7=9B=AE=E3=80=81=E5=AD=97=E6=AE=B5?= =?UTF-8?q?=E5=90=8D=E3=80=81=E5=AF=BC=E5=87=BA=E7=AD=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../admin/comment/vo/CommentTreeRespVO.java | 3 +++ .../admin/customer/CustomerController.java | 7 ++++++ .../admin/license/vo/LicenseRespVO.java | 10 ++++---- .../admin/project/ProjectController.java | 7 ++++++ .../admin/project/vo/ProjectImportRespVO.java | 13 +++++----- .../admin/project/vo/ProjectListReqVO.java | 4 ++-- .../admin/project/vo/ProjectPageReqVO.java | 4 ++-- .../admin/project/vo/ProjectRespVO.java | 24 +++++++++---------- .../admin/project/vo/ProjectSaveReqVO.java | 4 ++-- .../dal/mysql/customer/CustomerMapper.java | 3 +++ .../dal/mysql/project/ProjectMapper.java | 2 ++ .../service/comment/CommentServiceImpl.java | 9 +++++++ .../service/customer/CustomerService.java | 3 +++ .../service/customer/CustomerServiceImpl.java | 6 +++++ .../service/project/ProjectService.java | 2 ++ .../service/project/ProjectServiceImpl.java | 5 ++++ .../mapper/comment/CommentMapper.xml | 13 +++++++--- .../mapper/customer/CustomerMapper.xml | 15 +++++++++++- .../mapper/project/ProjectMapper.xml | 14 +++++++++++ 19 files changed, 115 insertions(+), 33 deletions(-) diff --git a/agt-module-license/agt-module-license-server/src/main/java/org/agt/module/license/controller/admin/comment/vo/CommentTreeRespVO.java b/agt-module-license/agt-module-license-server/src/main/java/org/agt/module/license/controller/admin/comment/vo/CommentTreeRespVO.java index c1a9103..5af2b99 100644 --- a/agt-module-license/agt-module-license-server/src/main/java/org/agt/module/license/controller/admin/comment/vo/CommentTreeRespVO.java +++ b/agt-module-license/agt-module-license-server/src/main/java/org/agt/module/license/controller/admin/comment/vo/CommentTreeRespVO.java @@ -36,6 +36,9 @@ public class CommentTreeRespVO { @Schema(description = "技术负责人1") private String technicalOwnerA; + @Schema(description = "客户名称") + private String customerName; + @Schema(description = "用户ID", example = "30248") @ExcelProperty("用户ID") private Long userId; 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 f1de264..c436f2c 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 @@ -209,4 +209,11 @@ public class CustomerController { List list = ExcelUtils.read(file, CustomerImportRespVO.class); return success(customerService.importList(list, updateSupport)); } + + @GetMapping("/license-list") + @Operation(summary = "获得申请license可选择的客户列表") + @PreAuthorize("@ss.hasPermission('license:customer:query')") + public CommonResult> getLicenseCustomers() { + return success(customerService.getLicenseCustomers()); + } } \ No newline at end of file diff --git a/agt-module-license/agt-module-license-server/src/main/java/org/agt/module/license/controller/admin/license/vo/LicenseRespVO.java b/agt-module-license/agt-module-license-server/src/main/java/org/agt/module/license/controller/admin/license/vo/LicenseRespVO.java index 0549c97..0cd94b1 100644 --- a/agt-module-license/agt-module-license-server/src/main/java/org/agt/module/license/controller/admin/license/vo/LicenseRespVO.java +++ b/agt-module-license/agt-module-license-server/src/main/java/org/agt/module/license/controller/admin/license/vo/LicenseRespVO.java @@ -30,16 +30,16 @@ public class LicenseRespVO implements VO { @Trans(type = TransType.SIMPLE, target = CustomerDO.class, fields = "name", ref = "customerName") private Long customerId; - @Schema(description = "客户") - @ExcelProperty("客户") + @Schema(description = "客户名称") + @ExcelProperty("客户名称") private String customerName; @Schema(description = "项目ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "2496") @Trans(type = TransType.SIMPLE, target = ProjectDO.class, fields = "name", ref = "projectName") private Long projectId; - @Schema(description = "项目") - @ExcelProperty("项目") + @Schema(description = "项目名称") + @ExcelProperty("项目名称") private String projectName; @Schema(description = "sn", requiredMode = Schema.RequiredMode.REQUIRED) @@ -109,7 +109,7 @@ public class LicenseRespVO implements VO { @ExcelProperty("申请时间") private LocalDateTime applicationTime; - @Schema(description = "申请次数") + @Schema(description = "license申请次数") @ExcelProperty("申请次数") private Integer applyCount; diff --git a/agt-module-license/agt-module-license-server/src/main/java/org/agt/module/license/controller/admin/project/ProjectController.java b/agt-module-license/agt-module-license-server/src/main/java/org/agt/module/license/controller/admin/project/ProjectController.java index d6795fa..501074d 100644 --- a/agt-module-license/agt-module-license-server/src/main/java/org/agt/module/license/controller/admin/project/ProjectController.java +++ b/agt-module-license/agt-module-license-server/src/main/java/org/agt/module/license/controller/admin/project/ProjectController.java @@ -163,4 +163,11 @@ public class ProjectController { List list = ExcelUtils.read(file, ProjectImportRespVO.class); return success(projectService.importList(list, updateSupport)); } + + @GetMapping("/license-list") + @Operation(summary = "获得申请license可选择的项目列表") + @PreAuthorize("@ss.hasPermission('license:project:query')") + public CommonResult> getLicenseProjects(@Valid ProjectListReqVO reqVO) { + return success(projectService.getLicenseProjects(reqVO)); + } } \ No newline at end of file diff --git a/agt-module-license/agt-module-license-server/src/main/java/org/agt/module/license/controller/admin/project/vo/ProjectImportRespVO.java b/agt-module-license/agt-module-license-server/src/main/java/org/agt/module/license/controller/admin/project/vo/ProjectImportRespVO.java index 06d6ccc..ca34311 100644 --- a/agt-module-license/agt-module-license-server/src/main/java/org/agt/module/license/controller/admin/project/vo/ProjectImportRespVO.java +++ b/agt-module-license/agt-module-license-server/src/main/java/org/agt/module/license/controller/admin/project/vo/ProjectImportRespVO.java @@ -91,13 +91,14 @@ public class ProjectImportRespVO implements VO { @DictFormat("lic_env_info") private Integer envInfo; - @Schema(description = "软件版本信息") - @ExcelProperty(value = "软件版本信息", converter = DictConvert.class) + @Schema(description = "操作系统平台") + @ExcelProperty(value = "操作系统平台", converter = DictConvert.class) + @DictFormat("lic_operating_system") + private Integer operatingSystem; + + @Schema(description = "软件版本") + @ExcelProperty(value = "软件版本", converter = DictConvert.class) @DictFormat("lic_software_version") private Integer softwareVersion; - @Schema(description = "操作系统") - @ExcelProperty(value = "操作系统", converter = DictConvert.class) - @DictFormat("lic_operating_system") - private Integer operatingSystem; } \ No newline at end of file diff --git a/agt-module-license/agt-module-license-server/src/main/java/org/agt/module/license/controller/admin/project/vo/ProjectListReqVO.java b/agt-module-license/agt-module-license-server/src/main/java/org/agt/module/license/controller/admin/project/vo/ProjectListReqVO.java index a67ffb7..1de1cbc 100644 --- a/agt-module-license/agt-module-license-server/src/main/java/org/agt/module/license/controller/admin/project/vo/ProjectListReqVO.java +++ b/agt-module-license/agt-module-license-server/src/main/java/org/agt/module/license/controller/admin/project/vo/ProjectListReqVO.java @@ -61,10 +61,10 @@ public class ProjectListReqVO extends PageParam { @Schema(description = "环境信息") private Integer envInfo; - @Schema(description = "软件版本信息") + @Schema(description = "软件版本") private Integer softwareVersion; - @Schema(description = "操作系统") + @Schema(description = "操作系统平台") private Integer operatingSystem; @Schema(description = "创建时间") diff --git a/agt-module-license/agt-module-license-server/src/main/java/org/agt/module/license/controller/admin/project/vo/ProjectPageReqVO.java b/agt-module-license/agt-module-license-server/src/main/java/org/agt/module/license/controller/admin/project/vo/ProjectPageReqVO.java index 5f93eeb..79f0ffd 100644 --- a/agt-module-license/agt-module-license-server/src/main/java/org/agt/module/license/controller/admin/project/vo/ProjectPageReqVO.java +++ b/agt-module-license/agt-module-license-server/src/main/java/org/agt/module/license/controller/admin/project/vo/ProjectPageReqVO.java @@ -61,10 +61,10 @@ public class ProjectPageReqVO extends PageParam { @Schema(description = "环境信息") private Integer envInfo; - @Schema(description = "软件版本信息") + @Schema(description = "软件版本") private Integer softwareVersion; - @Schema(description = "操作系统") + @Schema(description = "操作系统平台") private Integer operatingSystem; @Schema(description = "创建时间") diff --git a/agt-module-license/agt-module-license-server/src/main/java/org/agt/module/license/controller/admin/project/vo/ProjectRespVO.java b/agt-module-license/agt-module-license-server/src/main/java/org/agt/module/license/controller/admin/project/vo/ProjectRespVO.java index 89c2773..755733c 100644 --- a/agt-module-license/agt-module-license-server/src/main/java/org/agt/module/license/controller/admin/project/vo/ProjectRespVO.java +++ b/agt-module-license/agt-module-license-server/src/main/java/org/agt/module/license/controller/admin/project/vo/ProjectRespVO.java @@ -35,8 +35,8 @@ public class ProjectRespVO implements VO { @ExcelProperty("项目编号") private Long code; - @Schema(description = "所属客户") - @ExcelProperty("所属客户") + @Schema(description = "客户名称") + @ExcelProperty("客户名称") private String customerName; @Schema(description = "项目开始时间") @@ -85,7 +85,7 @@ public class ProjectRespVO implements VO { private String technicalOwnerBName; @Schema(description = "技术负责人3") - @ExcelProperty("技术负责人3") +// @ExcelProperty("技术负责人3") private String technicalOwnerCName; @Schema(description = "商务状态", example = "2") @@ -106,16 +106,16 @@ public class ProjectRespVO implements VO { @DictFormat("lic_env_info") private Integer envInfo; - @Schema(description = "软件版本信息") - @ExcelProperty(value = "软件版本信息", converter = DictConvert.class) - @DictFormat("lic_software_version") - private Integer softwareVersion; - - @Schema(description = "操作系统") - @ExcelProperty(value = "操作系统", converter = DictConvert.class) + @Schema(description = "操作系统平台") + @ExcelProperty(value = "操作系统平台", converter = DictConvert.class) @DictFormat("lic_operating_system") private Integer operatingSystem; + @Schema(description = "软件版本") + @ExcelProperty(value = "软件版本", converter = DictConvert.class) + @DictFormat("lic_software_version") + private Integer softwareVersion; + @Schema(description = "备注", example = "随便") private String remark; @@ -123,8 +123,8 @@ public class ProjectRespVO implements VO { @ExcelProperty("评论数") private Integer commentNum; - @Schema(description = "申请数") - @ExcelProperty("申请数") + @Schema(description = "license申请数") + @ExcelProperty("license申请数") private Integer applyCount; @Schema(description = "最后修改时间", requiredMode = Schema.RequiredMode.REQUIRED) diff --git a/agt-module-license/agt-module-license-server/src/main/java/org/agt/module/license/controller/admin/project/vo/ProjectSaveReqVO.java b/agt-module-license/agt-module-license-server/src/main/java/org/agt/module/license/controller/admin/project/vo/ProjectSaveReqVO.java index 1386d72..80ed3c4 100644 --- a/agt-module-license/agt-module-license-server/src/main/java/org/agt/module/license/controller/admin/project/vo/ProjectSaveReqVO.java +++ b/agt-module-license/agt-module-license-server/src/main/java/org/agt/module/license/controller/admin/project/vo/ProjectSaveReqVO.java @@ -64,10 +64,10 @@ public class ProjectSaveReqVO { @Schema(description = "环境信息") private Integer envInfo; - @Schema(description = "操作系统") + @Schema(description = "操作系统平台") private Integer operatingSystem; - @Schema(description = "软件版本信息") + @Schema(description = "软件版本") private Integer softwareVersion; @Schema(description = "备注", example = "随便") 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 7ea67dc..fcac5a0 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 @@ -4,6 +4,7 @@ import org.agt.framework.common.pojo.PageResult; import org.agt.framework.mybatis.core.mapper.BaseMapperX; import org.agt.framework.mybatis.core.query.LambdaQueryWrapperX; 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.dal.dataobject.customer.CustomerDO; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; @@ -48,4 +49,6 @@ public interface CustomerMapper extends BaseMapperX { Long getUserByName(@Param("nickname") String nickname); Integer selectOldMaxCode(); + + List getLicenseCustomers(); } diff --git a/agt-module-license/agt-module-license-server/src/main/java/org/agt/module/license/dal/mysql/project/ProjectMapper.java b/agt-module-license/agt-module-license-server/src/main/java/org/agt/module/license/dal/mysql/project/ProjectMapper.java index 69860b3..610e6c7 100644 --- a/agt-module-license/agt-module-license-server/src/main/java/org/agt/module/license/dal/mysql/project/ProjectMapper.java +++ b/agt-module-license/agt-module-license-server/src/main/java/org/agt/module/license/dal/mysql/project/ProjectMapper.java @@ -83,4 +83,6 @@ public interface ProjectMapper extends BaseMapperX { Integer selectOldMaxCode(); IPage queryPage(IPage page, @Param("query") ProjectPageReqVO reqVO); + + List getLicenseProjects(@Param("query") ProjectListReqVO reqVO); } \ No newline at end of file diff --git a/agt-module-license/agt-module-license-server/src/main/java/org/agt/module/license/service/comment/CommentServiceImpl.java b/agt-module-license/agt-module-license-server/src/main/java/org/agt/module/license/service/comment/CommentServiceImpl.java index c040bd8..9c2ec82 100644 --- a/agt-module-license/agt-module-license-server/src/main/java/org/agt/module/license/service/comment/CommentServiceImpl.java +++ b/agt-module-license/agt-module-license-server/src/main/java/org/agt/module/license/service/comment/CommentServiceImpl.java @@ -7,7 +7,9 @@ import org.agt.module.license.controller.admin.comment.vo.CommentListReqVO; import org.agt.module.license.controller.admin.comment.vo.CommentSaveReqVO; import org.agt.module.license.controller.admin.comment.vo.CommentTreeRespVO; import org.agt.module.license.dal.dataobject.comment.CommentDO; +import org.agt.module.license.dal.dataobject.project.ProjectDO; import org.agt.module.license.dal.mysql.comment.CommentMapper; +import org.agt.module.license.dal.mysql.project.ProjectMapper; import org.springframework.stereotype.Service; import org.springframework.validation.annotation.Validated; @@ -36,6 +38,9 @@ public class CommentServiceImpl implements CommentService { @Resource private CommentMapper commentMapper; + @Resource + private ProjectMapper projectMapper; + @Override public Long createComment(CommentSaveReqVO createReqVO) { createReqVO.setUserId(WebFrameworkUtils.getLoginUserId()); @@ -50,6 +55,8 @@ public class CommentServiceImpl implements CommentService { // 插入 CommentDO comment = BeanUtils.toBean(createReqVO, CommentDO.class); commentMapper.insert(comment); + + projectMapper.updateById(new ProjectDO().setId(createReqVO.getProjectId())); // 返回 return comment.getId(); } @@ -66,6 +73,8 @@ public class CommentServiceImpl implements CommentService { // 更新 CommentDO updateObj = BeanUtils.toBean(updateReqVO, CommentDO.class); commentMapper.updateById(updateObj); + + projectMapper.updateById(new ProjectDO().setId(updateReqVO.getProjectId())); } @Override 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 ca7c123..15ad548 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.CustomerImportRespVO; 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.controller.admin.license.vo.ImportRespVO; @@ -91,4 +92,6 @@ public interface CustomerService { Integer selectMaxCode(); ImportRespVO importList(List list, Boolean updateSupport); + + List getLicenseCustomers(); } \ No newline at end of file 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 57bda9c..90f0a16 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 @@ -9,6 +9,7 @@ import org.agt.framework.common.util.object.BeanUtils; import org.agt.framework.ip.core.utils.AreaUtils; import org.agt.module.license.controller.admin.customer.vo.CustomerImportRespVO; 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.controller.admin.license.vo.ImportRespVO; @@ -236,4 +237,9 @@ public class CustomerServiceImpl implements CustomerService { return respVO; } + @Override + public List getLicenseCustomers() { + return customerMapper.getLicenseCustomers(); + } + } \ No newline at end of file diff --git a/agt-module-license/agt-module-license-server/src/main/java/org/agt/module/license/service/project/ProjectService.java b/agt-module-license/agt-module-license-server/src/main/java/org/agt/module/license/service/project/ProjectService.java index 3961974..668e94e 100644 --- a/agt-module-license/agt-module-license-server/src/main/java/org/agt/module/license/service/project/ProjectService.java +++ b/agt-module-license/agt-module-license-server/src/main/java/org/agt/module/license/service/project/ProjectService.java @@ -91,4 +91,6 @@ public interface ProjectService { Integer selectMaxCode(); ImportRespVO importList(List list, Boolean updateSupport); + + List getLicenseProjects(ProjectListReqVO reqVO); } \ No newline at end of file diff --git a/agt-module-license/agt-module-license-server/src/main/java/org/agt/module/license/service/project/ProjectServiceImpl.java b/agt-module-license/agt-module-license-server/src/main/java/org/agt/module/license/service/project/ProjectServiceImpl.java index dd4cf5f..0c22911 100644 --- a/agt-module-license/agt-module-license-server/src/main/java/org/agt/module/license/service/project/ProjectServiceImpl.java +++ b/agt-module-license/agt-module-license-server/src/main/java/org/agt/module/license/service/project/ProjectServiceImpl.java @@ -290,4 +290,9 @@ public class ProjectServiceImpl implements ProjectService { } return respVO; } + + @Override + public List getLicenseProjects(ProjectListReqVO reqVO) { + return projectMapper.getLicenseProjects(reqVO); + } } \ No newline at end of file diff --git a/agt-module-license/agt-module-license-server/src/main/resources/mapper/comment/CommentMapper.xml b/agt-module-license/agt-module-license-server/src/main/resources/mapper/comment/CommentMapper.xml index cbd7ff9..06e14eb 100644 --- a/agt-module-license/agt-module-license-server/src/main/resources/mapper/comment/CommentMapper.xml +++ b/agt-module-license/agt-module-license-server/src/main/resources/mapper/comment/CommentMapper.xml @@ -31,9 +31,10 @@ u.avatar, p.`name` project_name, p.status, - p.business_owner, - p.technical_owner_a, - CONCAT( cu.`code`, p.`code` ) serial_no + u2.nickname business_owner, + u3.nickname technical_owner_a, + l.serial_no, + cu.name customer_name FROM ( SELECT @@ -57,6 +58,12 @@ AND p.deleted = 0 LEFT JOIN crm_customer cu ON p.customer_id = cu.id AND cu.deleted = 0 + LEFT JOIN crm_license_server l ON p.id = l.project_id + AND l.deleted = 0 + LEFT JOIN system_users u2 ON p.business_owner = u2.id + AND u2.deleted = 0 + LEFT JOIN system_users u3 ON p.technical_owner_a = u3.id + AND u3.deleted = 0 where p.deleted = 0 ORDER BY c.update_time DESC 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 eea902d..83b9559 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 @@ -18,5 +18,18 @@ SELECT max(`code` + 0) from crm_customer where `code` + 0 < 2000 - + \ No newline at end of file diff --git a/agt-module-license/agt-module-license-server/src/main/resources/mapper/project/ProjectMapper.xml b/agt-module-license/agt-module-license-server/src/main/resources/mapper/project/ProjectMapper.xml index 8a02e91..d7f5003 100644 --- a/agt-module-license/agt-module-license-server/src/main/resources/mapper/project/ProjectMapper.xml +++ b/agt-module-license/agt-module-license-server/src/main/resources/mapper/project/ProjectMapper.xml @@ -69,4 +69,18 @@ p.id DESC + \ No newline at end of file