From bdf4613733c1dd902209358c9ab6f10040adf759 Mon Sep 17 00:00:00 2001
From: Jay <csj123456>
Date: 星期四, 24 四月 2025 19:18:13 +0800
Subject: [PATCH] 新增执行调度方案并下发点位接口

---
 iailab-module-model/iailab-module-model-api/src/main/java/com/iailab/module/model/api/mdk/MdkApi.java |    4 ++++
 iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/api/MdkApiImpl.java |   26 ++++++++++++++++++++++++++
 2 files changed, 30 insertions(+), 0 deletions(-)

diff --git a/iailab-module-model/iailab-module-model-api/src/main/java/com/iailab/module/model/api/mdk/MdkApi.java b/iailab-module-model/iailab-module-model-api/src/main/java/com/iailab/module/model/api/mdk/MdkApi.java
index 9f56abf..5991822 100644
--- a/iailab-module-model/iailab-module-model-api/src/main/java/com/iailab/module/model/api/mdk/MdkApi.java
+++ b/iailab-module-model/iailab-module-model-api/src/main/java/com/iailab/module/model/api/mdk/MdkApi.java
@@ -58,4 +58,8 @@
     @PostMapping(PREFIX + "/predict-item/influenceFactorHandle")
     @Operation(summary = "影响因素计算")
     void influenceFactorHandle(@RequestBody MmPredictInfluenceFactorHandleReqVO reqVO);
+
+    @PostMapping(PREFIX + "/schedule-scheme-out")
+    @Operation(summary = "执行调度方案并下发点位")
+    MdkScheduleRespDTO doScheduleAndOut(@Valid @RequestBody MdkScheduleReqDTO reqDTO);
 }
diff --git a/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/api/MdkApiImpl.java b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/api/MdkApiImpl.java
index d43affd..821dafe 100644
--- a/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/api/MdkApiImpl.java
+++ b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/api/MdkApiImpl.java
@@ -429,4 +429,30 @@
     public void influenceFactorHandle(MmPredictInfluenceFactorHandleReqVO reqVO) {
         influenceFactorService.influenceFactorHandle(reqVO);
     }
+
+    @Override
+    public MdkScheduleRespDTO doScheduleAndOut(MdkScheduleReqDTO reqDTO) {
+        MdkScheduleRespDTO resp = new MdkScheduleRespDTO();
+        resp.setScheduleCode(reqDTO.getScheduleCode());
+        resp.setScheduleTime(reqDTO.getScheduleTime());
+        try {
+            log.info("调度计算开始: " + System.currentTimeMillis());
+            log.info("reqDTO=" + JSON.toJSONString(reqDTO));
+            ScheduleResultVO scheduleResult = scheduleModelHandler.doSchedule(reqDTO.getScheduleCode(), reqDTO.getScheduleTime(),
+                    reqDTO.getDynamicDataLength(), reqDTO.getDynamicSettings());
+            resp.setStatusCode(scheduleResult.getResultCode());
+            resp.setResult(scheduleResult.getResult());
+            stScheduleRecordService.create(scheduleResult);
+            stScheduleSchemeService.updateTime(scheduleResult.getSchemeId(), scheduleResult.getScheduleTime(), scheduleResult.getResultCode());
+            log.info("调度计算结束: " + System.currentTimeMillis());
+            log.info("调度计算结果开始下发");
+            scheduleModelOut(resp);
+            log.info("调度计算结果开始下发结束");
+        } catch (Exception ex) {
+            log.info("调度计算异常: " + System.currentTimeMillis());
+            ex.printStackTrace();
+            return resp;
+        }
+        return resp;
+    }
 }
\ No newline at end of file

--
Gitblit v1.9.3