package com.ruoyi.quartz.task; 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; /** * 旧系统同步定时任务 * * @author ruoyi * @date 2024-01-20 */ @Component("legacySystemSyncTask") public class LegacySystemSyncTask { private static final Logger log = LoggerFactory.getLogger(LegacySystemSyncTask.class); @Autowired private ILegacySystemSyncService legacySystemSyncService; /** * 批量同步未同步的急救转运任务到旧系统 * * 使用示例: * 在系统管理 -> 定时任务中添加: * 任务名称: 旧系统任务同步 * 任务组名: DEFAULT * 调用目标字符串: legacySystemSyncTask.syncPendingTasks() * cron表达式: 0 0/10 * * * ? (每10分钟执行一次) */ public void syncPendingTasks() { log.info("开始执行旧系统任务同步定时任务"); try { int successCount = legacySystemSyncService.batchSyncPendingTasks(); log.info("旧系统任务同步完成,成功同步: {} 个任务", successCount); } catch (Exception e) { log.error("旧系统任务同步异常", e); } } /** * 同步指定任务到旧系统 * * @param taskId 任务ID */ public void syncTask(String taskId) { log.info("开始同步单个任务到旧系统,任务ID: {}", taskId); try { Long id = Long.parseLong(taskId); Long serviceOrdId = legacySystemSyncService.syncEmergencyTaskToLegacy(id); if (serviceOrdId != null && serviceOrdId > 0) { log.info("任务同步成功,任务ID: {}, ServiceOrdID: {}", taskId, serviceOrdId); } else { log.error("任务同步失败,任务ID: {}", taskId); } } catch (Exception e) { log.error("同步任务异常,任务ID: {}", taskId, e); } } /** * 批量同步未同步的调度单到旧系统 * * 使用示例: * 在系统管理 -> 定时任务中添加: * 任务名称: 旧系统调度单同步 * 任务组名: DEFAULT * 调用目标字符串: legacySystemSyncTask.syncPendingDispatchOrders() * cron表达式: 0 0/10 * * * ? (每10分钟执行一次) */ public void syncPendingDispatchOrders() { log.info("开始执行旧系统调度单同步定时任务"); try { int successCount = legacySystemSyncService.batchSyncPendingDispatchOrders(); log.info("旧系统调度单同步完成,成功同步: {} 个任务", successCount); } catch (Exception e) { log.error("旧系统调度单同步异常", e); } } }