package com.ruoyi.system.controller; import com.ruoyi.common.core.domain.AjaxResult; import com.ruoyi.system.service.ILegacyTransferSyncService; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; /** * 任务同步控制器 * * @author ruoyi */ @RestController @RequestMapping("/task") public class TaskSyncController { private static final Logger log = LoggerFactory.getLogger(TaskSyncController.class); @Autowired private ILegacyTransferSyncService legacyTransferSyncService; /** * 从旧系统同步数据到新系统 * * @param serviceOrdID 服务单ID * @param dispatchOrdID 调度单ID * @return 同步结果 */ @PostMapping("/syncFromLegacySystem") public AjaxResult syncFromLegacySystem(@RequestBody SyncRequest request) { try { Long serviceOrdID = request.getServiceOrdID(); Long dispatchOrdID = request.getDispatchOrdID(); // 参数验证 if (serviceOrdID == null || serviceOrdID <= 0) { return AjaxResult.error("服务单ID不能为空且必须大于0"); } if (dispatchOrdID == null || dispatchOrdID <= 0) { return AjaxResult.error("调度单ID不能为空且必须大于0"); } log.info("开始从旧系统同步数据到新系统: ServiceOrdID={}, DispatchOrdID={}", serviceOrdID, dispatchOrdID); // 调用同步服务 boolean result = legacyTransferSyncService.syncSingleTransferOrder(serviceOrdID, dispatchOrdID); if (result) { log.info("从旧系统同步数据成功: ServiceOrdID={}, DispatchOrdID={}", serviceOrdID, dispatchOrdID); return AjaxResult.success("同步成功"); } else { log.error("从旧系统同步数据失败: ServiceOrdID={}, DispatchOrdID={}", serviceOrdID, dispatchOrdID); return AjaxResult.error("同步失败"); } } catch (Exception e) { log.error("从旧系统同步数据异常: ServiceOrdID={}, DispatchOrdID={}", request.getServiceOrdID(), request.getDispatchOrdID(), e); return AjaxResult.error("同步异常: " + e.getMessage()); } } /** * 同步请求参数类 */ public static class SyncRequest { private Long serviceOrdID; private Long dispatchOrdID; public Long getServiceOrdID() { return serviceOrdID; } public void setServiceOrdID(Long serviceOrdID) { this.serviceOrdID = serviceOrdID; } public Long getDispatchOrdID() { return dispatchOrdID; } public void setDispatchOrdID(Long dispatchOrdID) { this.dispatchOrdID = dispatchOrdID; } } }