From 20d40ea691ee75c70cbe1b11ec52cfbd4173c960 Mon Sep 17 00:00:00 2001 From: 疯狂的狮子li <15040126243@163.com> Date: 星期二, 13 四月 2021 15:29:05 +0800 Subject: [PATCH] update mp化 --- ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysDeptServiceImpl.java | 63 +++++++++++++++++++++++-------- 1 files changed, 47 insertions(+), 16 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 467e501..79a09e9 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 @@ -1,20 +1,26 @@ package com.ruoyi.system.service.impl; import cn.hutool.core.lang.Validator; +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ruoyi.common.annotation.DataScope; import com.ruoyi.common.constant.UserConstants; import com.ruoyi.common.core.domain.TreeSelect; 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.common.exception.CustomException; import com.ruoyi.system.mapper.SysDeptMapper; import com.ruoyi.system.mapper.SysRoleMapper; +import com.ruoyi.system.mapper.SysUserMapper; import com.ruoyi.system.service.ISysDeptService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.ArrayList; +import java.util.Arrays; import java.util.Iterator; import java.util.List; import java.util.stream.Collectors; @@ -32,6 +38,9 @@ @Autowired private SysRoleMapper roleMapper; + @Autowired + private SysUserMapper userMapper; + /** * 鏌ヨ閮ㄩ棬绠$悊鏁版嵁 * @@ -41,7 +50,15 @@ @Override @DataScope(deptAlias = "d") public List<SysDept> selectDeptList(SysDept dept) { - return deptMapper.selectDeptList(dept); + Object dataScope = dept.getParams().get("dataScope"); + return list(new LambdaQueryWrapper<SysDept>() + .eq(dept.getParentId() != null && dept.getParentId() != 0, + SysDept::getParentId, dept.getParentId()) + .like(StrUtil.isNotBlank(dept.getDeptName()), SysDept::getDeptName, dept.getDeptName()) + .eq(StrUtil.isNotBlank(dept.getStatus()), SysDept::getStatus, dept.getStatus()) + .apply(dataScope != null, dataScope != null ? dataScope.toString() : null) + .orderByAsc(SysDept::getParentId) + .orderByAsc(SysDept::getOrderNum)); } /** @@ -103,7 +120,7 @@ */ @Override public SysDept selectDeptById(Long deptId) { - return deptMapper.selectDeptById(deptId); + return getById(deptId); } /** @@ -114,7 +131,9 @@ */ @Override public int selectNormalChildrenDeptById(Long deptId) { - return deptMapper.selectNormalChildrenDeptById(deptId); + return count(new LambdaQueryWrapper<SysDept>() + .eq(SysDept::getStatus, 0) + .apply("find_in_set({0}, ancestors)", deptId)); } /** @@ -125,7 +144,9 @@ */ @Override public boolean hasChildByDeptId(Long deptId) { - int result = deptMapper.hasChildByDeptId(deptId); + int result = count(new LambdaQueryWrapper<SysDept>() + .eq(SysDept::getParentId, deptId) + .last("limit 1")); return result > 0 ? true : false; } @@ -137,7 +158,8 @@ */ @Override public boolean checkDeptExistUser(Long deptId) { - int result = deptMapper.checkDeptExistUser(deptId); + int result = userMapper.selectCount(new LambdaQueryWrapper<SysUser>() + .eq(SysUser::getDeptId, deptId)); return result > 0 ? true : false; } @@ -150,7 +172,10 @@ @Override public String checkDeptNameUnique(SysDept dept) { Long deptId = Validator.isNull(dept.getDeptId()) ? -1L : dept.getDeptId(); - SysDept info = deptMapper.checkDeptNameUnique(dept.getDeptName(), dept.getParentId()); + SysDept info = getOne(new LambdaQueryWrapper<SysDept>() + .eq(SysDept::getDeptName, dept.getDeptName()) + .eq(SysDept::getParentId, dept.getParentId()) + .last("limit 1")); if (Validator.isNotNull(info) && info.getDeptId().longValue() != deptId.longValue()) { return UserConstants.NOT_UNIQUE; } @@ -165,13 +190,13 @@ */ @Override public int insertDept(SysDept dept) { - SysDept info = deptMapper.selectDeptById(dept.getParentId()); + SysDept info = getById(dept.getParentId()); // 濡傛灉鐖惰妭鐐逛笉涓烘甯哥姸鎬�,鍒欎笉鍏佽鏂板瀛愯妭鐐� if (!UserConstants.DEPT_NORMAL.equals(info.getStatus())) { throw new CustomException("閮ㄩ棬鍋滅敤锛屼笉鍏佽鏂板"); } dept.setAncestors(info.getAncestors() + "," + dept.getParentId()); - return deptMapper.insertDept(dept); + return baseMapper.insert(dept); } /** @@ -182,15 +207,15 @@ */ @Override public int updateDept(SysDept dept) { - SysDept newParentDept = deptMapper.selectDeptById(dept.getParentId()); - SysDept oldDept = deptMapper.selectDeptById(dept.getDeptId()); + SysDept newParentDept = getById(dept.getParentId()); + SysDept oldDept = getById(dept.getDeptId()); if (Validator.isNotNull(newParentDept) && Validator.isNotNull(oldDept)) { String newAncestors = newParentDept.getAncestors() + "," + newParentDept.getDeptId(); String oldAncestors = oldDept.getAncestors(); dept.setAncestors(newAncestors); updateDeptChildren(dept.getDeptId(), newAncestors, oldAncestors); } - int result = deptMapper.updateDept(dept); + int result = baseMapper.updateById(dept); if (UserConstants.DEPT_NORMAL.equals(dept.getStatus())) { // 濡傛灉璇ラ儴闂ㄦ槸鍚敤鐘舵�侊紝鍒欏惎鐢ㄨ閮ㄩ棬鐨勬墍鏈変笂绾ч儴闂� updateParentDeptStatus(dept); @@ -205,9 +230,14 @@ */ private void updateParentDeptStatus(SysDept dept) { String updateBy = dept.getUpdateBy(); - dept = deptMapper.selectDeptById(dept.getDeptId()); + dept = getById(dept.getDeptId()); dept.setUpdateBy(updateBy); - deptMapper.updateDeptStatus(dept); + update(null,new LambdaUpdateWrapper<SysDept>() + .set(StrUtil.isNotBlank(dept.getStatus()), + SysDept::getStatus,dept.getStatus()) + .set(StrUtil.isNotBlank(dept.getUpdateBy()), + SysDept::getUpdateBy,dept.getUpdateBy()) + .in(SysDept::getDeptId, Arrays.asList(dept.getAncestors().split(",")))); } /** @@ -218,12 +248,13 @@ * @param oldAncestors 鏃х殑鐖禝D闆嗗悎 */ public void updateDeptChildren(Long deptId, String newAncestors, String oldAncestors) { - List<SysDept> children = deptMapper.selectChildrenDeptById(deptId); + List<SysDept> children = list(new LambdaQueryWrapper<SysDept>() + .apply("find_in_set({0},ancestors)",deptId)); for (SysDept child : children) { child.setAncestors(child.getAncestors().replace(oldAncestors, newAncestors)); } if (children.size() > 0) { - deptMapper.updateDeptChildren(children); + updateBatchById(children); } } @@ -235,7 +266,7 @@ */ @Override public int deleteDeptById(Long deptId) { - return deptMapper.deleteDeptById(deptId); + return baseMapper.deleteById(deptId); } /** -- Gitblit v1.9.3