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 =