From c6e38b6c66de5f5a8df5b8b2ab03a82c3b605db8 Mon Sep 17 00:00:00 2001
From: wlzboy <66905212@qq.com>
Date: 星期三, 03 十二月 2025 00:48:44 +0800
Subject: [PATCH] feat:优化同步
---
ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/LegacySystemSyncTask.java | 149 +++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 149 insertions(+), 0 deletions(-)
diff --git a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/LegacySystemSyncTask.java b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/LegacySystemSyncTask.java
index 2404483..c55b98f 100644
--- a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/LegacySystemSyncTask.java
+++ b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/LegacySystemSyncTask.java
@@ -1,5 +1,8 @@
package com.ruoyi.quartz.task;
+import com.ruoyi.system.service.ITaskAttachmentSyncService;
+import com.ruoyi.system.service.IPaymentSyncService;
+import com.ruoyi.system.service.IAdditionalFeeSyncService;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
@@ -14,6 +17,15 @@
*
* @author ruoyi
* @date 2024-01-20
+ *
+ * 鐩稿叧浠诲姟:
+ * 1. LegacySystemSyncTask - 鏃х郴缁熶换鍔″悓姝ワ紙鎬ユ晳杞繍浠诲姟鍜屾湇鍔″崟锛�
+ * 2. LegacyTransferSyncTask - 鏃х郴缁熻浆杩愬崟鍚屾锛堜粠SQL Server鍒版柊绯荤粺锛�
+ * 3. TaskStatusSyncService - 浠诲姟鐘舵�佸悓姝ワ紙浠庢棫绯荤粺鍒版柊绯荤粺锛�
+ * 4. TaskStatusPushService - 浠诲姟鐘舵�佹帹閫侊紙浠庢柊绯荤粺鍒版棫绯荤粺锛�
+ * 5. TaskAttachmentSyncService - 浠诲姟闄勪欢鍚屾锛堜粠鏂扮郴缁熷埌鏃х郴缁燂級
+ * 6. PaymentSyncService - 鏀粯淇℃伅鍚屾锛堝弻鍚戝悓姝ワ級
+ * 7. AdditionalFeeSyncService - 闄勫姞璐圭敤鍚屾锛堝弻鍚戝悓姝ワ級
*/
@Component("legacySystemSyncTask")
public class LegacySystemSyncTask {
@@ -28,6 +40,17 @@
@Autowired
private ITaskStatusPushService taskStatusPushService;
+
+ @Autowired
+ private ITaskAttachmentSyncService taskAttachmentSyncService;
+
+ @Autowired
+ private IPaymentSyncService paymentSyncService;
+
+ @Autowired
+ private IAdditionalFeeSyncService additionalFeeSyncService;
+
+
/**
* 鎵归噺鍚屾鏈悓姝ョ殑鎬ユ晳杞繍浠诲姟鍒版棫绯荤粺
@@ -128,4 +151,130 @@
log.error("浠诲姟鐘舵�佹帹閫佸紓甯�", e);
}
}
+
+ /**
+ * 鎵归噺鍚屾浠诲姟闄勪欢鍒版棫绯荤粺ImageData琛�
+ *
+ * 浣跨敤绀轰緥:
+ * 鍦ㄧ郴缁熺鐞� -> 瀹氭椂浠诲姟涓坊鍔�:
+ * 浠诲姟鍚嶇О: 浠诲姟闄勪欢鍚屾
+ * 浠诲姟缁勫悕: DEFAULT
+ * 璋冪敤鐩爣瀛楃涓�: legacySystemSyncTask.syncPendingAttachments()
+ * cron琛ㄨ揪寮�: 0 0/5 * * * ? (姣�5鍒嗛挓鎵ц涓�娆�)
+ *
+ * 鍚屾鏉′欢:
+ * 1. 鎵�灞炰换鍔$殑璋冨害鍗曞凡鍚屾鎴愬姛 (dispatch_sync_status = 2)
+ * 2. 闄勪欢鏈悓姝� (synced_to_image_data = 0 鎴� null)
+ * 3. 鏈夎皟搴﹀崟ID鍜屾湇鍔″崟ID
+ */
+ public void syncPendingAttachments() {
+ log.info("寮�濮嬫墽琛屼换鍔¢檮浠跺悓姝ュ畾鏃朵换鍔�");
+ try {
+ int successCount = taskAttachmentSyncService.batchSyncPendingAttachments();
+ log.info("浠诲姟闄勪欢鍚屾瀹屾垚锛屾垚鍔熷悓姝�: {} 涓檮浠�", successCount);
+ } catch (Exception e) {
+ log.error("浠诲姟闄勪欢鍚屾寮傚父", e);
+ }
+ }
+
+ /**
+ * 鎵归噺鍚屾鏀粯淇℃伅鍒版棫绯荤粺PaidMoney琛�
+ *
+ * 浣跨敤绀轰緥:
+ * 鍦ㄧ郴缁熺鐞� -> 瀹氭椂浠诲姟涓坊鍔�:
+ * 浠诲姟鍚嶇О: 鏀粯淇℃伅鍚屾
+ * 浠诲姟缁勫悕: DEFAULT
+ * 璋冪敤鐩爣瀛楃涓�: legacySystemSyncTask.syncPaymentToLegacy()
+ * cron琛ㄨ揪寮�: 0 0/10 * * * ? (姣�10鍒嗛挓鎵ц涓�娆�)
+ */
+ public void syncPaymentToLegacy() {
+ log.info("寮�濮嬫墽琛屾敮浠樹俊鎭悓姝ュ畾鏃朵换鍔★紙鏂扮郴缁� -> 鏃х郴缁燂級");
+ try {
+ int successCount = paymentSyncService.batchSyncPaymentToLegacy();
+ log.info("鏀粯淇℃伅鍚屾瀹屾垚锛屾垚鍔熷悓姝�: {} 鏉¤褰�", successCount);
+ } catch (Exception e) {
+ log.error("鏀粯淇℃伅鍚屾寮傚父", e);
+ }
+ }
+
+ /**
+ * 鎵归噺鍚屾鏀粯淇℃伅浠庢棫绯荤粺鍒版柊绯荤粺
+ *
+ * 浣跨敤绀轰緥:
+ * 鍦ㄧ郴缁熺鐞� -> 瀹氭椂浠诲姟涓坊鍔�:
+ * 浠诲姟鍚嶇О: 鏀粯淇℃伅鍙嶅悜鍚屾
+ * 浠诲姟缁勫悕: DEFAULT
+ * 璋冪敤鐩爣瀛楃涓�: legacySystemSyncTask.syncPaymentFromLegacy()
+ * cron琛ㄨ揪寮�: 0 0/15 * * * ? (姣�15鍒嗛挓鎵ц涓�娆�)
+ */
+ public void syncPaymentFromLegacy() {
+ log.info("寮�濮嬫墽琛屾敮浠樹俊鎭悓姝ュ畾鏃朵换鍔★紙鏃х郴缁� -> 鏂扮郴缁燂級");
+ try {
+ int successCount = paymentSyncService.batchSyncPaymentFromLegacy();
+ log.info("鏀粯淇℃伅鍚屾瀹屾垚锛屾垚鍔熷悓姝�: {} 鏉¤褰�", successCount);
+ } catch (Exception e) {
+ log.error("鏀粯淇℃伅鍚屾寮傚父", e);
+ }
+ }
+
+ /**
+ * 鎵归噺鍚屾闄勫姞璐圭敤鍒版棫绯荤粺PaidMoney_Add琛�
+ *
+ * 浣跨敤绀轰緥:
+ * 鍦ㄧ郴缁熺鐞� -> 瀹氭椂浠诲姟涓坊鍔�:
+ * 浠诲姟鍚嶇О: 闄勫姞璐圭敤鍚屾
+ * 浠诲姟缁勫悕: DEFAULT
+ * 璋冪敤鐩爣瀛楃涓�: legacySystemSyncTask.syncAdditionalFeeToLegacy()
+ * cron琛ㄨ揪寮�: 0 0/10 * * * ? (姣�10鍒嗛挓鎵ц涓�娆�)
+ */
+ public void syncAdditionalFeeToLegacy() {
+ log.info("寮�濮嬫墽琛屾柊绯荤粺闄勫姞璐圭敤鍚屾瀹氭椂浠诲姟锛堟柊绯荤粺 -> 鏃х郴缁燂級");
+ try {
+ int successCount = additionalFeeSyncService.batchSyncAdditionalFeeToLegacy();
+ log.info("闄勫姞璐圭敤鍚屾瀹屾垚锛屾垚鍔熷悓姝�: {} 鏉¤褰�", successCount);
+ } catch (Exception e) {
+ log.error("闄勫姞璐圭敤鍚屾寮傚父", e);
+ }
+ }
+
+ /**
+ * 鎵归噺鍚屾闄勫姞璐圭敤浠庢棫绯荤粺鍒版柊绯荤粺
+ *
+ * 浣跨敤绀轰緥锛�
+ * 鍦ㄧ郴缁熺鐞� -> 瀹氭椂浠诲姟涓坊鍔狅細
+ * 浠诲姟鍚嶇О锛� 闄勫姞璐圭敤鍙嶅悜鍚屾
+ * 浠诲姟缁勫悕锛� DEFAULT
+ * 璋冪敤鐩爣瀛楃涓诧細 legacySystemSyncTask.syncAdditionalFeeFromLegacy()
+ * cron琛ㄨ揪寮忥細 0 0/15 * * * ? (姣�15鍒嗛挓鎵ц涓�娆�)
+ */
+ public void syncAdditionalFeeFromLegacy() {
+ log.info("寮�濮嬫墽琛屾棫绯荤粺闄勫姞璐圭敤鍚屾瀹氭椂浠诲姟锛堟棫绯荤粺 -> 鏂扮郴缁燂級");
+ try {
+ // 鍚屾鏈�杩�24灏忔椂鍐呯殑璁板綍
+ int successCount = additionalFeeSyncService.batchSyncAdditionalFeeFromLegacy(72);
+ log.info("鏃х郴缁熼檮鍔犺垂鐢ㄥ悓姝ュ畬鎴愶紝鎴愬姛鍚屾: {} 鏉¤褰�", successCount);
+ } catch (Exception e) {
+ log.error("闄勫姞璐圭敤鍚屾寮傚父", e);
+ }
+ }
+
+ /**
+ * 鎵归噺閲嶆柊鍚屾杞﹁締鍜屼汉鍛樺彉鏇寸殑浠诲姟
+ *
+ * 浣跨敤绀轰緥锛�
+ * 鍦ㄧ郴缁熺鐞� -> 瀹氭椂浠诲姟涓坊鍔狅細
+ * 浠诲姟鍚嶇О锛� 閲嶆柊鍚屾杞﹁締浜哄憳鍙樻洿
+ * 浠诲姟缁勫悕锛� DEFAULT
+ * 璋冪敤鐩爣瀛楃涓诧細 legacySystemSyncTask.resyncVehicleAndPersonnel()
+ * cron琛ㄨ揪寮忥細 0 0/5 * * * ? (姣�5鍒嗛挓鎵ц涓�娆�)
+ */
+ public void resyncVehicleAndPersonnel() {
+ log.info("寮�濮嬫墽琛岄噸鏂板悓姝ヨ溅杈嗗拰浜哄憳鍙樻洿鐨勪换鍔″畾鏃朵换鍔�");
+ try {
+ int successCount = legacySystemSyncService.batchResyncPendingDispatchOrders();
+ log.info("閲嶆柊鍚屾杞﹁締鍜屼汉鍛樺彉鏇村畬鎴愶紝鎴愬姛鍚屾: {} 涓换鍔�", successCount);
+ } catch (Exception e) {
+ log.error("閲嶆柊鍚屾杞﹁締鍜屼汉鍛樺彉鏇村紓甯�", e);
+ }
+ }
}
--
Gitblit v1.9.1