Преглед изворни кода

财务-基础-字典功能开发

wanghao пре 5 месеци
родитељ
комит
57e8f41a38

+ 4 - 0
commons/src/main/java/com/jzg/commons/entity/vo/SysDictVo.java

@@ -20,6 +20,10 @@ public class SysDictVo extends SysDict {
 
     private List<SysDictVo> child;
 
+    public SysDictVo() {
+        super();
+    }
+
     public SysDictVo(SysDict sysDict) {
         super(sysDict);
     }

+ 2 - 2
platform/src/main/resources/application-dev.yml

@@ -8,10 +8,10 @@ spring:
       password: nacos
       config:
         file-extension: yaml
-        namespace: 9fceaca4-c1d2-4bb8-aac9-f64d4b7de73c
+        namespace: 353f8f05-4d2c-4a17-b64d-b678408f5759
         group: DEFAULT_GROUP
       discovery:
-        namespace: 9fceaca4-c1d2-4bb8-aac9-f64d4b7de73c
+        namespace: 353f8f05-4d2c-4a17-b64d-b678408f5759
   config:
     import:
       - nacos:mysql

+ 9 - 10
tenant/organization/src/main/java/com/jzg/organization/service/impl/SysDictServiceImpl.java

@@ -20,10 +20,7 @@ import org.springframework.stereotype.Service;
 import org.springframework.util.CollectionUtils;
 
 import java.time.Duration;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Map;
-import java.util.Objects;
+import java.util.*;
 import java.util.stream.Collectors;
 
 import static com.jzg.commons.constants.RedisKeyConstants.DICT_REDIS_KEY;
@@ -42,11 +39,11 @@ public class SysDictServiceImpl extends ServiceImpl<SysDictMapper, SysDict> impl
         queryWrapper.orderByAsc(SysDict::getSort);
         List<SysDict> list = list(queryWrapper);
         List<SysDictVo> collect = list.stream().map(SysDictVo::new)
-                .sorted((e1, e2) -> {
-                    return e1.getCreateTime().compareTo(e2.getCreateTime());
-                }).collect(Collectors.toList());
-        Map<String, List<SysDictVo>> map = collect.stream().collect(Collectors.groupingBy(SysDictVo::getParentValue));
-        collect.forEach(i -> i.setChild(map.getOrDefault(i.getParentValue(), new ArrayList<>())));
+                .sorted(Comparator.comparing(SysDictVo::getCreateTime, Comparator.nullsLast(Comparator.naturalOrder())))
+                .collect(Collectors.toList());
+        Map<String, List<SysDictVo>> map = collect.stream()
+                .collect(Collectors.groupingBy(vo -> Objects.requireNonNullElse(vo.getParentValue(), "0")));
+        collect.forEach(i -> i.setChild(map.getOrDefault(i.getId(), new ArrayList<>())));
         return map.get("0");
     }
 
@@ -107,7 +104,9 @@ public class SysDictServiceImpl extends ServiceImpl<SysDictMapper, SysDict> impl
         AssertionUtils.isFail(StringUtils.isBlank(sysDictVo.getValue()), "类目名称不能为空");
         if (isAdd) {
             if (this.count(new LambdaQueryWrapper<SysDict>()
-                    .eq(SysDict::getValue, sysDictVo.getValue())) > 0) {
+                    .eq(SysDict::getValue, sysDictVo.getValue())
+                    .eq(SysDict::getTypeCode, sysDictVo.getTypeCode())
+            ) > 0) {
                 throw new SystemException("类目名称已存在");
             }
         } else {