From 24166f2d9ae0bb72f061a38b96a113b1b6e44fbc Mon Sep 17 00:00:00 2001
From: liusheng <337615773@qq.com>
Date: 星期一, 02 二月 2026 17:17:52 +0800
Subject: [PATCH] 代码提交

---
 ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java |  112 +++++++++++++++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 102 insertions(+), 10 deletions(-)

diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java
index 52295ea..3edc1fc 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java
@@ -4,6 +4,7 @@
 import com.ruoyi.common.constant.UserConstants;
 import com.ruoyi.common.core.domain.entity.*;
 import com.ruoyi.common.exception.ServiceException;
+import com.ruoyi.common.utils.DtoConversionUtils;
 import com.ruoyi.common.utils.SecurityUtils;
 import com.ruoyi.common.utils.StringUtils;
 import com.ruoyi.common.utils.bean.BeanValidators;
@@ -100,9 +101,14 @@
     /**
      * 閫氳繃鐢ㄦ埛鍚嶆煡璇㈢敤鎴�
      *
-     * @param userName 鐢ㄦ埛鍚�
+     * @param phone 鐢ㄦ埛鍚�
      * @return 鐢ㄦ埛瀵硅薄淇℃伅
      */
+    @Override
+    public SysUser selectUserByPhone(String phone) {
+        return userMapper.selectUserByPhone(phone);
+    }
+
     @Override
     public SysUser selectUserByUserName(String userName) {
         SysUser sysUser = userMapper.selectUserByUserName(userName);
@@ -128,6 +134,39 @@
             sysUserDept.setDeptType("2");
             sysUserDeptBQs = sysUserDeptMapper.selectSysUserDeptList(sysUserDept);
         }
+        if (StringUtils.isNotEmpty(userName) && userName.equals("admin")) {
+            //濡傛灉鏄痑dmin锛屽彧鑳藉幓sys_dept鍘诲彇鏁版嵁
+            SysDept dept = new SysDept();
+            dept.setDeptType("1");
+            sysDepts = sysDeptMapper.selectDeptList(dept);
+            sysUserDeptKSs = DtoConversionUtils.sourceToTarget(sysDepts, SysUserDept.class);
+
+            dept.setDeptType("2");
+            sysDepts = sysDeptMapper.selectDeptList(dept);
+            sysUserDeptBQs = DtoConversionUtils.sourceToTarget(sysDepts, SysUserDept.class);
+
+            List<SysUserDept> distinctUserDepts = new ArrayList<>();
+            Set<String> uniqueDeptCodes = new HashSet<>();
+            for (SysUserDept userDept : sysUserDeptKSs) {
+                String deptCode = userDept.getDeptCode();
+                if (StringUtils.isNotEmpty(deptCode) && !uniqueDeptCodes.contains(deptCode)) {
+                    distinctUserDepts.add(userDept);
+                    uniqueDeptCodes.add(deptCode);
+                }
+            }
+
+            List<SysUserDept> distinctUserBQs = new ArrayList<>();
+            Set<String> uniqueBQCodes = new HashSet<>();
+            for (SysUserDept userDept : sysUserDeptBQs) {
+                String deptCode = userDept.getDeptCode();
+                if (StringUtils.isNotEmpty(deptCode) && !uniqueBQCodes.contains(deptCode)) {
+                    distinctUserBQs.add(userDept);
+                    uniqueBQCodes.add(deptCode);
+                }
+            }
+            sysUserDeptKSs = distinctUserDepts;
+            sysUserDeptBQs = distinctUserBQs;
+        }
 
         sysUser.setDepts(deptIds);
         if (!CollectionUtils.isEmpty(sysUserDeptBQs)) {
@@ -142,7 +181,7 @@
             }
             sysUser.setBelongWards(list);
         }
-        log.error("娼樺鐨勭瀹ゆ槸锛歿}",sysUserDeptKSs);
+        log.error("娼樺鐨勭瀹ゆ槸锛歿}", sysUserDeptKSs);
         if (!CollectionUtils.isEmpty(sysUserDeptKSs)) {
             List<Map<String, Object>> list = new ArrayList<>();
             for (SysUserDept sud : sysUserDeptKSs) {
@@ -302,16 +341,63 @@
         user.setCreateTime(new Date());
         int rows = userMapper.insertUser(user);
         //鏂板鐢ㄦ埛涓庨儴闂ㄥ叧鑱�
-        if (!CollectionUtils.isEmpty(user.getDepts())) {
-            for (Long deptId : user.getDepts()) {
-                SysUserDept sysUserDep = new SysUserDept();
-                sysUserDep.setUserId(user.getUserId());
-                sysUserDep.setDeptId(deptId);
-                sysUserDep.setCreateTime(new Date());
-                sysUserDep.setUpdateTime(new Date());
-                sysUserDeptMapper.insertSysUserDept(sysUserDep);
+//        if (!CollectionUtils.isEmpty(user.getDepts())) {
+//            for (Long deptId : user.getDepts()) {
+//                SysUserDept sysUserDep = new SysUserDept();
+//                sysUserDep.setUserId(user.getUserId());
+//                sysUserDep.setDeptId(deptId);
+//                sysUserDep.setCreateTime(new Date());
+//                sysUserDep.setUpdateTime(new Date());
+//                sysUserDeptMapper.insertSysUserDept(sysUserDep);
+//            }
+//        }
+        if (!CollectionUtils.isEmpty(user.getDeptCodes())) {
+            for (String deptCode : user.getDeptCodes()) {
+                SysDept sysDept = sysDeptMapper.selectDeptByCode(deptCode);
+                if (Objects.isNull(sysDept)) {
+                    log.error("閮ㄩ棬缂栫爜涓嶅瓨鍦�");
+                    continue;
+                }
+
+                SysUserDept sysUserDept = new SysUserDept();
+                sysUserDept.setUserId(user.getUserId());
+                sysUserDept.setDeptCode(deptCode);
+                sysUserDept.setDeptId(sysDept.getDeptId());
+                List<SysUserDept> sysUserDepts = sysUserDeptMapper.selectSysUserDeptList(sysUserDept);
+                sysUserDept.setDelFlag(0L);
+                sysUserDept.setDeptType("1");
+                sysUserDept.setDeptName(sysDept.getDeptName());
+                sysUserDept.setUpdateTime(new Date());
+                if (!CollectionUtils.isEmpty(sysUserDepts)) {
+                    sysUserDeptMapper.updateSysUserDept(sysUserDept);
+                    continue;
+                }
+                sysUserDept.setCreateTime(new Date());
+                sysUserDeptMapper.insertSysUserDept(sysUserDept);
             }
         }
+        if (!CollectionUtils.isEmpty(user.getWardCodes())) {
+            for (String wardCode : user.getWardCodes()) {
+                SysDept sysDept = sysDeptMapper.selectDeptByCode(wardCode);
+
+                SysUserDept sysUserDept = new SysUserDept();
+                sysUserDept.setUserId(user.getUserId());
+                sysUserDept.setDeptCode(wardCode);
+                List<SysUserDept> sysUserDepts = sysUserDeptMapper.selectSysUserDeptList(sysUserDept);
+                sysUserDept.setDelFlag(0L);
+                sysUserDept.setDeptType("2");
+                sysUserDept.setDeptName(sysDept.getDeptName());
+                sysUserDept.setUpdateTime(new Date());
+                if (!CollectionUtils.isEmpty(sysUserDepts)) {
+                    sysUserDeptMapper.updateSysUserDept(sysUserDept);
+                    continue;
+                }
+                sysUserDept.setCreateTime(new Date());
+                sysUserDeptMapper.insertSysUserDept(sysUserDept);
+            }
+        }
+
+
         // 鏂板鐢ㄦ埛宀椾綅鍏宠仈
         insertUserPost(user);
         // 鏂板鐢ㄦ埛涓庤鑹茬鐞�
@@ -375,10 +461,15 @@
         if (!CollectionUtils.isEmpty(user.getDeptCodes())) {
             for (String deptCode : user.getDeptCodes()) {
                 SysDept sysDept = sysDeptMapper.selectDeptByCode(deptCode);
+                if (Objects.isNull(sysDept)) {
+                    log.error("閮ㄩ棬缂栫爜涓嶅瓨鍦�");
+                    continue;
+                }
 
                 SysUserDept sysUserDept = new SysUserDept();
                 sysUserDept.setUserId(user.getUserId());
                 sysUserDept.setDeptCode(deptCode);
+                sysUserDept.setDeptId(sysDept.getDeptId());
                 List<SysUserDept> sysUserDepts = sysUserDeptMapper.selectSysUserDeptList(sysUserDept);
                 sysUserDept.setDelFlag(0L);
                 sysUserDept.setDeptType("1");
@@ -400,6 +491,7 @@
                 sysUserDept.setUserId(user.getUserId());
                 sysUserDept.setDeptCode(wardCode);
                 List<SysUserDept> sysUserDepts = sysUserDeptMapper.selectSysUserDeptList(sysUserDept);
+                sysUserDept.setDeptId(sysDept.getDeptId());
                 sysUserDept.setDelFlag(0L);
                 sysUserDept.setDeptType("2");
                 sysUserDept.setDeptName(sysDept.getDeptName());

--
Gitblit v1.9.3