From 0a3eed02e78dfeeb7763a4b62992eefcd1f5a0ca Mon Sep 17 00:00:00 2001
From: wlzboy <66905212@qq.com>
Date: 星期二, 23 十二月 2025 23:33:34 +0800
Subject: [PATCH] feat: 优化状态变更时实时推送
---
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TaskStatusPushServiceImpl.java | 37 ++++++++++++++++++-------------------
1 files changed, 18 insertions(+), 19 deletions(-)
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TaskStatusPushServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TaskStatusPushServiceImpl.java
index 3c47332..98a4b8f 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TaskStatusPushServiceImpl.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TaskStatusPushServiceImpl.java
@@ -48,16 +48,15 @@
* @return 鏄惁鎺ㄩ�佹垚鍔�
*/
@Override
- @Transactional
public boolean pushTaskStatusToLegacy(Long taskId) {
if (!legacyConfig.isEnabled()) {
- log.info("鏃х郴缁熷悓姝ュ凡绂佺敤锛岃烦杩囩姸鎬佹帹閫侊紝浠诲姟ID: {}", taskId);
+// log.info("鏃х郴缁熷悓姝ュ凡绂佺敤锛岃烦杩囩姸鎬佹帹閫侊紝浠诲姟ID: {}", taskId);
return false;
}
try {
// 鏌ヨ浠诲姟淇℃伅
- log.debug("銆愭柊鎺ㄦ棫銆戞煡璇换鍔D: {}", taskId);
+// log.debug("銆愭柊鎺ㄦ棫銆戞煡璇换鍔D: {}", taskId);
SysTask task = sysTaskMapper.selectSysTaskByTaskId(taskId);
if (task == null) {
log.error("銆愭柊鎺ㄦ棫銆戜换鍔′笉瀛樺湪锛屼换鍔D: {}", taskId);
@@ -66,7 +65,7 @@
// 鍙帹閫佹�ユ晳杞繍浠诲姟
if (!"EMERGENCY_TRANSFER".equals(task.getTaskType())) {
- log.info("闈炴�ユ晳杞繍浠诲姟锛岃烦杩囩姸鎬佹帹閫侊紝浠诲姟ID: {}", taskId);
+// log.info("闈炴�ユ晳杞繍浠诲姟锛岃烦杩囩姸鎬佹帹閫侊紝浠诲姟ID: {}", taskId);
return false;
}
@@ -110,10 +109,10 @@
// 鍒ゆ柇鏄惁闇�瑕佹洿鏂帮紙鍖呭惈闃叉鐘舵�佸�掗��鐨勬鏌ワ級
// 濡傛灉鏃х郴缁熺姸鎬佸凡缁� >= 鏂扮郴缁熻鎺ㄩ�佺殑鐘舵�侊紝璇存槑鏃х郴缁熺姸鎬佹洿鏂帮紝鏂扮郴缁熻惤鍚庯紝涓嶅簲璇ユ帹閫�
if (!TaskStatusPushConverter.shouldUpdateLegacyStatus(targetStatusCode, currentLegacyStatus)) {
- log.info("銆愭柊鎺ㄦ棫銆戞柊绯荤粺鐘舵�佽惤鍚庢垨绛変簬鏃х郴缁熺姸鎬侊紝璺宠繃鎺ㄩ�侊紝浠诲姟ID: {}, 鏂扮郴缁熺姸鎬�: {} ({}鈫抺}), 鏃х郴缁熺姸鎬�: {} ({})",
- taskId,
- task.getTaskStatus(), newTaskStatus.getInfo(), targetStatusCode,
- currentLegacyStatus, TaskStatusPushConverter.getLegacyStatusDescription(currentLegacyStatus));
+// log.info("銆愭柊鎺ㄦ棫銆戞柊绯荤粺鐘舵�佽惤鍚庢垨绛変簬鏃х郴缁熺姸鎬侊紝璺宠繃鎺ㄩ�侊紝浠诲姟ID: {}, 鏂扮郴缁熺姸鎬�: {} ({}鈫抺}), 鏃х郴缁熺姸鎬�: {} ({})",
+// taskId,
+// task.getTaskStatus(), newTaskStatus.getInfo(), targetStatusCode,
+// currentLegacyStatus, TaskStatusPushConverter.getLegacyStatusDescription(currentLegacyStatus));
return true; // 杩斿洖true锛屽洜涓鸿繖涓嶇畻澶辫触锛屽彧鏄笉闇�瑕佹帹閫�
}
@@ -161,11 +160,11 @@
List<SysTaskEmergency> syncedTasks = sysTaskEmergencyService.selectSyncedTasksForStatusUpdate(offset, pageSize);
if (syncedTasks == null || syncedTasks.isEmpty()) {
- log.info("銆愭柊鎺ㄦ棫銆戞病鏈夋洿澶氶渶瑕佹帹閫佺姸鎬佺殑浠诲姟锛宱ffset: {}", offset);
+// log.info("銆愭柊鎺ㄦ棫銆戞病鏈夋洿澶氶渶瑕佹帹閫佺姸鎬佺殑浠诲姟锛宱ffset: {}", offset);
break; // 娌℃湁鏇村鏁版嵁锛岄��鍑哄惊鐜�
}
- log.info("銆愭柊鎺ㄦ棫銆戝紑濮嬫帹閫佺姸鎬佺 {} 椤碉紝浠诲姟鏁伴噺: {}", (offset / pageSize) + 1, syncedTasks.size());
+// log.info("銆愭柊鎺ㄦ棫銆戝紑濮嬫帹閫佺姸鎬佺 {} 椤碉紝浠诲姟鏁伴噺: {}", (offset / pageSize) + 1, syncedTasks.size());
int pageSuccessCount = 0;
for (SysTaskEmergency emergency : syncedTasks) {
@@ -179,25 +178,25 @@
Thread.sleep(200); // 姣忎釜璇锋眰闂撮殧0.2绉�
} catch (InterruptedException e) {
Thread.currentThread().interrupt();
- log.warn("銆愭柊鎺ㄦ棫銆戞帹閫佺姸鎬佽涓柇");
+// log.warn("銆愭柊鎺ㄦ棫銆戞帹閫佺姸鎬佽涓柇");
return totalSuccessCount + pageSuccessCount;
}
}
totalSuccessCount += pageSuccessCount;
- log.info("鐘舵�佺 {} 椤垫帹閫佸畬鎴愶紝鎬绘暟: {}, 鎴愬姛: {}",
- (offset / pageSize) + 1, syncedTasks.size(), pageSuccessCount);
+// log.info("鐘舵�佺 {} 椤垫帹閫佸畬鎴愶紝鎬绘暟: {}, 鎴愬姛: {}",
+// (offset / pageSize) + 1, syncedTasks.size(), pageSuccessCount);
// 濡傛灉鏈〉鏁版嵁灏戜簬姣忛〉澶у皬锛岃鏄庡凡缁忔槸鏈�鍚庝竴椤�
if (syncedTasks.size() < pageSize) {
- log.info("銆愭柊鎺ㄦ棫銆戝凡鍒拌揪鏈�鍚庝竴椤碉紝鐘舵�佹帹閫佺粨鏉�");
+// log.info("銆愭柊鎺ㄦ棫銆戝凡鍒拌揪鏈�鍚庝竴椤碉紝鐘舵�佹帹閫佺粨鏉�");
break;
}
offset += pageSize; // 涓嬩竴椤�
}
- log.info("銆愭柊鎺ㄦ棫銆戞壒閲忔帹閫佷换鍔$姸鎬佸畬鎴愶紝鎬绘垚鍔熸暟: {}", totalSuccessCount);
+// log.info("銆愭柊鎺ㄦ棫銆戞壒閲忔帹閫佷换鍔$姸鎬佸畬鎴愶紝鎬绘垚鍔熸暟: {}", totalSuccessCount);
return totalSuccessCount;
} catch (Exception e) {
@@ -217,13 +216,13 @@
try {
// 鐩存帴閫氳繃Service璋冪敤Mapper鏇存柊SQL Server鏁版嵁搴�
int rows = dispatchOrdService.updateDispatchOrdState(dispatchOrdId, statusCode);
- log.debug("鏇存柊鏃х郴缁熺姸鎬侊紝DispatchOrdID: {}, StateInt: {}", dispatchOrdId, statusCode);
+// log.debug("鏇存柊鏃х郴缁熺姸鎬侊紝DispatchOrdID: {}, StateInt: {}", dispatchOrdId, statusCode);
if (rows > 0) {
- log.debug("鏇存柊鏃х郴缁熺姸鎬佹垚鍔燂紝DispatchOrdID: {}, StateInt: {}",
- dispatchOrdId, statusCode);
+// log.debug("鏇存柊鏃х郴缁熺姸鎬佹垚鍔燂紝DispatchOrdID: {}, StateInt: {}",
+// dispatchOrdId, statusCode);
return true;
} else {
- log.warn("鏇存柊鏃х郴缁熺姸鎬佸け璐ワ紝鏈壘鍒板搴旇皟搴﹀崟锛孌ispatchOrdID: {}", dispatchOrdId);
+// log.warn("鏇存柊鏃х郴缁熺姸鎬佸け璐ワ紝鏈壘鍒板搴旇皟搴﹀崟锛孌ispatchOrdID: {}", dispatchOrdId);
return false;
}
--
Gitblit v1.9.1