From 8b19f0614bd79a7bb6d524ef3245723febfb40dd Mon Sep 17 00:00:00 2001
From: 陈昶聿 <chychen@nbjetron.com>
Date: 星期二, 20 一月 2026 17:45:11 +0800
Subject: [PATCH] 【丽水】角色管理修改处理

---
 ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java |   39 ++++++++++++++++++++++++++++++++++-----
 1 files changed, 34 insertions(+), 5 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 74ba552..70e4423 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
@@ -15,7 +15,9 @@
 import com.ruoyi.system.service.ISysConfigService;
 import com.ruoyi.system.service.ISysUserService;
 import com.smartor.domain.SvyTaskVO;
+import com.smartor.domain.SysUserOrg;
 import com.smartor.mapper.SysUserDeptMapper;
+import com.smartor.mapper.SysUserOrgMapper;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -40,6 +42,9 @@
 
     @Autowired
     private SysUserMapper userMapper;
+
+    @Autowired
+    private SysUserOrgMapper sysUserOrgMapper;
 
     @Autowired
     private SysDeptMapper sysDeptMapper;
@@ -174,6 +179,18 @@
     public SysUser selectUserByUserName2(String userName) {
         String[] split = userName.split("&");
         SysUser sysUser = userMapper.selectUserByUserNameByCondition(split[0], split[1], null);
+
+        //鑾峰彇褰撳墠鐧婚檰浜虹殑鏈烘瀯鍜岄櫌鍖�
+        SysUserOrg sysUserOrg = new SysUserOrg();
+        sysUserOrg.setUserId(sysUser.getUserId());
+        sysUserOrg.setOrgid(split[1].equals("null") ? "" : split[1]);
+        sysUserOrg.setCampusid(split[2].equals("null") ? "" : split[2]);
+        List<SysUserOrg> sysUserOrgs = sysUserOrgMapper.selectSysUserOrgList(sysUserOrg);
+        if (!CollectionUtils.isEmpty(sysUserOrgs)) {
+            sysUser.setOrgid(sysUserOrgs.get(0).getOrgid());
+            sysUser.setCampusid(sysUserOrgs.get(0).getCampusid());
+        }
+
         if (Objects.isNull(sysUser)) return sysUser;
         List<SysDept> sysDepts = null;
         if (StringUtils.isNotEmpty(split[0]) && split[0].equals("admin")) {
@@ -282,6 +299,18 @@
             split[2] = null;
         }
         SysUser sysUser = userMapper.selectUserByUserNameByCondition(split[0], split[1], split[2]);
+
+        //鑾峰彇褰撳墠鐧婚檰浜虹殑鏈烘瀯鍜岄櫌鍖�
+        SysUserOrg sysUserOrg = new SysUserOrg();
+        sysUserOrg.setUserId(sysUser.getUserId());
+        sysUserOrg.setOrgid(split[1].equals("null") ? "" : split[1]);
+        sysUserOrg.setCampusid(split[3].equals("null") ? "" : split[3]);
+        List<SysUserOrg> sysUserOrgs = sysUserOrgMapper.selectSysUserOrgList(sysUserOrg);
+        if (!CollectionUtils.isEmpty(sysUserOrgs)) {
+            sysUser.setOrgid(sysUserOrgs.get(0).getOrgid());
+            sysUser.setCampusid(sysUserOrgs.get(0).getCampusid());
+        }
+
         log.info("selectUserByUserNameAndDeptId鐨剆ysUser鐨勫�间负锛歿}", sysUser);
         if (Objects.isNull(sysUser)) return sysUser;
         List<SysDept> sysDepts = null;
@@ -442,7 +471,7 @@
     @Override
     public String checkUserNameUnique(SysUser user) {
         Long userId = StringUtils.isNull(user.getUserId()) ? -1L : user.getUserId();
-        SysUser info = userMapper.checkUserNameUnique(user.getUserName());
+        SysUser info = userMapper.checkUserNameUnique(user);
         if (StringUtils.isNotNull(info) && info.getUserId().longValue() != userId.longValue()) {
             return UserConstants.NOT_UNIQUE;
         }
@@ -535,7 +564,7 @@
 //        }
         if (!CollectionUtils.isEmpty(user.getDeptCodes())) {
             for (String deptCode : user.getDeptCodes()) {
-                SysDept sysDept = sysDeptMapper.selectDeptByCode(deptCode);
+                SysDept sysDept = sysDeptMapper.selectDeptByCode(user.getOrgid(), deptCode);
                 if (ObjectUtils.isEmpty(sysDept)) {
                     continue;
                 }
@@ -561,7 +590,7 @@
         }
         if (!CollectionUtils.isEmpty(user.getWardCodes())) {
             for (String wardCode : user.getWardCodes()) {
-                SysDept sysDept = sysDeptMapper.selectDeptByCode(wardCode);
+                SysDept sysDept = sysDeptMapper.selectDeptByCode(user.getOrgid(), wardCode);
                 if (ObjectUtils.isEmpty(sysDept)) {
                     continue;
                 }
@@ -644,7 +673,7 @@
 //        }
         if (!CollectionUtils.isEmpty(user.getDeptCodes())) {
             for (String deptCode : user.getDeptCodes()) {
-                SysDept sysDept = sysDeptMapper.selectDeptByCode(deptCode);
+                SysDept sysDept = sysDeptMapper.selectDeptByCode(user.getOrgid(), deptCode);
                 if (ObjectUtils.isEmpty(sysDept)) {
                     continue;
                 }
@@ -670,7 +699,7 @@
         }
         if (!CollectionUtils.isEmpty(user.getWardCodes())) {
             for (String wardCode : user.getWardCodes()) {
-                SysDept sysDept = sysDeptMapper.selectDeptByCode(wardCode);
+                SysDept sysDept = sysDeptMapper.selectDeptByCode(user.getOrgid(), wardCode);
                 if (ObjectUtils.isEmpty(sysDept)) {
                     continue;
                 }

--
Gitblit v1.9.3