diff --git a/agt-module-license/agt-module-license-server/src/main/java/org/agt/module/license/controller/admin/license/vo/LicensePageReqVO.java b/agt-module-license/agt-module-license-server/src/main/java/org/agt/module/license/controller/admin/license/vo/LicensePageReqVO.java index fb6a1b8..cc3a305 100644 --- a/agt-module-license/agt-module-license-server/src/main/java/org/agt/module/license/controller/admin/license/vo/LicensePageReqVO.java +++ b/agt-module-license/agt-module-license-server/src/main/java/org/agt/module/license/controller/admin/license/vo/LicensePageReqVO.java @@ -65,4 +65,10 @@ public class LicensePageReqVO extends PageParam { @Schema(description = "创建时间") @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) private LocalDateTime[] createTime; + + @Schema(description = "排列字段") + private String sortField; + + @Schema(description = "排列顺序") + private String sortOrder; } \ 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/ProjectPageReqVO.java b/agt-module-license/agt-module-license-server/src/main/java/org/agt/module/license/controller/admin/project/vo/ProjectPageReqVO.java index 79f0ffd..d26908c 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 @@ -76,4 +76,10 @@ public class ProjectPageReqVO extends PageParam { @Schema(description = "客户ID", example = "111") private Long customerId; + + @Schema(description = "排列字段") + private String sortField; + + @Schema(description = "排列顺序") + private String sortOrder; } \ No newline at end of file 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 5a573cc..63de81d 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 @@ -576,6 +576,9 @@ public class LicenseServiceImpl implements LicenseService { @Override public PageResult getLicensePage(LicensePageReqVO pageReqVO) { + if (StrUtil.isNotBlank(pageReqVO.getSortField())) { + pageReqVO.setSortField(StrUtil.toUnderlineCase(pageReqVO.getSortField())); + } IPage page = licenseMapper.queryPage(new Page<>(pageReqVO.getPageNo(), pageReqVO.getPageSize()), pageReqVO); PageResult voPageResult = BeanUtils.toBean(new PageResult<>(page.getRecords(), page.getTotal()), LicenseRespVO.class); 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 943c8cc..f3cc4a4 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 @@ -118,6 +118,9 @@ public class ProjectServiceImpl implements ProjectService { @Override public PageResult getProjectPage(ProjectPageReqVO pageReqVO) { + if (StrUtil.isNotBlank(pageReqVO.getSortField())) { + pageReqVO.setSortField(StrUtil.toUnderlineCase(pageReqVO.getSortField())); + } IPage page = projectMapper.queryPage(new Page<>(pageReqVO.getPageNo(), pageReqVO.getPageSize()), pageReqVO); for (ProjectRespVO record : page.getRecords()) { diff --git a/agt-module-license/agt-module-license-server/src/main/resources/mapper/license/LicenseMapper.xml b/agt-module-license/agt-module-license-server/src/main/resources/mapper/license/LicenseMapper.xml index 9fc1d87..b6bfc0c 100644 --- a/agt-module-license/agt-module-license-server/src/main/resources/mapper/license/LicenseMapper.xml +++ b/agt-module-license/agt-module-license-server/src/main/resources/mapper/license/LicenseMapper.xml @@ -95,7 +95,16 @@ AND p.name LIKE CONCAT('%',#{query.projectName},'%') - ORDER BY - l.application_time DESC + + + + ORDER BY + ${query.sortField} ${query.sortOrder} + + + ORDER BY + l.application_time DESC + + \ 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 1f8991c..886b033 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 @@ -20,14 +20,34 @@ SELECT - p.*, - c.serial_no + p.* FROM - crm_project p - LEFT JOIN crm_license_server c ON p.id = c.project_id - AND c.deleted = 0 - WHERE - p.deleted = 0 + ( + SELECT + p.*, + l.serial_no, + ifnull( pc.comment_num, 0 ) comment_num, + ifnull( pl.apply_count, 0 ) apply_count + FROM + crm_project p + LEFT JOIN ( SELECT project_id, GROUP_CONCAT( serial_no ) serial_no FROM crm_license_server WHERE deleted = 0 GROUP BY project_id ) l ON p.id = l.project_id + LEFT JOIN ( SELECT c.project_id, count( c.id ) comment_num FROM crm_comment c WHERE c.deleted = 0 GROUP BY c.project_id ) pc ON p.id = pc.project_id + LEFT JOIN ( + SELECT + l.project_id, + count( lh.id ) + 1 apply_count + FROM + crm_license_server l + LEFT JOIN crm_license_server_history lh ON l.id = lh.license_id + AND lh.deleted = 0 + WHERE + l.deleted = 0 + GROUP BY + l.project_id + ) pl ON p.id = pl.project_id + WHERE + p.deleted = 0 + ) p AND p.customer_id = #{query.customerId} @@ -65,15 +85,24 @@ AND p.env_info LIKE CONCAT('%',#{query.envInfo},'%') - AND c.serial_no LIKE CONCAT('%',#{query.serialNo},'%') + AND p.serial_no LIKE CONCAT('%',#{query.serialNo},'%') AND (p.technical_owner_a = #{query.technicalOwner} OR p.technical_owner_b = #{query.technicalOwner} OR p.technical_owner_c = #{query.technicalOwner}) - ORDER BY - p.create_time DESC + + + ORDER BY + ${query.sortField} ${query.sortOrder} + + + ORDER BY + p.create_time DESC + + +