| | |
| | | * @return 同步结果 |
| | | */ |
| | | @Override |
| | | @Transactional |
| | | |
| | | public AjaxResult syncOaUsers(List<UserSyncDTO> oaUsers) |
| | | { |
| | | try |
| | |
| | | return AjaxResult.warn("传入的用户数据为空"); |
| | | } |
| | | |
| | | log.info("开始同步 {} 条OA用户数据到 MySQL 数据库...", oaUsers.size()); |
| | | // log.info("开始同步 {} 条OA用户数据到 MySQL 数据库...", oaUsers.size()); |
| | | |
| | | int createdCount = 0; |
| | | int updatedCount = 0; |
| | |
| | | // 用户已存在,更新信息 |
| | | updateExistingUser(existingUser, dto, deptId); |
| | | updatedCount++; |
| | | log.info("更新用户: {} ({}), oaUserId: {}", |
| | | dto.getNickName(), dto.getUserName(), dto.getOaUserId()); |
| | | // log.info("更新用户: {} ({}), oaUserId: {}", |
| | | // dto.getNickName(), dto.getUserName(), dto.getOaUserId()); |
| | | } |
| | | else |
| | | { |
| | |
| | | { |
| | | userByName.setSex(dto.getSex()); |
| | | } |
| | | userByName.setDelFlag(dto.getLevel()==-1?"2":"0"); |
| | | userByName.setStatus(dto.getLevel()==-1?"1":"0"); |
| | | userByName.setUpdateBy("sync"); |
| | | sysUserMapper.updateUser(userByName); |
| | | updatedCount++; |
| | | log.info("更新已存在用户名的用户: {} ({}), 设置oaUserId: {}", |
| | | dto.getNickName(), dto.getUserName(), dto.getOaUserId()); |
| | | // log.info("更新已存在用户名的用户: {} ({}), 设置oaUserId: {}", |
| | | // dto.getNickName(), dto.getUserName(), dto.getOaUserId()); |
| | | } |
| | | else |
| | | { |
| | | // 创建新用户 |
| | | createNewUser(dto, deptId); |
| | | createdCount++; |
| | | log.info("创建新用户: {} ({}), oaUserId: {}, deptId: {}", |
| | | dto.getNickName(), dto.getUserName(), dto.getOaUserId(), deptId); |
| | | // log.info("创建新用户: {} ({}), oaUserId: {}, deptId: {}", |
| | | // dto.getNickName(), dto.getUserName(), dto.getOaUserId(), deptId); |
| | | } |
| | | } |
| | | } |
| | |
| | | |
| | | String message = String.format("同步完成!创建用户: %d, 更新用户: %d, 跳过: %d, 失败: %d", |
| | | createdCount, updatedCount, skippedCount, errorCount); |
| | | log.info(message); |
| | | // log.info(message); |
| | | |
| | | Map<String, Object> result = new HashMap<>(); |
| | | result.put("created", createdCount); |
| | |
| | | existingUser.setPhonenumber(dto.getPhonenumber()); |
| | | } |
| | | } |
| | | |
| | | existingUser.setStatus(dto.getLevel()==-1?"1":"0"); |
| | | existingUser.setDelFlag(dto.getLevel()==-1?"2":"0"); |
| | | if (StringUtils.isNotEmpty(dto.getSex())) |
| | | { |
| | | existingUser.setSex(dto.getSex()); |
| | |
| | | { |
| | | existingUser.setCanViewAllConsult(dto.getCanViewAllConsult()); |
| | | } |
| | | if (StringUtils.isNotEmpty(dto.getCanCreateTask())) |
| | | { |
| | | existingUser.setCanCreateTask(dto.getCanCreateTask()); |
| | | } |
| | | // 同步企业微信用户ID |
| | | if (StringUtils.isNotEmpty(dto.getOaWeixinUserId())) |
| | | { |
| | | existingUser.setQyWechatUserId(dto.getOaWeixinUserId()); |
| | | existingUser.setQyWechatUpdateTime(new Date()); |
| | | } |
| | | |
| | | sysUserMapper.updateUser(existingUser); |
| | | } |
| | | |
| | |
| | | if (StringUtils.isNotEmpty(dto.getCanViewAllConsult())) |
| | | { |
| | | newUser.setCanViewAllConsult(dto.getCanViewAllConsult()); |
| | | } |
| | | if (StringUtils.isNotEmpty(dto.getCanCreateTask())) |
| | | { |
| | | newUser.setCanCreateTask(dto.getCanCreateTask()); |
| | | } |
| | | |
| | | // 设置企业微信用户ID |
| | |
| | | newUser.setPassword(SecurityUtils.encryptPassword("123456")); |
| | | |
| | | // 设置默认状态为正常 |
| | | newUser.setStatus("0"); |
| | | newUser.setStatus(dto.getLevel()==-1?"1":"0"); |
| | | newUser.setDelFlag(dto.getLevel()==-1?"2":"0"); |
| | | |
| | | newUser.setCreateBy("sync"); |
| | | |