From c462811cd33e81a80bc089e3677975c069d9cda5 Mon Sep 17 00:00:00 2001
From: liusheng <337615773@qq.com>
Date: 星期六, 09 五月 2026 17:50:06 +0800
Subject: [PATCH] 代码提交

---
 ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java |  362 ++++++++++++++++++++++++++++++++++++++++++++-------
 1 files changed, 312 insertions(+), 50 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 5560354..1c28e14 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;
@@ -13,20 +14,27 @@
 import com.ruoyi.system.mapper.*;
 import com.ruoyi.system.service.ISysConfigService;
 import com.ruoyi.system.service.ISysUserService;
-import com.smartor.mapper.SysUserDeptMapper;
+import com.ruoyi.common.core.service.IUserExtInfoService;
+import com.ruoyi.system.mapper.SysUserDeptMapper;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Qualifier;
+import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.util.CollectionUtils;
+import org.springframework.util.ObjectUtils;
 
 import javax.validation.Validator;
 import java.util.*;
+import java.util.concurrent.CompletableFuture;
+import java.util.concurrent.Executor;
+import java.util.concurrent.TimeUnit;
 import java.util.stream.Collectors;
 
 /**
- * 鐢ㄦ埛 涓氬姟灞傚鐞�
+ * 鐢ㄦ埛 涓氬姟灞傚锟�?
  *
  * @author ruoyi
  */
@@ -41,7 +49,9 @@
     private SysDeptMapper sysDeptMapper;
 
     @Autowired
+    @Qualifier("sysUserDeptSystemMapper")
     private SysUserDeptMapper sysUserDeptMapper;
+
 
     @Autowired
     private SysRoleMapper roleMapper;
@@ -61,6 +71,9 @@
     @Autowired
     protected Validator validator;
 
+    @Value("${isAdmin}")
+    private List<Long> isAdmin;
+
     /**
      * 鏍规嵁鏉′欢鍒嗛〉鏌ヨ鐢ㄦ埛鍒楄〃
      *
@@ -71,10 +84,16 @@
     @DataScope(deptAlias = "d", userAlias = "u")
     public List<SysUser> selectUserList(SysUser user) {
         return userMapper.selectUserList(user);
+
+    }
+
+    @Override
+    public List<SysUser> getUserList(SysUser user) {
+        return userMapper.getUserList(user);
     }
 
     /**
-     * 鏍规嵁鏉′欢鍒嗛〉鏌ヨ宸插垎閰嶇敤鎴疯鑹插垪琛�
+     * 鏍规嵁鏉′欢鍒嗛〉鏌ヨ宸插垎閰嶇敤鎴疯鑹插垪锟�?
      *
      * @param user 鐢ㄦ埛淇℃伅
      * @return 鐢ㄦ埛淇℃伅闆嗗悎淇℃伅
@@ -86,7 +105,7 @@
     }
 
     /**
-     * 鏍规嵁鏉′欢鍒嗛〉鏌ヨ鏈垎閰嶇敤鎴疯鑹插垪琛�
+     * 鏍规嵁鏉′欢鍒嗛〉鏌ヨ鏈垎閰嶇敤鎴疯鑹插垪锟�?
      *
      * @param user 鐢ㄦ埛淇℃伅
      * @return 鐢ㄦ埛淇℃伅闆嗗悎淇℃伅
@@ -98,9 +117,9 @@
     }
 
     /**
-     * 閫氳繃鐢ㄦ埛鍚嶆煡璇㈢敤鎴�
+     * 閫氳繃鐢ㄦ埛鍚嶆煡璇㈢敤锟�?
      *
-     * @param userName 鐢ㄦ埛鍚�
+     * @param userName 鐢ㄦ埛锟�?
      * @return 鐢ㄦ埛瀵硅薄淇℃伅
      */
     @Override
@@ -160,7 +179,178 @@
     @Override
     public SysUser selectUserByUserName2(String userName) {
         String[] split = userName.split("&");
-        SysUser sysUser = userMapper.selectUserByUserNameByCondition(split[0], split[1]);
+        SysUser sysUser = userMapper.selectUserByUserNameByCondition(split[0], split[1], null);
+        if (Objects.isNull(sysUser)) return sysUser;
+
+        boolean isAdmin = StringUtils.isNotEmpty(split[0]) && "admin".equals(split[0]);
+        IUserExtInfoService userExtInfoService = SpringUtils.getBean(IUserExtInfoService.class);
+        Executor executor = SpringUtils.getBean("threadPoolTaskExecutor");
+
+        // === 骞惰鏌ヨ: 鐢ㄦ埛鏈烘瀯淇℃伅 + 閮ㄩ棬鍒楄〃 ===
+        CompletableFuture<Map<String, String>> orgInfoFuture = CompletableFuture.supplyAsync(() ->
+                userExtInfoService.getUserOrgInfo(sysUser.getUserId().toString(), split[1], split[2]), executor);
+
+        CompletableFuture<List<SysDept>> deptsFuture;
+        if (isAdmin) {
+            SysDept dept = new SysDept();
+            dept.setOrgid(split[1]);
+            deptsFuture = CompletableFuture.supplyAsync(() -> sysDeptMapper.selectDeptList(dept), executor);
+        } else {
+            deptsFuture = CompletableFuture.supplyAsync(() -> sysUserDeptMapper.selectDeptListByUserId(sysUser.getUserId()), executor);
+        }
+
+        // 绛夊緟鏈烘瀯淇℃伅
+        Map<String, String> userOrgInfo = new HashMap<>();
+        try {
+            userOrgInfo = orgInfoFuture.get(5, TimeUnit.SECONDS);
+        } catch (Exception e) {
+            log.warn("鑾峰彇鐢ㄦ埛鏈烘瀯淇℃伅瓒呮椂鎴栧紓甯�", e);
+        }
+        if (!userOrgInfo.isEmpty()) {
+            sysUser.setOrgid(userOrgInfo.get("orgid"));
+            sysUser.setCampusid(userOrgInfo.get("campusid"));
+        }
+
+        // 绛夊緟閮ㄩ棬鍒楄〃
+        List<SysDept> sysDepts = new ArrayList<>();
+        try {
+            sysDepts = deptsFuture.get(5, TimeUnit.SECONDS);
+        } catch (Exception e) {
+            log.warn("鑾峰彇閮ㄩ棬鍒楄〃瓒呮椂鎴栧紓甯�", e);
+        }
+
+        List<Long> deptIds = new ArrayList<>();
+        for (SysDept sysDept : sysDepts) {
+            deptIds.add(sysDept.getDeptId());
+        }
+
+        // === 鏌ヨ绉戝鍜岀梾鍖轰俊鎭� ===
+        List<SysUserDept> sysUserDeptKSs = null;
+        List<SysUserDept> sysUserDeptBQs = null;
+        if (StringUtils.isNotEmpty(sysUser.getSearchscope())) {
+            if ("0".equals(sysUser.getSearchscope())) {
+                if (isAdmin) {
+                    // admin鐩存帴浠巗ys_dept鏌ヨ锛岃烦杩囨棤鎰忎箟鐨剆electSysUserDeptList
+                    SysDept deptKS = new SysDept();
+                    deptKS.setOrgid(split[1]);
+                    deptKS.setDeptType("1");
+                    SysDept deptBQ = new SysDept();
+                    deptBQ.setOrgid(split[1]);
+                    deptBQ.setDeptType("2");
+                    CompletableFuture<List<SysDept>> ksFuture = CompletableFuture.supplyAsync(() -> sysDeptMapper.selectDeptList(deptKS), executor);
+                    CompletableFuture<List<SysDept>> bqFuture = CompletableFuture.supplyAsync(() -> sysDeptMapper.selectDeptList(deptBQ), executor);
+                    try {
+                        sysUserDeptKSs = distinctByDeptCode(DtoConversionUtils.sourceToTarget(ksFuture.get(5, TimeUnit.SECONDS), SysUserDept.class));
+                        sysUserDeptBQs = distinctByDeptCode(DtoConversionUtils.sourceToTarget(bqFuture.get(5, TimeUnit.SECONDS), SysUserDept.class));
+                    } catch (Exception e) {
+                        log.warn("鑾峰彇admin绉戝/鐥呭尯淇℃伅瓒呮椂鎴栧紓甯�", e);
+                    }
+                } else {
+                    // 骞惰鏌ヨ绉戝鍜岀梾鍖�
+                    SysUserDept queryKS = new SysUserDept();
+                    queryKS.setUserId(sysUser.getUserId());
+                    queryKS.setDeptType("1");
+                    queryKS.setOrgid(split[1]);
+                    SysUserDept queryBQ = new SysUserDept();
+                    queryBQ.setUserId(sysUser.getUserId());
+                    queryBQ.setDeptType("2");
+                    queryBQ.setOrgid(split[1]);
+                    CompletableFuture<List<SysUserDept>> ksFuture = CompletableFuture.supplyAsync(() -> sysUserDeptMapper.selectSysUserDeptList(queryKS), executor);
+                    CompletableFuture<List<SysUserDept>> bqFuture = CompletableFuture.supplyAsync(() -> sysUserDeptMapper.selectSysUserDeptList(queryBQ), executor);
+                    try {
+                        sysUserDeptKSs = ksFuture.get(5, TimeUnit.SECONDS);
+                        sysUserDeptBQs = bqFuture.get(5, TimeUnit.SECONDS);
+                    } catch (Exception e) {
+                        log.warn("鑾峰彇绉戝/鐥呭尯淇℃伅瓒呮椂鎴栧紓甯�", e);
+                    }
+                }
+            } else if ("1".equals(sysUser.getSearchscope())) {
+                SysUserDept queryKS = new SysUserDept();
+                queryKS.setUserId(sysUser.getUserId());
+                queryKS.setDeptType("1");
+                queryKS.setOrgid(split[1]);
+                sysUserDeptKSs = sysUserDeptMapper.selectSysUserDeptList(queryKS);
+            } else if ("2".equals(sysUser.getSearchscope())) {
+                SysUserDept queryBQ = new SysUserDept();
+                queryBQ.setUserId(sysUser.getUserId());
+                queryBQ.setDeptType("2");
+                queryBQ.setOrgid(split[1]);
+                sysUserDeptBQs = sysUserDeptMapper.selectSysUserDeptList(queryBQ);
+            }
+        }
+
+        sysUser.setDepts(deptIds);
+        if (!CollectionUtils.isEmpty(sysUserDeptBQs)) {
+            List<Map<String, Object>> list = new ArrayList<>();
+            for (SysUserDept sud : sysUserDeptBQs) {
+                Map<String, Object> map = new HashMap<>();
+                map.put("districtCode", "");
+                if (StringUtils.isNotEmpty(sud.getDeptCode())) map.put("districtCode", sud.getDeptCode());
+                else continue;
+                map.put("districtName", "");
+                if (StringUtils.isNotEmpty(sud.getDeptName())) map.put("districtName", sud.getDeptName());
+                list.add(map);
+            }
+            sysUser.setBelongWards(list);
+        }
+        if (!CollectionUtils.isEmpty(sysUserDeptKSs)) {
+            List<Map<String, Object>> list = new ArrayList<>();
+            for (SysUserDept sud : sysUserDeptKSs) {
+                Map<String, Object> map = new HashMap<>();
+                map.put("deptCode", "");
+                if (StringUtils.isNotEmpty(sud.getDeptCode())) map.put("deptCode", sud.getDeptCode());
+                else continue;
+                map.put("deptName", "");
+                if (StringUtils.isNotEmpty(sud.getDeptName())) map.put("deptName", sud.getDeptName());
+                list.add(map);
+            }
+            sysUser.setBelongDepts(list);
+            // 璁剧疆婊℃剰搴﹀垎绫伙紙璧扮紦瀛橈級
+            sysUser.setSatisfactionCategories(userExtInfoService.getSatisfactionCategories(sysUser.getOrgid()));
+        }
+        return sysUser;
+    }
+
+    /**
+     * 鎸塪eptCode鍘婚噸
+     */
+    private List<SysUserDept> distinctByDeptCode(List<SysUserDept> list) {
+        if (CollectionUtils.isEmpty(list)) {
+            return list;
+        }
+        List<SysUserDept> result = new ArrayList<>();
+        Set<String> uniqueCodes = new HashSet<>();
+        for (SysUserDept item : list) {
+            String deptCode = item.getDeptCode();
+            if (StringUtils.isNotEmpty(deptCode) && !uniqueCodes.contains(deptCode)) {
+                result.add(item);
+                uniqueCodes.add(deptCode);
+            }
+        }
+        return result;
+    }
+
+    @Override
+    public SysUser selectUserByUserNameAndDeptId(String userName) {
+        String[] split = userName.split("&");
+        if (split[2].contains("null")) {
+            split[2] = null;
+        }
+        SysUser sysUser = userMapper.selectUserByUserNameByCondition(split[0], split[1], split[2]);
+
+        //鑾峰彇褰撳墠鐧婚檰浜虹殑鏈烘瀯鍜岄櫌锟�?
+        IUserExtInfoService userExtInfoService2 = SpringUtils.getBean(IUserExtInfoService.class);
+        Map<String, String> userOrgInfo2 = userExtInfoService2.getUserOrgInfo(
+                sysUser.getUserId().toString(),
+                split[1],
+                split[3]);
+        if (!userOrgInfo2.isEmpty()) {
+            sysUser.setOrgid(userOrgInfo2.get("orgid"));
+            sysUser.setCampusid(userOrgInfo2.get("campusid"));
+        }
+
+        log.info("selectUserByUserNameAndDeptId鐨剆ysUser鐨勫�间负锛歿}", sysUser);
+        if (Objects.isNull(sysUser)) return sysUser;
         List<SysDept> sysDepts = null;
         if (StringUtils.isNotEmpty(split[0]) && split[0].equals("admin")) {
             SysDept dept = new SysDept();
@@ -176,6 +366,7 @@
         SysUserDept sysUserDept = new SysUserDept();
         sysUserDept.setUserId(sysUser.getUserId());
         sysUserDept.setDeptType(sysUser.getSearchscope());
+        sysUserDept.setOrgid(split[1]);
         List<SysUserDept> sysUserDeptKSs = null;
         List<SysUserDept> sysUserDeptBQs = null;
         if (StringUtils.isNotEmpty(sysUser.getSearchscope()) && sysUser.getSearchscope().equals("0")) {
@@ -188,6 +379,17 @@
             sysUserDeptBQs = sysUserDeptMapper.selectSysUserDeptList(sysUserDept);
             //濡傛灉鏄痑dmin锛岄渶瑕佸sysUserDeptBQs锛宻ysUserDeptBQs鍘婚噸
             if (StringUtils.isNotEmpty(split[0]) && split[0].equals("admin")) {
+                //濡傛灉鏄痑dmin锛屽彧鑳藉幓sys_dept鍘诲彇鏁版嵁
+                SysDept dept = new SysDept();
+                dept.setOrgid(split[1]);
+                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) {
@@ -249,6 +451,7 @@
         return sysUser;
     }
 
+
     /**
      * 閫氳繃鐢ㄦ埛ID鏌ヨ鐢ㄦ埛
      *
@@ -270,7 +473,7 @@
     /**
      * 鏌ヨ鐢ㄦ埛鎵�灞炶鑹茬粍
      *
-     * @param userName 鐢ㄦ埛鍚�
+     * @param userName 鐢ㄦ埛锟�?
      * @return 缁撴灉
      */
     @Override
@@ -285,7 +488,7 @@
     /**
      * 鏌ヨ鐢ㄦ埛鎵�灞炲矖浣嶇粍
      *
-     * @param userName 鐢ㄦ埛鍚�
+     * @param userName 鐢ㄦ埛锟�?
      * @return 缁撴灉
      */
     @Override
@@ -306,7 +509,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;
         }
@@ -352,24 +555,24 @@
      */
     @Override
     public void checkUserAllowed(SysUser user) {
-        if (StringUtils.isNotNull(user.getUserId()) && user.isAdmin()) {
+        if (StringUtils.isNotNull(user.getUserId()) && isAdmin.contains(user.getUserId())) {
             throw new ServiceException("涓嶅厑璁告搷浣滆秴绾х鐞嗗憳鐢ㄦ埛");
         }
     }
 
     /**
-     * 鏍¢獙鐢ㄦ埛鏄惁鏈夋暟鎹潈闄�
+     * 鏍¢獙鐢ㄦ埛鏄惁鏈夋暟鎹潈锟�?
      *
      * @param userId 鐢ㄦ埛id
      */
     @Override
     public void checkUserDataScope(Long userId) {
-        if (!SysUser.isAdmin(SecurityUtils.getUserId())) {
+        if (!isAdmin.contains(SecurityUtils.getUserId())) {
             SysUser user = new SysUser();
             user.setUserId(userId);
             List<SysUser> users = SpringUtils.getAopProxy(this).selectUserList(user);
             if (StringUtils.isEmpty(users)) {
-                throw new ServiceException("娌℃湁鏉冮檺璁块棶鐢ㄦ埛鏁版嵁锛�");
+                throw new ServiceException("娌℃湁鏉冮檺璁块棶鐢ㄦ埛鏁版嵁");
             }
         }
     }
@@ -385,21 +588,72 @@
     public int insertUser(SysUser user) {
         // 鏂板鐢ㄦ埛淇℃伅
         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());
-                sysUserDep.setOrgid(user.getOrgid());
-                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());
+//                sysUserDep.setOrgid(user.getOrgid());
+//                sysUserDeptMapper.insertSysUserDept(sysUserDep);
+//            }
+//        }
+        if (!CollectionUtils.isEmpty(user.getDeptCodes())) {
+            for (String deptCode : user.getDeptCodes()) {
+                SysDept sysDept = sysDeptMapper.selectDeptByCode("1", user.getOrgid(), deptCode);
+                if (ObjectUtils.isEmpty(sysDept)) {
+                    continue;
+                }
+
+                SysUserDept sysUserDept = new SysUserDept();
+                sysUserDept.setUserId(user.getUserId());
+                sysUserDept.setOrgid(user.getOrgid());
+                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)) {
+                    sysUserDept.setId(sysUserDepts.get(0).getId());
+                    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("2", user.getOrgid(), wardCode);
+                if (ObjectUtils.isEmpty(sysDept)) {
+                    continue;
+                }
+                SysUserDept sysUserDept = new SysUserDept();
+                sysUserDept.setUserId(user.getUserId());
+                sysUserDept.setDeptCode(wardCode);
+                sysUserDept.setDeptId(sysDept.getDeptId());
+                sysUserDept.setOrgid(user.getOrgid());
+                List<SysUserDept> sysUserDepts = sysUserDeptMapper.selectSysUserDeptList(sysUserDept);
+                sysUserDept.setDelFlag(0L);
+                sysUserDept.setDeptType("2");
+                sysUserDept.setOrgid(user.getOrgid());
+                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);
-        // 鏂板鐢ㄦ埛涓庤鑹茬鐞�
+        // 鏂板鐢ㄦ埛涓庤鑹茬锟�?
         insertUserRole(user);
         return rows;
     }
@@ -425,24 +679,24 @@
     @Transactional
     public int updateUser(SysUser user) {
         Long userId = user.getUserId();
-        // 鍒犻櫎鐢ㄦ埛涓庤鑹插叧鑱�
+        // 鍒犻櫎鐢ㄦ埛涓庤鑹插叧锟�?
         userRoleMapper.deleteUserRoleByUserId(userId);
-        // 鏂板鐢ㄦ埛涓庤鑹茬鐞�
+        // 鏂板鐢ㄦ埛涓庤鑹茬锟�?
         insertUserRole(user);
-        // 鍒犻櫎鐢ㄦ埛涓庡矖浣嶅叧鑱�
+        // 鍒犻櫎鐢ㄦ埛涓庡矖浣嶅叧锟�?
         userPostMapper.deleteUserPostByUserId(userId);
-        // 鏂板鐢ㄦ埛涓庡矖浣嶇鐞�
+        // 鏂板鐢ㄦ埛涓庡矖浣嶇锟�?
         insertUserPost(user);
         //鍒犻櫎鐢ㄦ埛涓庨儴闂ㄧ殑鍏宠仈
         Long[] ids = {user.getUserId()};
-        //鏂板鐢ㄦ埛涓庨儴闂ㄥ叧鑱�
+        //鏂板鐢ㄦ埛涓庨儴闂ㄥ叧锟�?
 //        sysUserDeptMapper.deleteSysUserDeptByIds(ids);
 //        if (!CollectionUtils.isEmpty(user.getDepts())) {
 //            for (Long deptId : user.getDepts()) {
 //                SysUserDept sysUserDep = new SysUserDept();
 //                sysUserDep.setUserId(user.getUserId());
 //                sysUserDep.setDeptId(deptId);
-//                //鏌ヨ鏄惁 宸茬粡鍏宠仈璇ラ儴闂�
+//                //鏌ヨ鏄惁 宸茬粡鍏宠仈璇ラ儴锟�?
 //                List<SysUserDept> sysUserDepts = sysUserDeptMapper.selectSysUserDeptList(sysUserDep);
 //                if (!CollectionUtils.isEmpty(sysUserDepts)) {
 //                    SysUserDept sysUserDept = sysUserDepts.get(0);
@@ -457,12 +711,16 @@
 //        }
         if (!CollectionUtils.isEmpty(user.getDeptCodes())) {
             for (String deptCode : user.getDeptCodes()) {
-                SysDept sysDept = sysDeptMapper.selectDeptByCode(deptCode);
+                SysDept sysDept = sysDeptMapper.selectDeptByCode("1", user.getOrgid(), deptCode);
+                if (ObjectUtils.isEmpty(sysDept)) {
+                    continue;
+                }
 
                 SysUserDept sysUserDept = new SysUserDept();
                 sysUserDept.setUserId(user.getUserId());
                 sysUserDept.setOrgid(user.getOrgid());
                 sysUserDept.setDeptCode(deptCode);
+                sysUserDept.setDeptId(sysDept.getDeptId());
                 List<SysUserDept> sysUserDepts = sysUserDeptMapper.selectSysUserDeptList(sysUserDept);
                 sysUserDept.setDelFlag(0L);
                 sysUserDept.setDeptType("1");
@@ -479,11 +737,15 @@
         }
         if (!CollectionUtils.isEmpty(user.getWardCodes())) {
             for (String wardCode : user.getWardCodes()) {
-                SysDept sysDept = sysDeptMapper.selectDeptByCode(wardCode);
-
+                SysDept sysDept = sysDeptMapper.selectDeptByCode("2", user.getOrgid(), wardCode);
+                if (ObjectUtils.isEmpty(sysDept)) {
+                    continue;
+                }
                 SysUserDept sysUserDept = new SysUserDept();
                 sysUserDept.setUserId(user.getUserId());
                 sysUserDept.setDeptCode(wardCode);
+                sysUserDept.setDeptId(sysDept.getDeptId());
+                sysUserDept.setOrgid(user.getOrgid());
                 List<SysUserDept> sysUserDepts = sysUserDeptMapper.selectSysUserDeptList(sysUserDept);
                 sysUserDept.setDelFlag(0L);
                 sysUserDept.setDeptType("2");
@@ -505,7 +767,7 @@
      * 鐢ㄦ埛鎺堟潈瑙掕壊
      *
      * @param userId  鐢ㄦ埛ID
-     * @param roleIds 瑙掕壊缁�
+     * @param roleIds 瑙掕壊锟�?
      */
     @Override
     @Transactional
@@ -515,7 +777,7 @@
     }
 
     /**
-     * 淇敼鐢ㄦ埛鐘舵��
+     * 淇敼鐢ㄦ埛鐘讹拷?
      *
      * @param user 鐢ㄦ埛淇℃伅
      * @return 缁撴灉
@@ -539,7 +801,7 @@
     /**
      * 淇敼鐢ㄦ埛澶村儚
      *
-     * @param userName 鐢ㄦ埛鍚�
+     * @param userName 鐢ㄦ埛锟�?
      * @param avatar   澶村儚鍦板潃
      * @return 缁撴灉
      */
@@ -562,7 +824,7 @@
     /**
      * 閲嶇疆鐢ㄦ埛瀵嗙爜
      *
-     * @param userName 鐢ㄦ埛鍚�
+     * @param userName 鐢ㄦ埛锟�?
      * @param password 瀵嗙爜
      * @return 缁撴灉
      */
@@ -588,7 +850,7 @@
     public void insertUserPost(SysUser user) {
         Long[] posts = user.getPostIds();
         if (StringUtils.isNotEmpty(posts)) {
-            // 鏂板鐢ㄦ埛涓庡矖浣嶇鐞�
+            // 鏂板鐢ㄦ埛涓庡矖浣嶇锟�?
             List<SysUserPost> list = new ArrayList<SysUserPost>(posts.length);
             for (Long postId : posts) {
                 SysUserPost up = new SysUserPost();
@@ -605,11 +867,11 @@
      * 鏂板鐢ㄦ埛瑙掕壊淇℃伅
      *
      * @param userId  鐢ㄦ埛ID
-     * @param roleIds 瑙掕壊缁�
+     * @param roleIds 瑙掕壊锟�?
      */
     public void insertUserRole(Long userId, Long[] roleIds, String orgid) {
         if (StringUtils.isNotEmpty(roleIds)) {
-            // 鏂板鐢ㄦ埛涓庤鑹茬鐞�
+            // 鏂板鐢ㄦ埛涓庤鑹茬锟�?
             List<SysUserRole> list = new ArrayList<SysUserRole>(roleIds.length);
             for (Long roleId : roleIds) {
                 SysUserRole ur = new SysUserRole();
@@ -631,7 +893,7 @@
     @Override
     @Transactional
     public int deleteUserById(Long userId) {
-        // 鍒犻櫎鐢ㄦ埛涓庤鑹插叧鑱�
+        // 鍒犻櫎鐢ㄦ埛涓庤鑹插叧锟�?
         userRoleMapper.deleteUserRoleByUserId(userId);
         // 鍒犻櫎鐢ㄦ埛涓庡矖浣嶈〃
         userPostMapper.deleteUserPostByUserId(userId);
@@ -651,9 +913,9 @@
             checkUserAllowed(new SysUser(userId));
             checkUserDataScope(userId);
         }
-        // 鍒犻櫎鐢ㄦ埛涓庤鑹插叧鑱�
+        // 鍒犻櫎鐢ㄦ埛涓庤鑹插叧锟�?
         userRoleMapper.deleteUserRole(userIds);
-        // 鍒犻櫎鐢ㄦ埛涓庡矖浣嶅叧鑱�
+        // 鍒犻櫎鐢ㄦ埛涓庡矖浣嶅叧锟�?
         userPostMapper.deleteUserPost(userIds);
         return userMapper.deleteUserByIds(userIds);
     }
@@ -669,7 +931,7 @@
     @Override
     public String importUser(List<SysUser> userList, Boolean isUpdateSupport, String operName) {
         if (StringUtils.isNull(userList) || userList.size() == 0) {
-            throw new ServiceException("瀵煎叆鐢ㄦ埛鏁版嵁涓嶈兘涓虹┖锛�");
+            throw new ServiceException("瀵煎叆鐢ㄦ埛鏁版嵁涓嶈兘涓虹┖");
         }
         int successNum = 0;
         int failureNum = 0;
@@ -686,7 +948,7 @@
                     user.setCreateBy(operName);
                     this.insertUser(user);
                     successNum++;
-                    successMsg.append("<br/>" + successNum + "銆佽处鍙� " + user.getUserName() + " 瀵煎叆鎴愬姛");
+                    successMsg.append("<br/>" + successNum + "銆佽处锟�?" + user.getUserName() + " 瀵煎叆鎴愬姛");
                 } else if (isUpdateSupport) {
                     BeanValidators.validateWithException(validator, user);
                     checkUserAllowed(user);
@@ -694,14 +956,14 @@
                     user.setUpdateBy(operName);
                     this.updateUser(user);
                     successNum++;
-                    successMsg.append("<br/>" + successNum + "銆佽处鍙� " + user.getUserName() + " 鏇存柊鎴愬姛");
+                    successMsg.append("<br/>" + successNum + "璐﹀彿?" + user.getUserName() + " 鏇存柊鎴愬姛");
                 } else {
                     failureNum++;
-                    failureMsg.append("<br/>" + failureNum + "銆佽处鍙� " + user.getUserName() + " 宸插瓨鍦�");
+                    failureMsg.append("<br/>" + failureNum + "璐﹀彿" + user.getUserName() + " 宸插瓨鍦�");
                 }
             } catch (Exception e) {
                 failureNum++;
-                String msg = "<br/>" + failureNum + "銆佽处鍙� " + user.getUserName() + " 瀵煎叆澶辫触锛�";
+                String msg = "<br/>" + failureNum + "璐﹀彿" + user.getUserName() + " 瀵煎叆澶辫触";
                 failureMsg.append(msg + e.getMessage());
                 log.error(msg, e);
             }
@@ -710,7 +972,7 @@
             failureMsg.insert(0, "寰堟姳姝夛紝瀵煎叆澶辫触锛佸叡 " + failureNum + " 鏉℃暟鎹牸寮忎笉姝g‘锛岄敊璇涓嬶細");
             throw new ServiceException(failureMsg.toString());
         } else {
-            successMsg.insert(0, "鎭枩鎮紝鏁版嵁宸插叏閮ㄥ鍏ユ垚鍔燂紒鍏� " + successNum + " 鏉★紝鏁版嵁濡備笅锛�");
+            successMsg.insert(0, "鎭枩鎮紝鏁版嵁宸插叏閮ㄥ鍏ユ垚鍔燂紒鍏�" + successNum + "鏉★紝鏁版嵁濡備笅锛�");
         }
         return successMsg.toString();
     }

--
Gitblit v1.9.3