wlzboy
5 天以前 fe33646ee6e2d1e57f2b51812e94983a0e9efb04
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/UserSyncServiceImpl.java
@@ -200,7 +200,17 @@
        
        if (StringUtils.isNotEmpty(dto.getPhonenumber()))
        {
            existingUser.setPhonenumber(dto.getPhonenumber());
            // 校验手机号是否已被其他用户使用(排除自己)
            SysUser phoneCheck = sysUserMapper.checkPhoneUnique(dto.getPhonenumber());
            if (StringUtils.isNotNull(phoneCheck) && !phoneCheck.getUserId().equals(existingUser.getUserId()))
            {
                log.warn("更新用户 {} 失败,手机号 {} 已被用户 {} 使用,跳过手机号更新",
                    existingUser.getUserName(), dto.getPhonenumber(), phoneCheck.getUserName());
            }
            else
            {
                existingUser.setPhonenumber(dto.getPhonenumber());
            }
        }
        
        if (StringUtils.isNotEmpty(dto.getSex()))
@@ -209,6 +219,20 @@
        }
        
        existingUser.setUpdateBy("sync");
        if (StringUtils.isNotEmpty(dto.getOaOrderClass()))
        {
            existingUser.setOaOrderClass(dto.getOaOrderClass());
        }
        if (StringUtils.isNotEmpty(dto.getCanViewAllConsult()))
        {
            existingUser.setCanViewAllConsult(dto.getCanViewAllConsult());
        }
        // 同步企业微信用户ID
        if (StringUtils.isNotEmpty(dto.getOaWeixinUserId()))
        {
            existingUser.setQyWechatUserId(dto.getOaWeixinUserId());
            existingUser.setQyWechatUpdateTime(new Date());
        }
        sysUserMapper.updateUser(existingUser);
    }
@@ -221,6 +245,21 @@
        newUser.setUserName(dto.getUserName());
        newUser.setNickName(dto.getNickName());
        newUser.setOaUserId(dto.getOaUserId());
        if (StringUtils.isNotEmpty(dto.getOaOrderClass()))
        {
            newUser.setOaOrderClass(dto.getOaOrderClass());
        }
        if (StringUtils.isNotEmpty(dto.getCanViewAllConsult()))
        {
            newUser.setCanViewAllConsult(dto.getCanViewAllConsult());
        }
        // 设置企业微信用户ID
        if (StringUtils.isNotEmpty(dto.getOaWeixinUserId()))
        {
            newUser.setQyWechatUserId(dto.getOaWeixinUserId());
            newUser.setQyWechatUpdateTime(new Date());
        }
        
        if (deptId != null)
        {
@@ -239,6 +278,14 @@
        
        if (StringUtils.isNotEmpty(dto.getPhonenumber()))
        {
            // 校验手机号是否已被其他用户使用
            SysUser phoneCheck = sysUserMapper.checkPhoneUnique(dto.getPhonenumber());
            if (StringUtils.isNotNull(phoneCheck))
            {
                log.warn("创建用户失败,手机号 {} 已被用户 {} 使用,跳过用户 {}",
                    dto.getPhonenumber(), phoneCheck.getUserName(), dto.getUserName());
                return; // 跳过创建
            }
            newUser.setPhonenumber(dto.getPhonenumber());
        }