wlzboy
2026-02-01 0ffdf00009b0bede0859fa33deddefb55c075a7b
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
                    {
@@ -140,16 +140,16 @@
                            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 +163,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);
@@ -223,6 +223,20 @@
        {
            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);
    }
@@ -239,6 +253,21 @@
        {
            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)
        {