From f3aff3460203eef795e9b5a5b3dd41368cc5ec39 Mon Sep 17 00:00:00 2001 From: 疯狂的狮子li <15040126243@163.com> Date: 星期一, 16 一月 2023 11:16:37 +0800 Subject: [PATCH] update 优化 调整 system entity 实体与 controller 包结构 --- ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysDeptServiceImpl.java | 42 ++++++++++++++++++++++++++++++++---------- 1 files changed, 32 insertions(+), 10 deletions(-) diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysDeptServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysDeptServiceImpl.java index ac9f782..6067a7d 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysDeptServiceImpl.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysDeptServiceImpl.java @@ -7,10 +7,11 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.ruoyi.common.constant.UserConstants; -import com.ruoyi.common.core.domain.entity.SysDept; -import com.ruoyi.common.core.domain.entity.SysRole; -import com.ruoyi.common.core.domain.entity.SysUser; +import com.ruoyi.system.domain.SysDept; +import com.ruoyi.system.domain.SysRole; +import com.ruoyi.system.domain.SysUser; import com.ruoyi.common.exception.ServiceException; +import com.ruoyi.common.helper.DataBaseHelper; import com.ruoyi.common.helper.LoginHelper; import com.ruoyi.common.utils.StringUtils; import com.ruoyi.common.utils.TreeBuildUtils; @@ -21,6 +22,7 @@ import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; +import java.util.ArrayList; import java.util.Arrays; import java.util.List; @@ -57,6 +59,18 @@ } /** + * 鏌ヨ閮ㄩ棬鏍戠粨鏋勪俊鎭� + * + * @param dept 閮ㄩ棬淇℃伅 + * @return 閮ㄩ棬鏍戜俊鎭泦鍚� + */ + @Override + public List<Tree<Long>> selectDeptTreeList(SysDept dept) { + List<SysDept> depts = this.selectDeptList(dept); + return buildDeptTreeSelect(depts); + } + + /** * 鏋勫缓鍓嶇鎵�闇�瑕佷笅鎷夋爲缁撴瀯 * * @param depts 閮ㄩ棬鍒楄〃 @@ -83,7 +97,7 @@ @Override public List<Long> selectDeptListByRoleId(Long roleId) { SysRole role = roleMapper.selectById(roleId); - return baseMapper.selectDeptListByRoleId(roleId, role.isDeptCheckStrictly()); + return baseMapper.selectDeptListByRoleId(roleId, role.getDeptCheckStrictly()); } /** @@ -94,7 +108,11 @@ */ @Override public SysDept selectDeptById(Long deptId) { - return baseMapper.selectById(deptId); + SysDept dept = baseMapper.selectById(deptId); + SysDept parentDept = baseMapper.selectOne(new LambdaQueryWrapper<SysDept>() + .select(SysDept::getDeptName).eq(SysDept::getDeptId, dept.getParentId())); + dept.setParentName(ObjectUtil.isNotNull(parentDept) ? parentDept.getDeptName() : null); + return dept; } /** @@ -107,7 +125,7 @@ public long selectNormalChildrenDeptById(Long deptId) { return baseMapper.selectCount(new LambdaQueryWrapper<SysDept>() .eq(SysDept::getStatus, UserConstants.DEPT_NORMAL) - .apply("find_in_set({0}, ancestors)", deptId)); + .apply(DataBaseHelper.findInSet(deptId, "ancestors"))); } /** @@ -233,12 +251,16 @@ */ public void updateDeptChildren(Long deptId, String newAncestors, String oldAncestors) { List<SysDept> children = baseMapper.selectList(new LambdaQueryWrapper<SysDept>() - .apply("find_in_set({0},ancestors)", deptId)); + .apply(DataBaseHelper.findInSet(deptId, "ancestors"))); + List<SysDept> list = new ArrayList<>(); for (SysDept child : children) { - child.setAncestors(child.getAncestors().replaceFirst(oldAncestors, newAncestors)); + SysDept dept = new SysDept(); + dept.setDeptId(child.getDeptId()); + dept.setAncestors(child.getAncestors().replaceFirst(oldAncestors, newAncestors)); + list.add(dept); } - if (children.size() > 0) { - baseMapper.updateDeptChildren(children); + if (list.size() > 0) { + baseMapper.updateBatchById(list); } } -- Gitblit v1.9.3