From 09e6dc3fb7266620fafb5e341808a8eb36e080a1 Mon Sep 17 00:00:00 2001
From: wlzboy <66905212@qq.com>
Date: 星期六, 13 十二月 2025 22:51:52 +0800
Subject: [PATCH] feat:增加企业微信消息提醒

---
 ruoyi-system/src/main/java/com/ruoyi/system/service/impl/UserSyncServiceImpl.java |   49 ++++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 48 insertions(+), 1 deletions(-)

diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/UserSyncServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/UserSyncServiceImpl.java
index 44e8fa9..58689a0 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/UserSyncServiceImpl.java
+++ b/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());
         }
         

--
Gitblit v1.9.1