| | |
| | | private SampleConstructor sampleConstructor; |
| | | |
| | | @Override |
| | | public ScheduleResultVO doSchedule(String schemeCode, Date scheduleTime, Map<Integer, Integer> dynamicDataLength) throws ModelInvokeException { |
| | | public ScheduleResultVO doSchedule(String schemeCode, Date scheduleTime, Map<Integer, Integer> dynamicDataLength, |
| | | Map<String, String> dynamicSettings) throws ModelInvokeException { |
| | | ScheduleResultVO scheduleResult = new ScheduleResultVO(); |
| | | StScheduleSchemeEntity scheduleScheme = stScheduleSchemeService.getByCode(schemeCode); |
| | | StScheduleModelEntity scheduleModel = stScheduleModelService.get(scheduleScheme.getModelId()); |
| | |
| | | } |
| | | |
| | | IAILModel newModelBean = composeNewModelBean(scheduleModel); |
| | | HashMap<String, Object> settings = getScheduleSettingsByModelId(modelId); |
| | | HashMap<String, Object> settings = getScheduleSettingsByModelId(modelId, dynamicSettings); |
| | | if (settings == null) { |
| | | log.error("模型setting不存在,modelId=" + modelId); |
| | | return null; |
| | |
| | | * 根据模型id获取参数map |
| | | * |
| | | * @param modelId |
| | | * @param dynamicSettings |
| | | * @return |
| | | */ |
| | | private HashMap<String, Object> getScheduleSettingsByModelId(String modelId) { |
| | | private HashMap<String, Object> getScheduleSettingsByModelId(String modelId, Map<String, String> dynamicSettings) { |
| | | List<StScheduleModelSettingEntity> list = stScheduleModelSettingService.getByModelId(modelId); |
| | | if (CollectionUtils.isEmpty(list)) { |
| | | return null; |
| | | } |
| | | //如果输入参数中包含setting,则覆盖默认的setting |
| | | if (!CollectionUtils.isEmpty(dynamicSettings)){ |
| | | list.forEach(setting -> { |
| | | if (dynamicSettings.containsKey(setting.getKey())) { |
| | | setting.setValue(dynamicSettings.get(setting.getKey())); |
| | | } |
| | | }); |
| | | } |
| | | HashMap<String, Object> result = new HashMap<>(); |
| | | for (StScheduleModelSettingEntity entry : list) { |
| | | String valueType = entry.getValuetype().trim(); //去除两端空格 |