wlzboy
2026-03-31 61c4c3f45e4257e2e7662f033e2719e62366c632
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/UserSyncServiceImpl.java
@@ -55,7 +55,7 @@
     * @return 同步结果
     */
    @Override
    @Transactional
    public AjaxResult syncOaUsers(List<UserSyncDTO> oaUsers)
    {
        try
@@ -65,7 +65,7 @@
                return AjaxResult.warn("传入的用户数据为空");
            }
            
            log.info("开始同步 {} 条OA用户数据到 MySQL 数据库...", oaUsers.size());
//            log.info("开始同步 {} 条OA用户数据到 MySQL 数据库...", oaUsers.size());
            
            int createdCount = 0;
            int updatedCount = 0;
@@ -109,8 +109,8 @@
                        // 用户已存在,更新信息
                        updateExistingUser(existingUser, dto, deptId);
                        updatedCount++;
                        log.info("更新用户: {} ({}), oaUserId: {}",
                            dto.getNickName(), dto.getUserName(), dto.getOaUserId());
//                        log.info("更新用户: {} ({}), oaUserId: {}",
//                            dto.getNickName(), dto.getUserName(), dto.getOaUserId());
                    }
                    else
                    {
@@ -137,19 +137,21 @@
                            {
                                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);
                        }
                    }
                }
@@ -163,7 +165,7 @@
            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);
@@ -212,7 +214,8 @@
                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());
@@ -223,6 +226,21 @@
        {
            existingUser.setOaOrderClass(dto.getOaOrderClass());
        }
        if (StringUtils.isNotEmpty(dto.getCanViewAllConsult()))
        {
            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);
    }
@@ -238,6 +256,21 @@
        if (StringUtils.isNotEmpty(dto.getOaOrderClass()))
        {
            newUser.setOaOrderClass(dto.getOaOrderClass());
        }
        if (StringUtils.isNotEmpty(dto.getCanViewAllConsult()))
        {
            newUser.setCanViewAllConsult(dto.getCanViewAllConsult());
        }
        if (StringUtils.isNotEmpty(dto.getCanCreateTask()))
        {
            newUser.setCanCreateTask(dto.getCanCreateTask());
        }
        // 设置企业微信用户ID
        if (StringUtils.isNotEmpty(dto.getOaWeixinUserId()))
        {
            newUser.setQyWechatUserId(dto.getOaWeixinUserId());
            newUser.setQyWechatUpdateTime(new Date());
        }
        
        if (deptId != null)
@@ -281,7 +314,8 @@
        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");