| | |
| | | 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; |
| | | |
| | |
| | | |
| | | 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(() -> |
| | |
| | | // sysUserDeptMapper.insertSysUserDept(sysUserDep); |
| | | // } |
| | | // } |
| | | //删除原有关系 |
| | | SysUserDept delSysUserDept = new SysUserDept(); |
| | | delSysUserDept.setUserId(user.getUserId()); |
| | | delSysUserDept.setOrgid(user.getOrgid()); |
| | | sysUserDeptMapper.deleteSysUserDeptByUserId(delSysUserDept); |
| | | |
| | | if (!CollectionUtils.isEmpty(user.getDeptCodes())) { |
| | | for (String deptCode : user.getDeptCodes()) { |
| | | SysDept sysDept = sysDeptMapper.selectDeptByCode("1", user.getOrgid(), deptCode); |
| | |
| | | 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); |
| | |
| | | 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); |
| | | } |