From 11a7424fd4e119e5094764bf19cc359e2b3eb76d Mon Sep 17 00:00:00 2001
From: 潘志宝 <979469083@qq.com>
Date: 星期四, 02 一月 2025 16:39:44 +0800
Subject: [PATCH] 模型结果异常 显示

---
 iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mdk/schedule/impl/ScheduleModelHandlerImpl.java |   31 ++++++++++++++++---------------
 1 files changed, 16 insertions(+), 15 deletions(-)

diff --git a/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mdk/schedule/impl/ScheduleModelHandlerImpl.java b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mdk/schedule/impl/ScheduleModelHandlerImpl.java
index 26a3f6c..ec0e7b0 100644
--- a/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mdk/schedule/impl/ScheduleModelHandlerImpl.java
+++ b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mdk/schedule/impl/ScheduleModelHandlerImpl.java
@@ -1,5 +1,6 @@
 package com.iailab.module.model.mdk.schedule.impl;
 
+import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import com.iail.model.IAILModel;
@@ -61,7 +62,9 @@
         String modelId = scheduleModel.getId();
         try {
             //1.根据模型id构造模型输入样本
-            List<SampleData> sampleDataList = sampleConstructor.constructSample(TypeA.Schedule.name(), modelId, scheduleTime);
+            long now = System.currentTimeMillis();
+            List<SampleData> sampleDataList = sampleConstructor.constructSample(TypeA.Schedule.name(), modelId, scheduleTime,scheduleScheme.getName());
+            log.info("构造模型输入样本消耗时长:" + (System.currentTimeMillis() - now) / 1000 + "秒");
             if (CollectionUtils.isEmpty(sampleDataList)) {
                 log.info("调度模型构造样本失败,schemeCode=" + schemeCode);
                 return null;
@@ -86,28 +89,26 @@
             param2Values[portLength] = settings;
 
             log.info("#######################调度模型 " + scheduleModel.getModelName() + " ##########################");
-            JSONObject jsonObjNewModelBean = new JSONObject();
-            jsonObjNewModelBean.put("newModelBean", newModelBean);
-            log.info(String.valueOf(jsonObjNewModelBean));
-            JSONObject jsonObjParam2Values = new JSONObject();
-            jsonObjParam2Values.put("param2Values", param2Values);
-            log.info(String.valueOf(jsonObjParam2Values));
-
+            log.info("参数: " + JSON.toJSONString(param2Values));
             //IAILMDK.run
             HashMap<String, Object> modelResult = DllUtils.run(newModelBean, param2Values, scheduleScheme.getMpkprojectid());
-            if (!modelResult.containsKey(CommonConstant.MDK_STATUS_CODE) || !modelResult.containsKey(CommonConstant.MDK_RESULT) ||
-                    !modelResult.get(CommonConstant.MDK_STATUS_CODE).toString().equals(CommonConstant.MDK_STATUS_100)) {
-                throw new RuntimeException("模型结果异常:" + modelResult);
+            if (!modelResult.containsKey(CommonConstant.MDK_STATUS_CODE) || !modelResult.containsKey(CommonConstant.MDK_RESULT)) {
+                log.info("模型结果异常:" + modelResult);
             }
-            modelResult = (HashMap<String, Object>) modelResult.get(CommonConstant.MDK_RESULT);
-
+            String statusCode = modelResult.get(CommonConstant.MDK_STATUS_CODE).toString();
+            HashMap<String, Object> result = new HashMap<>();
+            if (modelResult.containsKey(CommonConstant.MDK_RESULT) && modelResult.get(CommonConstant.MDK_RESULT) != null &&
+                    CommonConstant.MDK_STATUS_100.equals(modelResult.get(CommonConstant.MDK_STATUS_CODE).toString())) {
+                result = (HashMap<String, Object>) modelResult.get(CommonConstant.MDK_RESULT);
+            }
             //打印结果
             JSONObject jsonObjResult = new JSONObject();
-            jsonObjResult.put("result", modelResult);
+            jsonObjResult.put("result", result);
             log.info(String.valueOf(jsonObjResult));
 
             //5.返回调度结果
-            scheduleResult.setResult(modelResult);
+            scheduleResult.setResultCode(statusCode);
+            scheduleResult.setResult(result);
             scheduleResult.setModelId(modelId);
             scheduleResult.setSchemeId(scheduleScheme.getId());
             scheduleResult.setScheduleTime(scheduleTime);

--
Gitblit v1.9.3