diff --git a/crm-dict/pom.xml b/crm-dict/pom.xml index aa2b885..7f36aae 100644 --- a/crm-dict/pom.xml +++ b/crm-dict/pom.xml @@ -50,8 +50,6 @@ org.mybatis mybatis-spring - 3.0.3 - compile diff --git a/crm-dict/src/main/java/com/crm/dict/domain/dto/DictGroupVO.java b/crm-dict/src/main/java/com/crm/dict/domain/dto/DictGroupVO.java index 59594b7..8d127af 100644 --- a/crm-dict/src/main/java/com/crm/dict/domain/dto/DictGroupVO.java +++ b/crm-dict/src/main/java/com/crm/dict/domain/dto/DictGroupVO.java @@ -1,16 +1,33 @@ package com.crm.dict.domain.dto; -import com.crm.dict.domain.entity.DictGroup; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; -import lombok.EqualsAndHashCode; + +import java.time.LocalDateTime; /** * 字典分组视图对象:分页列表展示用 + *

独立字段(不继承实体),只暴露前端需要的业务字段 + createTime, + * 排除审计字段(creatorId/updaterId/updateTime/deleted)和软删内部字段(deleteKey)。

*/ @Data -@EqualsAndHashCode(callSuper = true) -public class DictGroupVO extends DictGroup { +public class DictGroupVO { + + private Long id; + + private String name; + + private String code; + + private Integer sortNo; + + private Integer status; + + private String description; + + private Boolean builtin; + + private LocalDateTime createTime; @Schema(description = "分组下未删除的字典项数量(含启用+停用)") private Long itemCount; diff --git a/crm-dict/src/main/java/com/crm/dict/domain/dto/DictItemVO.java b/crm-dict/src/main/java/com/crm/dict/domain/dto/DictItemVO.java index 4e5fd48..524d088 100644 --- a/crm-dict/src/main/java/com/crm/dict/domain/dto/DictItemVO.java +++ b/crm-dict/src/main/java/com/crm/dict/domain/dto/DictItemVO.java @@ -1,18 +1,39 @@ package com.crm.dict.domain.dto; -import com.crm.dict.domain.entity.DictItem; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; -import lombok.EqualsAndHashCode; + +import java.time.LocalDateTime; /** * 字典项视图对象:分页列表展示用 *

referenced 读实时引用计数(绝不进缓存);effectiveSelectable 供前端对 - * "自身启用但所属分组已停用"的失活项做视觉标记。

+ * "自身启用但所属分组已停用"的失活项做视觉标记。 + * 独立字段(不继承实体),只暴露前端需要的业务字段 + createTime, + * 排除审计字段(creatorId/updaterId/updateTime/deleted)和软删内部字段(deleteKey)。

*/ @Data -@EqualsAndHashCode(callSuper = true) -public class DictItemVO extends DictItem { +public class DictItemVO { + + private Long id; + + private Long groupId; + + private String name; + + private String code; + + private String value; + + private Integer sortNo; + + private Integer status; + + private String description; + + private Boolean builtin; + + private LocalDateTime createTime; @Schema(description = "所属分组名称") private String groupName; diff --git a/crm-dict/src/main/java/com/crm/dict/service/impl/DictGroupServiceImpl.java b/crm-dict/src/main/java/com/crm/dict/service/impl/DictGroupServiceImpl.java index 8144740..ee3d5ca 100644 --- a/crm-dict/src/main/java/com/crm/dict/service/impl/DictGroupServiceImpl.java +++ b/crm-dict/src/main/java/com/crm/dict/service/impl/DictGroupServiceImpl.java @@ -162,7 +162,7 @@ public class DictGroupServiceImpl extends BaseServiceImpl ids = vos.stream().map(DictGroup::getId).collect(Collectors.toList()); + List ids = vos.stream().map(DictGroupVO::getId).collect(Collectors.toList()); List> counts = dictItemMapper.selectMaps(new QueryWrapper() .select("group_id AS group_id", "COUNT(*) AS item_count") .in("group_id", ids) diff --git a/crm-dict/src/main/java/com/crm/dict/service/impl/DictItemServiceImpl.java b/crm-dict/src/main/java/com/crm/dict/service/impl/DictItemServiceImpl.java index 13e9a5a..e1f7c8e 100644 --- a/crm-dict/src/main/java/com/crm/dict/service/impl/DictItemServiceImpl.java +++ b/crm-dict/src/main/java/com/crm/dict/service/impl/DictItemServiceImpl.java @@ -291,7 +291,7 @@ public class DictItemServiceImpl extends BaseServiceImpl groupIds = vos.stream().map(DictItem::getGroupId).collect(Collectors.toSet()); + Set groupIds = vos.stream().map(DictItemVO::getGroupId).collect(Collectors.toSet()); Map groups = dictGroupMapper.selectBatchIds(groupIds).stream() .collect(Collectors.toMap(DictGroup::getId, g -> g)); Map defaultMap = dictGroupDefaultMapper.selectList( diff --git a/crm-dict/src/test/java/com/crm/dict/service/impl/DictGroupServiceTest.java b/crm-dict/src/test/java/com/crm/dict/service/impl/DictGroupServiceTest.java index 2a57dea..4e4ea39 100644 --- a/crm-dict/src/test/java/com/crm/dict/service/impl/DictGroupServiceTest.java +++ b/crm-dict/src/test/java/com/crm/dict/service/impl/DictGroupServiceTest.java @@ -45,18 +45,18 @@ class DictGroupServiceTest extends AbstractDictH2Test { GroupPageParam byName = new GroupPageParam(); byName.setKeyword("来源"); - assertThat(dictGroupService.pageGroups(byName).getContent()).extracting(DictGroup::getCode) + assertThat(dictGroupService.pageGroups(byName).getContent()).extracting(DictGroupVO::getCode) .containsExactly("lead_source"); GroupPageParam byCode = new GroupPageParam(); byCode.setKeyword("industry"); - assertThat(dictGroupService.pageGroups(byCode).getContent()).extracting(DictGroup::getCode) + assertThat(dictGroupService.pageGroups(byCode).getContent()).extracting(DictGroupVO::getCode) .containsExactly("industry"); dictGroupService.updateGroupStatus(g1.getId(), DictConstants.STATUS_DISABLED); GroupPageParam onlyEnabled = new GroupPageParam(); onlyEnabled.setStatus(DictConstants.STATUS_ENABLED); - assertThat(dictGroupService.pageGroups(onlyEnabled).getContent()).extracting(DictGroup::getCode) + assertThat(dictGroupService.pageGroups(onlyEnabled).getContent()).extracting(DictGroupVO::getCode) .containsExactly("industry"); } diff --git a/pom.xml b/pom.xml index 69dc47a..e5ef59a 100644 --- a/pom.xml +++ b/pom.xml @@ -41,6 +41,7 @@ 33.2.1-jre 4.5.0 3.0.3 + 3.0.3 @@ -109,6 +110,13 @@ ${knife4j.version} + + + org.mybatis + mybatis-spring + ${mybatis-spring.version} + + org.apache.pdfbox