From 2558415c2dad2dbf702413855521550407b827d8 Mon Sep 17 00:00:00 2001 From: lijiarao Date: Fri, 25 Aug 2023 10:40:11 +0800 Subject: [PATCH] =?UTF-8?q?update=20=E6=A0=87=E7=AD=BE=E7=AE=A1=E7=90=86-?= =?UTF-8?q?=E6=A0=91=E5=BD=A2=E6=9F=A5=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../system/controller/SysDictItemController.java | 16 ++++++++-------- .../jero/modules/system/entity/SysDictItem.java | 5 +++++ 2 files changed, 13 insertions(+), 8 deletions(-) diff --git a/jero-boot-module-system/src/main/java/com/jero/modules/system/controller/SysDictItemController.java b/jero-boot-module-system/src/main/java/com/jero/modules/system/controller/SysDictItemController.java index 8963eb92..54bd0568 100644 --- a/jero-boot-module-system/src/main/java/com/jero/modules/system/controller/SysDictItemController.java +++ b/jero-boot-module-system/src/main/java/com/jero/modules/system/controller/SysDictItemController.java @@ -98,12 +98,14 @@ public class SysDictItemController { List sysDictItems = sysDictItemService.list(queryWrapper); //当查询结果中有数据的父级不存在时,赋值父级id为"0" List idList = sysDictItems.stream().map(SysDictItem::getId).collect(Collectors.toList()); - //保存数据中的父级id - Map map1 = CollStreamUtil.toMap(sysDictItems, SysDictItem::getId, SysDictItem::getParentId); idList.add("0"); + //赋值pId sysDictItems.forEach(i ->{ - if (!idList.contains(i.getParentId())) { - i.setParentId("0"); + String parentId = i.getParentId(); + if (idList.contains(parentId)) { + i.setPId(parentId); + }else { + i.setPId("0"); } }); //配置 @@ -119,16 +121,14 @@ public class SysDictItemController { (treeNode, tree) -> { String id = treeNode.getId(); tree.setId(id); - tree.setParentId(treeNode.getParentId()); + tree.setParentId(treeNode.getPId()); tree.setWeight(treeNode.getSortOrder()); tree.setName(treeNode.getItemText()); // 扩展属性 ... - Map map = BeanUtil.beanToMap(treeNode,"dictId","itemText","itemValue","enName","description","sortOrder","status"); + Map map = BeanUtil.beanToMap(treeNode,"dictId","parentId","itemText","itemValue","enName","description","sortOrder","status"); for (String s : map.keySet()) { tree.putExtra(s, map.get(s)); } - String parentId = map1.get(id); - tree.putExtra("parentId",parentId); }); JSONArray jsonArray = JSONArray.parseArray(JSON.toJSONString(treeNodes,SerializerFeature.WriteMapNullValue)); diff --git a/jero-boot-module-system/src/main/java/com/jero/modules/system/entity/SysDictItem.java b/jero-boot-module-system/src/main/java/com/jero/modules/system/entity/SysDictItem.java index 4614db36..927142d9 100644 --- a/jero-boot-module-system/src/main/java/com/jero/modules/system/entity/SysDictItem.java +++ b/jero-boot-module-system/src/main/java/com/jero/modules/system/entity/SysDictItem.java @@ -43,6 +43,11 @@ public class SysDictItem implements Serializable { * 父级id */ private String parentId; + /** + * 父级id(树形结构使用) + */ + @TableField(exist = false) + private String pId; /** * 字典项文本