Pārlūkot izejas kodu

添加系统编码树

李进 2 gadi atpakaļ
vecāks
revīzija
e5c1db3824

+ 20 - 0
sys-api-service/src/main/java/com/xy/service/SysCodeConfigureServiceImpl.java

@@ -122,6 +122,26 @@ public class SysCodeConfigureServiceImpl extends ServiceImpl<SysCodeConfigureMap
         return R.ok();
     }
 
+    @ApiOperation("编码树")
+    @PostMapping("tree")
+    public R<List<SysCodeConfigureDto.TreeVo>> tree(@RequestBody SysCodeConfigureDto.TreeDto treeDto) {
+        List<SysCodeConfigure> list = list(new LambdaQueryWrapper<SysCodeConfigure>()
+                .in(Emptys.check(treeDto.getCodes()), SysCodeConfigure::getCode, treeDto.getCodes())
+                .or()
+                .in(Emptys.check(treeDto.getCodes()), SysCodeConfigure::getPaterCode, treeDto.getCodes())
+        );
+        if (!Emptys.check(list)) {
+            return R.ok();
+        }
+        JList<SysCodeConfigureDto.TreeVo> treeVos = new JArrayList<>(copy(SysCodeConfigureDto.TreeVo.class, list));
+        JList<SysCodeConfigureDto.TreeVo> tops = treeVos.filter().isNull(SysCodeConfigureDto.TreeVo::getPaterCode).list();
+        for (SysCodeConfigureDto.TreeVo top : tops) {
+            List<SysCodeConfigureDto.TreeVo> sonVos = Beans.tree(top, treeVos, SysCodeConfigureDto.TreeVo::getCode, SysCodeConfigureDto.TreeVo::getPaterCode, SysCodeConfigureDto.TreeVo::getSonVos);
+            top.setSonVos(sonVos);
+        }
+        return R.ok(tops);
+    }
+
     /**
      * 刷新redis
      *

+ 16 - 0
sys-api/src/main/java/com/xy/dto/SysCodeConfigureDto.java

@@ -65,6 +65,22 @@ public class SysCodeConfigureDto {
         private List<String> code;
     }
 
+    @Data
+    @Accessors(chain = true)
+    public static class TreeDto {
+
+        @ApiModelProperty(value = "编码")
+        private List<String> codes;
+
+    }
+
+    @Data
+    @Accessors(chain = true)
+    public static class TreeVo extends Vo {
+
+        @ApiModelProperty(value = "子级编码")
+        private List<TreeVo> sonVos;
+    }
 
     @Data
     @Accessors(chain = true)