From 30076b98d2e200802f3dc647ca40209387209043 Mon Sep 17 00:00:00 2001 From: hansha Date: Thu, 9 May 2024 15:27:53 +0800 Subject: [PATCH] =?UTF-8?q?=E6=A1=A3=E6=A1=88=E7=9B=AE=E5=BD=95=E6=9F=A5?= =?UTF-8?q?=E8=AF=A2=E6=8C=89=E6=9D=83=E9=99=90=E3=80=81=E6=96=B0=E5=A2=9E?= =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E6=A0=A1=E9=AA=8C=E7=AD=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/da/common/core/domain/TreeSelect.java | 15 ++++++++--- .../common/core/domain/entity}/DaCatalog.java | 22 ++++++++++++---- .../controller/DaCatalogController.java | 25 ++++++++++++++++++- .../com/da/dangan/mapper/DaCatalogMapper.java | 7 ++++-- .../da/dangan/service/IDaCatalogService.java | 24 +++++++++++++++++- .../mapper/dangan/DaCatalogMapper.xml | 10 +++++++- 6 files changed, 90 insertions(+), 13 deletions(-) rename {dangan-dangan/src/main/java/com/da/dangan/domain => dangan-common/src/main/java/com/da/common/core/domain/entity}/DaCatalog.java (87%) diff --git a/dangan-common/src/main/java/com/da/common/core/domain/TreeSelect.java b/dangan-common/src/main/java/com/da/common/core/domain/TreeSelect.java index 976b577..f4e8076 100644 --- a/dangan-common/src/main/java/com/da/common/core/domain/TreeSelect.java +++ b/dangan-common/src/main/java/com/da/common/core/domain/TreeSelect.java @@ -1,11 +1,13 @@ package com.da.common.core.domain; +import com.da.common.core.domain.entity.DaCatalog; +import com.da.common.core.domain.entity.SysDept; +import com.da.common.core.domain.entity.SysMenu; +import com.fasterxml.jackson.annotation.JsonInclude; + import java.io.Serializable; import java.util.List; import java.util.stream.Collectors; -import com.fasterxml.jackson.annotation.JsonInclude; -import com.da.common.core.domain.entity.SysDept; -import com.da.common.core.domain.entity.SysMenu; /** * Treeselect树结构实体类 @@ -45,6 +47,13 @@ public class TreeSelect implements Serializable this.children = menu.getChildren().stream().map(TreeSelect::new).collect(Collectors.toList()); } + public TreeSelect(DaCatalog catalog) + { + this.id = catalog.getId(); + this.label = catalog.getMuName(); + this.children = catalog.getChildren().stream().map(TreeSelect::new).collect(Collectors.toList()); + } + public Long getId() { return id; diff --git a/dangan-dangan/src/main/java/com/da/dangan/domain/DaCatalog.java b/dangan-common/src/main/java/com/da/common/core/domain/entity/DaCatalog.java similarity index 87% rename from dangan-dangan/src/main/java/com/da/dangan/domain/DaCatalog.java rename to dangan-common/src/main/java/com/da/common/core/domain/entity/DaCatalog.java index d4b0aca..da26fd2 100644 --- a/dangan-dangan/src/main/java/com/da/dangan/domain/DaCatalog.java +++ b/dangan-common/src/main/java/com/da/common/core/domain/entity/DaCatalog.java @@ -1,9 +1,12 @@ -package com.da.dangan.domain; +package com.da.common.core.domain.entity; -import org.apache.commons.lang3.builder.ToStringBuilder; -import org.apache.commons.lang3.builder.ToStringStyle; import com.da.common.annotation.Excel; import com.da.common.core.domain.BaseEntity; +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; + +import java.util.ArrayList; +import java.util.List; /** * 档案目录对象 da_catalog @@ -41,13 +44,22 @@ public class DaCatalog extends BaseEntity /** 菜单状态(0正常 1停用) */ @Excel(name = "菜单状态", readConverterExp = "0=正常,1=停用") private String status; - + /** 子目录 */ + private List children = new ArrayList(); public void setId(Long id) { this.id = id; } - public Long getId() + public List getChildren() { + return children; + } + + public void setChildren(List children) { + this.children = children; + } + + public Long getId() { return id; } diff --git a/dangan-dangan/src/main/java/com/da/dangan/controller/DaCatalogController.java b/dangan-dangan/src/main/java/com/da/dangan/controller/DaCatalogController.java index d103a15..8c372fd 100644 --- a/dangan-dangan/src/main/java/com/da/dangan/controller/DaCatalogController.java +++ b/dangan-dangan/src/main/java/com/da/dangan/controller/DaCatalogController.java @@ -3,9 +3,9 @@ package com.da.dangan.controller; import com.da.common.annotation.Log; import com.da.common.core.controller.BaseController; import com.da.common.core.domain.AjaxResult; +import com.da.common.core.domain.entity.DaCatalog; import com.da.common.enums.BusinessType; import com.da.common.utils.poi.ExcelUtil; -import com.da.dangan.domain.DaCatalog; import com.da.dangan.service.IDaCatalogService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.security.access.prepost.PreAuthorize; @@ -38,6 +38,29 @@ public class DaCatalogController extends BaseController return success(catalogs); } + /** + * 获取目录下拉树列表 + */ + @GetMapping("/treeselect") + public AjaxResult treeselect(DaCatalog daCatalog) + { + List daCatalogs = daCatalogService.selectAllDaCatalogList(daCatalog, getUserId()); + return success(daCatalogService.buildCatalogTreeSelect(daCatalogs)); + } + + /** + * 加载对应用户勾选目录列表树 + */ + @GetMapping(value = "/userMenuTreeselect/{userId}") + public AjaxResult roleMenuTreeselect(@PathVariable("userId") Long userId) + { + List catalogs = daCatalogService.selectCatalogList(getUserId()); + AjaxResult ajax = AjaxResult.success(); + ajax.put("checkedKeys", daCatalogService.selectCatalogListByUserId(userId)); + ajax.put("catalogs", daCatalogService.buildCatalogTreeSelect(catalogs)); + return ajax; + } + /** * 导出档案目录列表 */ diff --git a/dangan-dangan/src/main/java/com/da/dangan/mapper/DaCatalogMapper.java b/dangan-dangan/src/main/java/com/da/dangan/mapper/DaCatalogMapper.java index 7491608..f3d1d3c 100644 --- a/dangan-dangan/src/main/java/com/da/dangan/mapper/DaCatalogMapper.java +++ b/dangan-dangan/src/main/java/com/da/dangan/mapper/DaCatalogMapper.java @@ -1,6 +1,7 @@ package com.da.dangan.mapper; -import com.da.dangan.domain.DaCatalog; +import com.da.common.core.domain.entity.DaCatalog; +import org.apache.ibatis.annotations.Param; import java.util.List; @@ -60,7 +61,9 @@ public interface DaCatalogMapper */ public int deleteDaCatalogByIds(Long[] ids); - DaCatalog checkDaCatalogNameUnique(String muName, Long pid); + DaCatalog checkDaCatalogNameUnique(@Param("muName") String muName, @Param("pid") Long pid); List selectDaCatalogListByUserId(DaCatalog daCatalog); + + List selectCatalogListByUserId(Long userId); } diff --git a/dangan-dangan/src/main/java/com/da/dangan/service/IDaCatalogService.java b/dangan-dangan/src/main/java/com/da/dangan/service/IDaCatalogService.java index a682f53..03a2dc5 100644 --- a/dangan-dangan/src/main/java/com/da/dangan/service/IDaCatalogService.java +++ b/dangan-dangan/src/main/java/com/da/dangan/service/IDaCatalogService.java @@ -1,6 +1,7 @@ package com.da.dangan.service; -import com.da.dangan.domain.DaCatalog; +import com.da.common.core.domain.TreeSelect; +import com.da.common.core.domain.entity.DaCatalog; import java.util.List; @@ -69,4 +70,25 @@ public interface IDaCatalogService public int deleteDaCatalogById(Long id); boolean checkDaCatalogNameUnique(DaCatalog daCatalog); + + List selectCatalogList(Long userId); + /** + * 构建前端所需要树结构 + * + * @param daCatalogs 目录列表 + * @return 树结构列表 + */ + List buildCatalogTree(List daCatalogs); + + /** + * 构建前端所需要下拉树结构 + * + * @param catalogs 目录列表 + * @return 下拉树结构列表 + */ + List buildCatalogTreeSelect(List catalogs); + + List selectCatalogListByUserId(Long userId); + + } diff --git a/dangan-dangan/src/main/resources/mapper/dangan/DaCatalogMapper.xml b/dangan-dangan/src/main/resources/mapper/dangan/DaCatalogMapper.xml index 32d3dbb..6fd0668 100644 --- a/dangan-dangan/src/main/resources/mapper/dangan/DaCatalogMapper.xml +++ b/dangan-dangan/src/main/resources/mapper/dangan/DaCatalogMapper.xml @@ -49,7 +49,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" select distinct c.* from da_catalog c left join da_user_catalog uc on c.id = uc.mu_id - where ur.user_id = #{params.userId} + where uc.user_id = #{params.userId} AND c.mu_name like concat('%', #{muName}, '%') @@ -58,6 +58,14 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" order by c.pid, c.order_num + + insert into da_catalog