From d79c5f396b23520e6370e9d9b6abc31938a0e83f Mon Sep 17 00:00:00 2001 From: dongyukun <1208714201@qq.com> Date: 星期二, 29 四月 2025 18:33:12 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/service/MmModelArithSettingsService.java | 2 ++ iailab-framework/iailab-common/src/main/java/com/iailab/framework/common/exception/enums/GlobalErrorCodeConstants.java | 1 + iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/service/MmPredictModelService.java | 2 ++ iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/service/impl/MmModelArithSettingsServiceImpl.java | 5 +++++ iailab-module-model/iailab-module-model-biz/src/main/resources/mapper/mcs/MmModelArithSettings.xml | 3 +++ iailab-module-model/iailab-module-model-api/src/main/java/com/iailab/module/model/api/mcs/McsApi.java | 5 ++++- iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/api/controller/admin/McsApiController.java | 7 +++++++ iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/dao/MmModelArithSettingsDao.java | 2 ++ iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/api/McsApiImpl.java | 15 +++++++++++++++ iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/service/impl/MmPredictModelServiceImpl.java | 5 +++++ iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mpk/controller/admin/MdkController.java | 8 +++++--- 11 files changed, 51 insertions(+), 4 deletions(-) diff --git a/iailab-framework/iailab-common/src/main/java/com/iailab/framework/common/exception/enums/GlobalErrorCodeConstants.java b/iailab-framework/iailab-common/src/main/java/com/iailab/framework/common/exception/enums/GlobalErrorCodeConstants.java index bf1e415..a121575 100644 --- a/iailab-framework/iailab-common/src/main/java/com/iailab/framework/common/exception/enums/GlobalErrorCodeConstants.java +++ b/iailab-framework/iailab-common/src/main/java/com/iailab/framework/common/exception/enums/GlobalErrorCodeConstants.java @@ -36,6 +36,7 @@ // ========== 自定义错误段 ========== ErrorCode REPEATED_REQUESTS = new ErrorCode(900, "重复请求,请稍后重试"); // 重复请求 ErrorCode DEMO_DENY = new ErrorCode(901, "演示模式,禁止写操作"); + ErrorCode NOT_GENERAT = new ErrorCode(902, "测试运行模型前请先生成代码"); ErrorCode UNKNOWN = new ErrorCode(999, "未知错误"); diff --git a/iailab-module-model/iailab-module-model-api/src/main/java/com/iailab/module/model/api/mcs/McsApi.java b/iailab-module-model/iailab-module-model-api/src/main/java/com/iailab/module/model/api/mcs/McsApi.java index 26839f3..23e129e 100644 --- a/iailab-module-model/iailab-module-model-api/src/main/java/com/iailab/module/model/api/mcs/McsApi.java +++ b/iailab-module-model/iailab-module-model-api/src/main/java/com/iailab/module/model/api/mcs/McsApi.java @@ -12,7 +12,6 @@ import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestParam; -import javax.validation.Valid; import java.math.BigDecimal; import java.util.List; import java.util.Map; @@ -169,4 +168,8 @@ @Operation(summary = "根据预测时间获取最后预测值") Map<String, BigDecimal> getPredictValueByTime(@RequestBody PredictLastValueReqVO reqVO); + @GetMapping(PREFIX + "/predict/model/setting/update") + @Operation(summary = "修改预测模型配置") + Boolean updatePredictModelSetting(@RequestParam("modelCode") String modelCode, @RequestParam("key") String key, @RequestParam("value") String value); + } \ No newline at end of file diff --git a/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/api/McsApiImpl.java b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/api/McsApiImpl.java index 19268d2..45a1ee3 100644 --- a/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/api/McsApiImpl.java +++ b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/api/McsApiImpl.java @@ -23,6 +23,7 @@ import com.iailab.module.model.mcs.pre.entity.DmModuleEntity; import com.iailab.module.model.mcs.pre.entity.MmItemOutputEntity; import com.iailab.module.model.mcs.pre.entity.MmPredictAlarmMessageEntity; +import com.iailab.module.model.mcs.pre.entity.MmPredictModelEntity; import com.iailab.module.model.mcs.pre.enums.PredGranularityEnum; import com.iailab.module.model.mcs.pre.service.*; import com.iailab.module.model.mcs.pre.vo.MmItemOutputRespVO; @@ -117,6 +118,13 @@ @Autowired private StScheduleModelSettingService stScheduleModelSettingService; + + @Autowired + private MmPredictModelService mmPredictModelService; + + @Autowired + private MmModelArithSettingsService mmModelArithSettingsService; + private int HOUR_MINS = 60; @Override @@ -989,6 +997,13 @@ return stScheduleSuggestService.getLastSuggest(params); } + @Override + public Boolean updatePredictModelSetting(String modelCode, String key, String value) { + MmPredictModelEntity model = mmPredictModelService.getByModelCode(modelCode); + mmModelArithSettingsService.updateByModelIdAndKey(model.getId(), key, value); + return true; + } + private Date[] calResultTime(ItemVO predictItem, Date startTimeReq, Date endTimeReq, int lengthLeft, int lengthRight) { Date[] result = new Date[3]; Date predictTime = predictItem.getLastTime(); diff --git a/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/api/controller/admin/McsApiController.java b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/api/controller/admin/McsApiController.java index 39fa9f8..bd37854 100644 --- a/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/api/controller/admin/McsApiController.java +++ b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/api/controller/admin/McsApiController.java @@ -275,4 +275,11 @@ List<ScheduleSuggestRespDTO> data = mcsApi.getLastSuggest(params); return CommonResult.success(data); } + + @GetMapping("/predict/model/setting/update") + @Operation(summary = "修改调度模型配置") + public CommonResult<Boolean> updatePredictModelSetting(@RequestParam("modelCode") String modelCode, @RequestParam("key") String key, @RequestParam("value") String value){ + mcsApi.updatePredictModelSetting(modelCode, key, value); + return success( true); + } } \ No newline at end of file diff --git a/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/dao/MmModelArithSettingsDao.java b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/dao/MmModelArithSettingsDao.java index 82b30a0..f2a40f2 100644 --- a/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/dao/MmModelArithSettingsDao.java +++ b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/dao/MmModelArithSettingsDao.java @@ -33,4 +33,6 @@ void insertList(List<MmModelArithSettingsEntity> list); void updatePyFile(@Param("likeValue") String likeValue,@Param("value") String value); + + void updateByModelIdAndKey(@Param("modelId") String modelId,@Param("key") String key,@Param("value") String value); } diff --git a/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/service/MmModelArithSettingsService.java b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/service/MmModelArithSettingsService.java index dff36f4..99ee534 100644 --- a/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/service/MmModelArithSettingsService.java +++ b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/service/MmModelArithSettingsService.java @@ -15,4 +15,6 @@ List<MmModelArithSettingsEntity> getByModelId(String modelId); void updatePyFile(String pyModule, String fileName); + + void updateByModelIdAndKey(String modelId, String key, String value); } diff --git a/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/service/MmPredictModelService.java b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/service/MmPredictModelService.java index b65f7ac..bce9d19 100644 --- a/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/service/MmPredictModelService.java +++ b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/service/MmPredictModelService.java @@ -27,4 +27,6 @@ MmPredictModelEntity getActiveModelByItemId(String itemId); void clearCache(); + + MmPredictModelEntity getByModelCode(String modelCode); } diff --git a/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/service/impl/MmModelArithSettingsServiceImpl.java b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/service/impl/MmModelArithSettingsServiceImpl.java index dc13a83..88fa486 100644 --- a/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/service/impl/MmModelArithSettingsServiceImpl.java +++ b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/service/impl/MmModelArithSettingsServiceImpl.java @@ -60,4 +60,9 @@ // 清空缓存 modelIdMap.clear(); } + + @Override + public void updateByModelIdAndKey(String modelId, String key, String value) { + baseMapper.updateByModelIdAndKey(modelId,key,value); + } } diff --git a/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/service/impl/MmPredictModelServiceImpl.java b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/service/impl/MmPredictModelServiceImpl.java index 4738817..5aa03cf 100644 --- a/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/service/impl/MmPredictModelServiceImpl.java +++ b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/service/impl/MmPredictModelServiceImpl.java @@ -61,6 +61,11 @@ } @Override + public MmPredictModelEntity getByModelCode(String modelCode) { + return mmPredictModelDao.selectOne("modelno", modelCode); + } + + @Override public MmPredictModelEntity getInfo(String id) { return mmPredictModelDao.selectById(id); } diff --git a/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mpk/controller/admin/MdkController.java b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mpk/controller/admin/MdkController.java index 7e984d7..7b19755 100644 --- a/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mpk/controller/admin/MdkController.java +++ b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mpk/controller/admin/MdkController.java @@ -38,6 +38,7 @@ import java.util.*; import java.util.stream.Collectors; +import static com.iailab.framework.common.exception.enums.GlobalErrorCodeConstants.NOT_GENERAT; import static com.iailab.framework.common.pojo.CommonResult.error; import static com.iailab.framework.common.pojo.CommonResult.success; @@ -72,11 +73,13 @@ try { File jarFile = new File(mpkTenantBakFilePath + File.separator + MdkConstant.JAR + File.separator + dto.getPyName() + ".jar"); if (!jarFile.exists()) { - throw new RuntimeException("jar包不存在,请先生成代码。jarPath:" + jarFile.getAbsolutePath()); + log.error("jar包不存在,请先生成代码。jarPath:" + jarFile.getAbsolutePath()); + return CommonResult.error(NOT_GENERAT.getCode(),NOT_GENERAT.getMsg()); } File dllFile = new File(mpkTenantBakFilePath + File.separator + MdkConstant.DLL + File.separator + dto.getPyName() + ".dll"); if (!dllFile.exists()) { - throw new RuntimeException("dll文件不存在,请先生成代码。dllPath:" + dllFile.getAbsolutePath()); + log.error("dll文件不存在,请先生成代码。dllPath:" + dllFile.getAbsolutePath()); + return CommonResult.error(NOT_GENERAT.getCode(),NOT_GENERAT.getMsg()); } // 加载jar包 classLoader = DllUtils.loadJar(jarFile.getAbsolutePath()); @@ -152,7 +155,6 @@ DllUtils.unloadDll(classLoader); DllUtils.unloadJar(classLoader); } - System.gc(); } } diff --git a/iailab-module-model/iailab-module-model-biz/src/main/resources/mapper/mcs/MmModelArithSettings.xml b/iailab-module-model/iailab-module-model-biz/src/main/resources/mapper/mcs/MmModelArithSettings.xml index 1aa314a..71103ef 100644 --- a/iailab-module-model/iailab-module-model-biz/src/main/resources/mapper/mcs/MmModelArithSettings.xml +++ b/iailab-module-model/iailab-module-model-biz/src/main/resources/mapper/mcs/MmModelArithSettings.xml @@ -27,4 +27,7 @@ (#{item.id}, #{item.modelid}, #{item.key}, #{item.value}, #{item.name}, #{item.valuetype}) </foreach> </insert> + <update id="updateByModelIdAndKey"> + update t_mm_model_arith_settings set value = #{value} where `modelid` = #{modelId} and `key` = #{key} + </update> </mapper> \ No newline at end of file -- Gitblit v1.9.3