From 0166044275aefa9bbcf23e40ab7a2280fd43af52 Mon Sep 17 00:00:00 2001
From: ZQN <364596817@qq.com>
Date: 星期二, 25 三月 2025 17:40:17 +0800
Subject: [PATCH] 脱敏

---
 project-system/src/main/java/com/project/system/service/impl/SysUserServiceImpl.java |   55 ++++++++++++++++++++++++++++++++++++++++++++-----------
 1 files changed, 44 insertions(+), 11 deletions(-)

diff --git a/project-system/src/main/java/com/project/system/service/impl/SysUserServiceImpl.java b/project-system/src/main/java/com/project/system/service/impl/SysUserServiceImpl.java
index e928983..0326440 100644
--- a/project-system/src/main/java/com/project/system/service/impl/SysUserServiceImpl.java
+++ b/project-system/src/main/java/com/project/system/service/impl/SysUserServiceImpl.java
@@ -16,6 +16,7 @@
 import com.project.common.utils.bean.BeanValidators;
 import com.project.common.utils.spring.SpringUtils;
 import com.project.system.domain.*;
+import com.project.system.domain.bo.editBo.UserDeptBo;
 import com.project.system.domain.vo.SysUserResultVo;
 import com.project.system.domain.vo.SysUserVo;
 import com.project.system.mapper.*;
@@ -27,6 +28,7 @@
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.cache.annotation.CacheEvict;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.util.CollectionUtils;
@@ -56,6 +58,19 @@
     private final ISysUserDeptService userDeptService;
     private final ISysDeptService deptService;
     protected final Validator validator;
+
+    /**
+     * 鏍规嵁鏉′欢鍒嗛〉鏌ヨ鐢ㄦ埛鍒楄〃
+     *
+     * @param user 鐢ㄦ埛淇℃伅
+     * @return 鐢ㄦ埛淇℃伅闆嗗悎淇℃伅
+     */
+    @Override
+    @DataScope(deptAlias = "d", userAlias = "u")
+    public List<SysUser> selectUserListCommon(SysUser user)
+    {
+        return userMapper.selectUserListCommon(user);
+    }
 
     /**
      * 鏍规嵁鏉′欢鍒嗛〉鏌ヨ鐢ㄦ埛鍒楄〃
@@ -250,6 +265,7 @@
      */
     @Override
     @Transactional
+    @CacheEvict(value = "sysUser:peerList",allEntries = true)
     public int insertUser(SysUser user)
     {
         // 鏂板鐢ㄦ埛淇℃伅
@@ -285,6 +301,7 @@
      */
     @Override
     @Transactional
+    @CacheEvict(value = "sysUser:peerList",allEntries = true)
     public int updateUser(SysUser user)
     {
         Long userId = user.getUserId();
@@ -296,9 +313,9 @@
         userPostMapper.deleteUserPostByUserId(userId);
         // 鏂板鐢ㄦ埛涓庡矖浣嶇鐞�
         insertUserPost(user);
-
+        SysUser old = this.selectUserById(userId);
         // 鏂板鐢ㄦ埛涓庨儴闂ㄧ鐞�
-        if (!"02".equals(user.getUserType())){
+        if (!"02".equals(user.getUserType()) && !old.getDeptId().equals(user.getDeptId())){
             insertUserDept(user);
         }
         return userMapper.updateUser(user);
@@ -397,12 +414,20 @@
      */
     public void insertUserDept(SysUser user)
     {
-       userDeptService.remove(userDeptService.lq()
-                .eq(SysUserDept::getUserId, user.getUserId())
-                .eq(SysUserDept::getDeptId, user.getDeptId())
-        );
-        SysUserDept userDept = new SysUserDept().setUserId(user.getUserId()).setDeptId(user.getDeptId());
-        userDeptService.save(userDept);
+        if (deptService.getCheckDeptIdByLoginDeptId(user.getDeptId()).equals(user.getDeptId())) { //鍒嗙灞�鍐呮墍鏈夐儴闂�
+            List<SysDept> list = deptService.list(deptService.lq().eq(SysDept::getParentId, user.getDeptId()));
+            List<Long> deptIds = list.stream().map(SysDept::getDeptId).collect(Collectors.toList());
+            deptIds.add(user.getDeptId());
+            UserDeptBo bo = new UserDeptBo();
+            bo.setUserId(user.getUserId());
+            bo.setDeptIds(deptIds);
+            userDeptService.batchUserDeptSave(bo);
+        } else { //鍒嗙鍗曠嫭閮ㄩ棬
+            userDeptService.remove(userDeptService.lq().eq(SysUserDept::getUserId, user.getUserId()));
+            SysUserDept userDept = new SysUserDept().setUserId(user.getUserId()).setDeptId(user.getDeptId());
+            userDeptService.save(userDept);
+        }
+
     }
 
     /**
@@ -459,6 +484,7 @@
      */
     @Override
     @Transactional
+    @CacheEvict(value = "sysUser:peerList",allEntries = true)
     public int deleteUserById(Long userId)
     {
         // 鍒犻櫎鐢ㄦ埛涓庤鑹插叧鑱�
@@ -476,6 +502,7 @@
      */
     @Override
     @Transactional
+    @CacheEvict(value = "sysUser:peerList",allEntries = true)
     public int deleteUserByIds(Long[] userIds)
     {
         for (Long userId : userIds)
@@ -565,14 +592,14 @@
     /**
      * 鎵归噺鍒犻櫎鐢ㄦ埛淇℃伅
      *
-     * @param deptId 闇�瑕佸垹闄ょ殑鐢ㄦ埛ID
+     * @param phone 闇�瑕佸垹闄ょ殑鐢ㄦ埛ID
      * @return 缁撴灉
      */
     @Override
     @Transactional
-    public int deleteUserByDeptId(Long deptId)
+    public int deleteUserByCompanyPhone(String phone)
     {
-        List<SysUser> sysUsers = userMapper.selectList(new LambdaQueryWrapper<SysUser>().eq(SysUser::getDeptId, deptId));
+        List<SysUser> sysUsers = userMapper.selectList(new LambdaQueryWrapper<SysUser>().eq(SysUser::getPhonenumber, phone));
         Long[] ids = sysUsers.stream().map(SysUser::getUserId).toArray(Long[]::new);
         return this.deleteUserByIds(ids);
     }
@@ -709,4 +736,10 @@
         }
         return true;
     }
+
+    @Override
+    public String getDeptNameByUserId(Long userId)
+    {
+        return deptService.selectDeptById(selectUserById(userId).getDeptId()).getDeptName();
+    }
 }

--
Gitblit v1.9.1