From d4fe921568bc29d72644a55fd194adf7f9277cb5 Mon Sep 17 00:00:00 2001
From: wlzboy <66905212@qq.com>
Date: 星期六, 22 十一月 2025 15:28:35 +0800
Subject: [PATCH] feat: 将旧系统数据同步到新系统
---
ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/LegacySystemSyncTask.java | 86 +++++++++++++++++++++++++++++++++++++++++++
1 files changed, 86 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 3e3f40b..6f28280 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,17 +1,27 @@
package com.ruoyi.quartz.task;
+import com.ruoyi.system.service.ITaskAttachmentSyncService;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import com.ruoyi.system.service.ILegacySystemSyncService;
+import com.ruoyi.system.service.ITaskStatusSyncService;
+import com.ruoyi.system.service.ITaskStatusPushService;
/**
* 鏃х郴缁熷悓姝ュ畾鏃朵换鍔�
*
* @author ruoyi
* @date 2024-01-20
+ *
+ * 鐩稿叧浠诲姟:
+ * 1. LegacySystemSyncTask - 鏃х郴缁熶换鍔″悓姝ワ紙鎬ユ晳杞繍浠诲姟鍜屾湇鍔″崟锛�
+ * 2. LegacyTransferSyncTask - 鏃х郴缁熻浆杩愬崟鍚屾锛堜粠SQL Server鍒版柊绯荤粺锛�
+ * 3. TaskStatusSyncService - 浠诲姟鐘舵�佸悓姝ワ紙浠庢棫绯荤粺鍒版柊绯荤粺锛�
+ * 4. TaskStatusPushService - 浠诲姟鐘舵�佹帹閫侊紙浠庢柊绯荤粺鍒版棫绯荤粺锛�
+ * 5. TaskAttachmentSyncService - 浠诲姟闄勪欢鍚屾锛堜粠鏂扮郴缁熷埌鏃х郴缁燂級
*/
@Component("legacySystemSyncTask")
public class LegacySystemSyncTask {
@@ -20,6 +30,17 @@
@Autowired
private ILegacySystemSyncService legacySystemSyncService;
+
+ @Autowired
+ private ITaskStatusSyncService taskStatusSyncService;
+
+ @Autowired
+ private ITaskStatusPushService taskStatusPushService;
+
+ @Autowired
+ private ITaskAttachmentSyncService taskAttachmentSyncService;
+
+
/**
* 鎵归噺鍚屾鏈悓姝ョ殑鎬ユ晳杞繍浠诲姟鍒版棫绯荤粺
@@ -80,4 +101,69 @@
log.error("鏃х郴缁熻皟搴﹀崟鍚屾寮傚父", e);
}
}
+
+ /**
+ * 鎵归噺鍚屾浠诲姟鐘舵�侊紙浠庢棫绯荤粺鍒版柊绯荤粺锛�
+ *
+ * 浣跨敤绀轰緥:
+ * 鍦ㄧ郴缁熺鐞� -> 瀹氭椂浠诲姟涓坊鍔�:
+ * 浠诲姟鍚嶇О: 浠诲姟鐘舵�佸悓姝�
+ * 浠诲姟缁勫悕: DEFAULT
+ * 璋冪敤鐩爣瀛楃涓�: legacySystemSyncTask.syncTaskStatusFromLegacy()
+ * cron琛ㄨ揪寮�: 0 0/5 * * * ? (姣�5鍒嗛挓鎵ц涓�娆�)
+ */
+ public void syncTaskStatusFromLegacy() {
+ log.info("寮�濮嬫墽琛屼换鍔$姸鎬佸悓姝ュ畾鏃朵换鍔★紙浠庢棫绯荤粺鍒版柊绯荤粺锛�");
+ try {
+ int successCount = taskStatusSyncService.batchSyncTaskStatusFromLegacy();
+ log.info("浠诲姟鐘舵�佸悓姝ュ畬鎴愶紝鎴愬姛鍚屾: {} 涓换鍔�", successCount);
+ } catch (Exception e) {
+ log.error("浠诲姟鐘舵�佸悓姝ュ紓甯�", e);
+ }
+ }
+
+ /**
+ * 鎵归噺鎺ㄩ�佷换鍔$姸鎬侊紙浠庢柊绯荤粺鍒版棫绯荤粺锛�
+ *
+ * 浣跨敤绀轰緥:
+ * 鍦ㄧ郴缁熺鐞� -> 瀹氭椂浠诲姟涓坊鍔�:
+ * 浠诲姟鍚嶇О: 浠诲姟鐘舵�佹帹閫�
+ * 浠诲姟缁勫悕: DEFAULT
+ * 璋冪敤鐩爣瀛楃涓�: legacySystemSyncTask.pushTaskStatusToLegacy()
+ * cron琛ㄨ揪寮�: 0 0/3 * * * ? (姣�3鍒嗛挓鎵ц涓�娆�)
+ */
+ public void pushTaskStatusToLegacy() {
+ log.info("寮�濮嬫墽琛屼换鍔$姸鎬佹帹閫佸畾鏃朵换鍔★紙浠庢柊绯荤粺鍒版棫绯荤粺锛�");
+ try {
+ int successCount = taskStatusPushService.batchPushTaskStatusToLegacy();
+ log.info("浠诲姟鐘舵�佹帹閫佸畬鎴愶紝鎴愬姛鎺ㄩ��: {} 涓换鍔�", successCount);
+ } catch (Exception e) {
+ 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);
+ }
+ }
}
--
Gitblit v1.9.1