From 23a50b66dbbbf5d7a3ddc773a2fab180c4789d40 Mon Sep 17 00:00:00 2001 From: dongzeliang <2746733890@qq.com> Date: Sun, 19 Jan 2025 00:01:31 +0800 Subject: [PATCH] =?UTF-8?q?feat()=EF=BC=9A=E9=83=A8=E9=97=A8=E7=9B=B8?= =?UTF-8?q?=E5=85=B3=E5=86=85=E5=AE=B9=E4=BD=BF=E7=94=A8mybatis-plus?= =?UTF-8?q?=E5=A4=84=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/muyu/common/core/text/Convert.java | 11 +++++ .../system/controller/SysDeptController.java | 3 +- .../com/muyu/system/mapper/SysDeptMapper.java | 18 -------- .../muyu/system/service/SysDeptService.java | 2 +- .../service/impl/SysDeptServiceImpl.java | 36 +++++++-------- .../resources/mapper/system/SysDeptMapper.xml | 45 ------------------- 6 files changed, 32 insertions(+), 83 deletions(-) diff --git a/cloud-common/cloud-common-core/src/main/java/com/muyu/common/core/text/Convert.java b/cloud-common/cloud-common-core/src/main/java/com/muyu/common/core/text/Convert.java index 1730c9c..08630a6 100644 --- a/cloud-common/cloud-common-core/src/main/java/com/muyu/common/core/text/Convert.java +++ b/cloud-common/cloud-common-core/src/main/java/com/muyu/common/core/text/Convert.java @@ -8,6 +8,7 @@ import java.math.RoundingMode; import java.nio.ByteBuffer; import java.nio.charset.Charset; import java.text.NumberFormat; +import java.util.List; import java.util.Set; /** @@ -278,6 +279,16 @@ public class Convert { public static Long[] toLongArray (String str) { return toLongArray(",", str); } + /** + * 转换为Long数组
+ * + * @param str 被转换的值 + * + * @return 结果 + */ + public static List toLongList (String str) { + return List.of(toLongArray(",", str)); + } /** * 转换为Integer数组
diff --git a/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/controller/SysDeptController.java b/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/controller/SysDeptController.java index c3a2f52..1bf2de6 100644 --- a/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/controller/SysDeptController.java +++ b/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/controller/SysDeptController.java @@ -99,7 +99,8 @@ public class SysDeptController extends BaseController { return error("该部门包含未停用的子部门!"); } dept.setUpdateBy(SecurityUtils.getUsername()); - return toAjax(deptService.updateDept(dept)); + deptService.updateDept(dept); + return success(); } /** diff --git a/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/mapper/SysDeptMapper.java b/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/mapper/SysDeptMapper.java index 42871ec..dac7df2 100644 --- a/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/mapper/SysDeptMapper.java +++ b/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/mapper/SysDeptMapper.java @@ -70,24 +70,6 @@ public interface SysDeptMapper extends BaseMapper { */ public SysDept checkDeptNameUnique (@Param("deptName") String deptName, @Param("parentId") Long parentId); - /** - * 新增部门信息 - * - * @param dept 部门信息 - * - * @return 结果 - */ - public int insertDept (SysDept dept); - - /** - * 修改部门信息 - * - * @param dept 部门信息 - * - * @return 结果 - */ - public int updateDept (SysDept dept); - /** * 修改所在部门正常状态 * diff --git a/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/service/SysDeptService.java b/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/service/SysDeptService.java index a9576f1..1b3c416 100644 --- a/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/service/SysDeptService.java +++ b/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/service/SysDeptService.java @@ -124,7 +124,7 @@ public interface SysDeptService extends IService { * * @return 结果 */ - public int updateDept (SysDept dept); + public void updateDept (SysDept dept); /** * 删除部门管理信息 diff --git a/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/service/impl/SysDeptServiceImpl.java b/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/service/impl/SysDeptServiceImpl.java index 3f4363f..c705233 100644 --- a/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/service/impl/SysDeptServiceImpl.java +++ b/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/service/impl/SysDeptServiceImpl.java @@ -199,15 +199,13 @@ public class SysDeptServiceImpl extends ServiceImpl Assert.notNull(checkDeptNameUniqueModel.getDeptName(), "部门名称不可为空"); LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); queryWrapper.eq(SysDept::getDeptName, checkDeptNameUniqueModel.getDeptName()); + // 若不传入部门ID则查询内容为所有部门不唯一 queryWrapper.eq(Objects.nonNull(checkDeptNameUniqueModel.getParentDeptId()), SysDept::getParentId, checkDeptNameUniqueModel.getParentDeptId()); + //部门的状态必须为正常才可进行判断 queryWrapper.eq(SysDept::getStatus, SysDelFlag.EXIST.getCode()); - - Long deptId = StringUtils.isNull(checkDeptNameUniqueModel.getDeptId()) ? -1L : checkDeptNameUniqueModel.getDeptId(); - SysDept info = deptMapper.checkDeptNameUnique(checkDeptNameUniqueModel.getDeptName(), checkDeptNameUniqueModel.getParentDeptId()); - if (StringUtils.isNotNull(info) && info.getDeptId().longValue() != deptId.longValue()) { - return UserConstants.NOT_UNIQUE; - } - return UserConstants.UNIQUE; + // 如果存在传入的部门则校验除了当前部门之外的其他部门 + queryWrapper.ne(Objects.nonNull(checkDeptNameUniqueModel.getDeptId()),SysDept::getDeptId, checkDeptNameUniqueModel.getDeptId()); + return this.count(queryWrapper) == 0 ? UserConstants.NOT_UNIQUE : UserConstants.UNIQUE; } /** @@ -252,7 +250,7 @@ public class SysDeptServiceImpl extends ServiceImpl * @return 结果 */ @Override - public int updateDept (SysDept dept) { + public void updateDept (SysDept dept) { SysDept newParentDept = this.getById(dept.getParentId()); SysDept oldDept = this.getById(dept.getDeptId()); if (StringUtils.isNotNull(newParentDept) && StringUtils.isNotNull(oldDept)) { @@ -261,13 +259,12 @@ public class SysDeptServiceImpl extends ServiceImpl dept.setAncestors(newAncestors); updateDeptChildren(dept.getDeptId(), newAncestors, oldAncestors); } - int result = deptMapper.updateDept(dept); + this.updateById(dept); if (UserConstants.DEPT_NORMAL.equals(dept.getStatus()) && StringUtils.isNotEmpty(dept.getAncestors()) && !StringUtils.equals("0", dept.getAncestors())) { // 如果该部门是启用状态,则启用该部门的所有上级部门 updateParentDeptStatusNormal(dept); } - return result; } /** @@ -277,8 +274,10 @@ public class SysDeptServiceImpl extends ServiceImpl */ private void updateParentDeptStatusNormal (SysDept dept) { String ancestors = dept.getAncestors(); - Long[] deptIds = Convert.toLongArray(ancestors); - deptMapper.updateDeptStatusNormal(deptIds); + List deptIdList = Convert.toLongList(ancestors); + LambdaUpdateWrapper updateWrapper = new LambdaUpdateWrapper<>(); + updateWrapper.set(SysDept::getStatus, SysNormalDisable.ENABLE.getCode()); + updateWrapper.in(SysDept::getDeptId, deptIdList); } /** @@ -332,14 +331,14 @@ public class SysDeptServiceImpl extends ServiceImpl /** * 得到子节点列表 */ - private List getChildList (List list, SysDept t) { - List tlist = new ArrayList(); - for (SysDept n : list) { - if (StringUtils.isNotNull(n.getParentId()) && n.getParentId().longValue() == t.getDeptId().longValue()) { - tlist.add(n); + private List getChildList (List list, SysDept parentSysDept) { + List childSysDeptList = new ArrayList<>(); + for (SysDept childSysDept : list) { + if (StringUtils.isNotNull(childSysDept.getParentId()) && childSysDept.getParentId().longValue() == parentSysDept.getDeptId().longValue()) { + childSysDeptList.add(childSysDept); } } - return tlist; + return childSysDeptList; } /** @@ -356,6 +355,7 @@ public class SysDeptServiceImpl extends ServiceImpl * * @return 部门列表 */ + @Override public List selectChildrenDeptById (Long deptId){ LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); queryWrapper.apply("FIND_IN_SET('" + deptId + "', type)"); diff --git a/cloud-modules/cloud-modules-system/src/main/resources/mapper/system/SysDeptMapper.xml b/cloud-modules/cloud-modules-system/src/main/resources/mapper/system/SysDeptMapper.xml index d812d2f..7ac54c8 100644 --- a/cloud-modules/cloud-modules-system/src/main/resources/mapper/system/SysDeptMapper.xml +++ b/cloud-modules/cloud-modules-system/src/main/resources/mapper/system/SysDeptMapper.xml @@ -98,51 +98,6 @@ where dept_name=#{deptName} and parent_id = #{parentId} and del_flag = '0' limit 1 - - insert into sys_dept( - dept_id, - parent_id, - dept_name, - ancestors, - order_num, - leader, - phone, - email, - status, - create_by, - create_time - )values( - #{deptId}, - #{parentId}, - #{deptName}, - #{ancestors}, - #{orderNum}, - #{leader}, - #{phone}, - #{email}, - #{status}, - #{createBy}, - sysdate() - ) - - - - update sys_dept - - parent_id = #{parentId}, - dept_name = #{deptName}, - ancestors = #{ancestors}, - order_num = #{orderNum}, - leader = #{leader}, - phone = #{phone}, - email = #{email}, - status = #{status}, - update_by = #{updateBy}, - update_time = sysdate() - - where dept_id = #{deptId} - - update sys_dept set ancestors =