From 13a68df58b3f937db5ba6437c814bafdcd8d37f8 Mon Sep 17 00:00:00 2001
From: xiangpei <xiangpei@timesnew.cn>
Date: 星期一, 27 五月 2024 16:09:41 +0800
Subject: [PATCH] 登录时如果不是部门管理员则deptIds填充为用户所在部门

---
 src/main/java/com/mindskip/xzs/controller/admin/UserController.java |   15 ++++++++-------
 1 files changed, 8 insertions(+), 7 deletions(-)

diff --git a/src/main/java/com/mindskip/xzs/controller/admin/UserController.java b/src/main/java/com/mindskip/xzs/controller/admin/UserController.java
index 49a14b9..8478851 100644
--- a/src/main/java/com/mindskip/xzs/controller/admin/UserController.java
+++ b/src/main/java/com/mindskip/xzs/controller/admin/UserController.java
@@ -21,10 +21,7 @@
 import org.springframework.web.multipart.MultipartFile;
 
 import javax.validation.Valid;
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.List;
-import java.util.UUID;
+import java.util.*;
 import java.util.stream.Collectors;
 
 
@@ -53,9 +50,7 @@
     @RequestMapping(value = "/page/list", method = RequestMethod.POST)
     public RestResponse<PageInfo<UserResponseVM>> pageList(@RequestBody UserPageRequestVM model) {
         model.setDepartmentId(ObjectUtils.isNotEmpty(model.getDepartmentId()) ? model.getDepartmentId() : getAdminDeptIds());
-        PageInfo<User> pageInfo = userService.userPage(model);
-        PageInfo<UserResponseVM> page = PageInfoHelper.copyMap(pageInfo, d ->
-                UserResponseVM.from(d));
+        PageInfo<UserResponseVM> page = userService.userPage(model);
         page.setList(page.getList().stream().map(e->{
             List<UserDepartment> userDepartments = userDepartmentMapper.selectByUserId(e.getId());
             List<Department> list = new ArrayList<>();
@@ -141,11 +136,17 @@
             user.setModifyTime(new Date());
             userService.updateByIdFilter(user);
         }
+        Map<Integer, UserDepartment> oldDeptUser = userDepartmentMapper.selectByUserId(user.getId()).stream().collect(Collectors.toMap(UserDepartment::getDepartmentId, userDept -> userDept));
         userDepartmentMapper.removeByUserId(user.getId());
         for (Integer s : model.getDeptIds()) {
             UserDepartment userDepartment = new UserDepartment();
             userDepartment.setUserId(user.getId());
             userDepartment.setDepartmentId(s);
+            if (Objects.nonNull(oldDeptUser.get(s))) {
+                userDepartment.setDeptAdmin(oldDeptUser.get(s).getDeptAdmin());
+            } else {
+                userDepartment.setDeptAdmin("0");
+            }
             userDepartmentMapper.insert(userDepartment);
         }
         if (ObjectUtils.isNotEmpty(model.getTagIds())) {

--
Gitblit v1.8.0