From 56e6e579618a13221e56cd49e72c9ac0904da95c Mon Sep 17 00:00:00 2001
From: liusheng <337615773@qq.com>
Date: 星期四, 06 十一月 2025 14:01:56 +0800
Subject: [PATCH] 代码提交

---
 ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java |   69 ++++++++++++++++++++++++++++++----
 1 files changed, 61 insertions(+), 8 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 07b4dde..bb0465a 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
@@ -307,16 +307,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);
         // 鏂板鐢ㄦ埛涓庤鑹茬鐞�
@@ -380,10 +427,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");
@@ -405,6 +457,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