From 2d928646669fe6026c7d63f6b409d9b2790aa65e Mon Sep 17 00:00:00 2001
From: 龚焕茏 <2842157468@qq.com>
Date: 星期五, 19 七月 2024 16:09:20 +0800
Subject: [PATCH] feat:设置部门管理员报错解决

---
 src/main/java/com/mindskip/xzs/service/impl/DepartmentServiceImpl.java |   39 ++++++++++++++++++++++-----------------
 1 files changed, 22 insertions(+), 17 deletions(-)

diff --git a/src/main/java/com/mindskip/xzs/service/impl/DepartmentServiceImpl.java b/src/main/java/com/mindskip/xzs/service/impl/DepartmentServiceImpl.java
index f723447..0389eab 100644
--- a/src/main/java/com/mindskip/xzs/service/impl/DepartmentServiceImpl.java
+++ b/src/main/java/com/mindskip/xzs/service/impl/DepartmentServiceImpl.java
@@ -58,15 +58,19 @@
         if (Objects.isNull(entity)) {
             throw new RuntimeException("璇ラ儴闂ㄤ笉瀛樺湪");
         }
+        // 鍏堟竻闄や箣鍓嶇殑绠$悊鍛樻爣璇�
+        List<BaseSelect> deptUserList = userDepartmentMapper.getDeptUserList(entity.getId());
+        List<Integer> userIds = deptUserList.stream().map(BaseSelect::getId).collect(Collectors.toList());
+        if (! CollectionUtils.isEmpty(userIds)) {
+            userMapper.clearDeptAdmin(userIds, entity.getId());
+            userMapper.cancelUserDeptAdmin(userIds);
+        }
+        // 璁剧疆閮ㄩ棬绠$悊鍛�
         if (! CollectionUtils.isEmpty(department.getAdminId())) {
-            List<BaseSelect> deptUserList = userDepartmentMapper.getDeptUserList(entity.getId());
-            List<Integer> userIds = deptUserList.stream().map(BaseSelect::getId).collect(Collectors.toList());
-            if (! CollectionUtils.isEmpty(userIds)) {
-                // 鍏堟竻闄や箣鍓嶇殑绠$悊鍛樻爣璇�
-                userMapper.clearDeptAdmin(userIds, entity.getId());
-            }
-            // 鏍囪瘑閮ㄩ棬绠$悊鍛�
             userMapper.updateDeptAdmin(department.getAdminId(), DeptAdminEnum.YES.getValue(), entity.getId());
+            UpdateDeptAdminVO updateDeptAdminVO = new UpdateDeptAdminVO();
+            updateDeptAdminVO.setAdminIds(department.getAdminId());
+            userMapper.updateUserDeptAdmin(updateDeptAdminVO);
         }
         if (Objects.nonNull(department.getParentId())) {
             // 鏌ュ嚭鐖剁骇鐨勫眰绾�
@@ -133,6 +137,7 @@
             Collections.reverse(fatherList);
             vo.setParentIds(fatherList);
         }
+        vo.setAdminId(userDepartmentMapper.selectDeptAdmin(id));
         return vo;
     }
 
@@ -163,20 +168,20 @@
         if (Objects.isNull(entity)) {
             throw new RuntimeException("璇ラ儴闂ㄤ笉瀛樺湪");
         }
+        List<BaseSelect> deptUserList = userDepartmentMapper.getDeptUserList(entity.getId());
+        List<Integer> userIds = deptUserList.stream().map(BaseSelect::getId).collect(Collectors.toList());
+        if (! CollectionUtils.isEmpty(userIds)) {
+            // 鍏堟竻闄や箣鍓嶇殑绠$悊鍛樻爣璇�
+            userMapper.clearDeptAdmin(userIds, entity.getId());
+            // 淇敼娌¤閫夋嫨鐨勭敤鎴峰苟涓斾笉鏄埆鐨勯儴闂ㄧ鐞嗗憳鐨勭敤鎴疯鑹蹭负1
+            userMapper.cancelUserDeptAdmin(userIds);
+        }
         if (! CollectionUtils.isEmpty(form.getAdminIds())) {
-            List<BaseSelect> deptUserList = userDepartmentMapper.getDeptUserList(entity.getId());
-            List<Integer> userIds = deptUserList.stream().map(BaseSelect::getId).collect(Collectors.toList());
-            if (! CollectionUtils.isEmpty(userIds)) {
-                // 鍏堟竻闄や箣鍓嶇殑绠$悊鍛樻爣璇�
-                userMapper.clearDeptAdmin(userIds, entity.getId());
-            }
             // 鏍囪瘑閮ㄩ棬绠$悊鍛�
             userMapper.updateDeptAdmin(form.getAdminIds(), DeptAdminEnum.YES.getValue(), entity.getId());
+            // 淇敼琚�夋嫨鐨勭敤鎴蜂负閮ㄩ棬绠$悊鍛�
+            userMapper.updateUserDeptAdmin(form);
         }
-        // 淇敼琚�夋嫨鐨勭敤鎴蜂负閮ㄩ棬绠$悊鍛�
-        userMapper.updateUserDeptAdmin(form);
-        // 淇敼娌¤閫夋嫨鐨勭敤鎴峰苟涓斾笉鏄埆鐨勯儴闂ㄧ鐞嗗憳鐨勭敤鎴疯鑹蹭负1
-        userMapper.cancelUserDeptAdmin(form);
     }
 
     @Override

--
Gitblit v1.8.0