From a02c1e14132c4312b2331275df1d79caad23d54f Mon Sep 17 00:00:00 2001 From: dongyukun <1208714201@qq.com> Date: 星期二, 25 二月 2025 15:04:51 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/api/MdkApiImpl.java | 25 +++++++++++++++---------- 1 files changed, 15 insertions(+), 10 deletions(-) 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 9a07f72..bc62e43 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 @@ -10,6 +10,7 @@ import com.iailab.module.model.common.enums.IsWriteEnum; import com.iailab.module.model.common.enums.ModelOutResultType; import com.iailab.module.model.common.enums.OutResultType; +import com.iailab.module.model.enums.CommonConstant; import com.iailab.module.model.mcs.pre.entity.DmModuleEntity; import com.iailab.module.model.mcs.pre.service.DmModuleService; import com.iailab.module.model.mcs.pre.service.MmPredictItemService; @@ -24,6 +25,7 @@ import com.iailab.module.model.mdk.vo.PredictResultVO; import com.iailab.module.model.mdk.vo.ScheduleResultVO; import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.redis.core.RedisTemplate; import org.springframework.util.CollectionUtils; @@ -98,15 +100,8 @@ if (reqDTO.getModuleType() == null) { throw new Exception("ModuleType不能为空"); } - Calendar calendar = Calendar.getInstance(); - calendar.setTime(reqDTO.getPredictTime()); - calendar.set(Calendar.MILLISECOND, 0); - calendar.set(Calendar.SECOND, 0); - reqDTO.setPredictTime(calendar.getTime()); + log.info("预测参数:" + JSON.toJSONString(reqDTO)); - MdkPredictModuleRespDTO result = new MdkPredictModuleRespDTO(); - result.setPredictTime(reqDTO.getPredictTime()); - result.setModuleType(reqDTO.getModuleType()); List<DmModuleEntity> moduleList = dmModuleService.getModuleByModuleType(reqDTO.getModuleType()); log.info("预测计算开始: " + System.currentTimeMillis()); for (DmModuleEntity module : moduleList) { @@ -261,12 +256,16 @@ try { if (redisTemplate.hasKey(catchKey)) { log.info("查找调度结果缓存: " + catchKey); - return JSON.parseObject(JSONObject.toJSONString(redisTemplate.opsForValue().get(catchKey)), MdkScheduleRespDTO.class); + return JSON.parseObject(redisTemplate.opsForValue().get(catchKey).toString(), MdkScheduleRespDTO.class); } log.info("调度计算开始: " + System.currentTimeMillis()); log.info("reqDTO=" + JSON.toJSONString(reqDTO)); ScheduleResultVO scheduleResult = scheduleModelHandler.doSchedule(reqDTO.getScheduleCode(), reqDTO.getScheduleTime(), reqDTO.getDynamicDataLength(), reqDTO.getDynamicSettings()); + if(StringUtils.isBlank(scheduleResult.getResultCode()) || !CommonConstant.MDK_STATUS_100.equals(scheduleResult.getResultCode())) { + stScheduleSchemeService.updateTime(scheduleResult.getSchemeId(), scheduleResult.getScheduleTime(), CommonConstant.MDK_STATUS_500); + throw new Exception("模型调用失败!"); + } resp.setStatusCode(scheduleResult.getResultCode()); resp.setResult(scheduleResult.getResult()); redisTemplate.opsForValue().set(catchKey, JSON.toJSONString(resp), offset, TimeUnit.SECONDS); @@ -302,7 +301,13 @@ ModelOutResultType modelOutResultType = ModelOutResultType.getEumByCode(stScheduleModelOutDTO.getResultType()); switch (modelOutResultType) { case D: - value = (Double) resultValue; + if (resultValue instanceof Integer) { + value = ((Integer) resultValue).doubleValue(); + } else if (resultValue instanceof Double) { + value = (Double) resultValue; + } else { + System.out.println("resultValue is not a number"); + } break; case D1: ArrayList<Double> doubleList = (ArrayList<Double>) resultValue; -- Gitblit v1.9.3