From 40a8157440e3b906da8f52e07d939d78c3f4c313 Mon Sep 17 00:00:00 2001
From: wlzboy <66905212@qq.com>
Date: 星期日, 12 四月 2026 16:14:06 +0800
Subject: [PATCH] feat: 任务增加统计、同步增加通知
---
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/UserSyncServiceImpl.java | 64 ++++++++++++++++++++++++++-----
1 files changed, 53 insertions(+), 11 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 c82a875..7d75003 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
@@ -55,7 +55,7 @@
* @return 鍚屾缁撴灉
*/
@Override
- @Transactional
+
public AjaxResult syncOaUsers(List<UserSyncDTO> oaUsers)
{
try
@@ -65,7 +65,7 @@
return AjaxResult.warn("浼犲叆鐨勭敤鎴锋暟鎹负绌�");
}
- log.info("寮�濮嬪悓姝� {} 鏉A鐢ㄦ埛鏁版嵁鍒� MySQL 鏁版嵁搴�...", oaUsers.size());
+// log.info("寮�濮嬪悓姝� {} 鏉A鐢ㄦ埛鏁版嵁鍒� 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,13 +214,33 @@
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.setUpdateBy("sync");
+ if (StringUtils.isNotEmpty(dto.getOaOrderClass()))
+ {
+ 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);
}
@@ -231,6 +253,25 @@
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());
+ }
+ 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)
{
@@ -273,7 +314,8 @@
newUser.setPassword(SecurityUtils.encryptPassword("123456"));
// 璁剧疆榛樿鐘舵�佷负姝e父
- newUser.setStatus("0");
+ newUser.setStatus(dto.getLevel()==-1?"1":"0");
+ newUser.setDelFlag(dto.getLevel()==-1?"2":"0");
newUser.setCreateBy("sync");
--
Gitblit v1.9.1