陈昶聿
5 天以前 ac044a54fab8d7d730116738b680278749a795fd
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java
@@ -29,6 +29,7 @@
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;
@@ -183,7 +184,7 @@
        boolean isAdmin = StringUtils.isNotEmpty(split[0]) && "admin".equals(split[0]);
        IUserExtInfoService userExtInfoService = SpringUtils.getBean(IUserExtInfoService.class);
        java.util.concurrent.Executor executor = SpringUtils.getBean("threadPoolTaskExecutor");
        Executor executor = SpringUtils.getBean("threadPoolTaskExecutor");
        // === 并行查询: 用户机构信息 + 部门列表 ===
        CompletableFuture<Map<String, String>> orgInfoFuture = CompletableFuture.supplyAsync(() ->
@@ -708,7 +709,15 @@
//                sysUserDeptMapper.insertSysUserDept(sysUserDep);
//            }
//        }
        if (!CollectionUtils.isEmpty(user.getDeptCodes())) {
            //删除原有关系
            SysUserDept delSysUserDept = new SysUserDept();
            delSysUserDept.setUserId(user.getUserId());
            delSysUserDept.setOrgid(user.getOrgid());
            delSysUserDept.setDeptType("1");
            sysUserDeptMapper.deleteSysUserDeptByUserId(delSysUserDept);
            for (String deptCode : user.getDeptCodes()) {
                SysDept sysDept = sysDeptMapper.selectDeptByCode("1", user.getOrgid(), deptCode);
                if (ObjectUtils.isEmpty(sysDept)) {
@@ -720,21 +729,23 @@
                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())) {
            //删除原有关系
            SysUserDept delSysUserDept = new SysUserDept();
            delSysUserDept.setUserId(user.getUserId());
            delSysUserDept.setOrgid(user.getOrgid());
            delSysUserDept.setDeptType("2");
            sysUserDeptMapper.deleteSysUserDeptByUserId(delSysUserDept);
            for (String wardCode : user.getWardCodes()) {
                SysDept sysDept = sysDeptMapper.selectDeptByCode("2", user.getOrgid(), wardCode);
                if (ObjectUtils.isEmpty(sysDept)) {
@@ -745,16 +756,11 @@
                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);
            }