dengzedong
3 天以前 7f0bcd00c556889ba890e5e68c681f1b5d4267e1
提交 | 用户 | 时间
7fd198 1 package com.iailab.module.model.mdk.predict.impl;
2
3 import com.iailab.module.model.mcs.pre.entity.MmPredictModelEntity;
7f0bcd 4 import com.iailab.module.model.mcs.pre.enums.ItemRunStatusEnum;
7fd198 5 import com.iailab.module.model.mcs.pre.service.MmPredictModelService;
6 import com.iailab.module.model.mdk.common.exceptions.ItemInvokeException;
7 import com.iailab.module.model.mdk.common.exceptions.ModelInvokeException;
8 import com.iailab.module.model.mdk.predict.PredictItemHandler;
9 import com.iailab.module.model.mdk.predict.PredictModelHandler;
10 import com.iailab.module.model.mdk.vo.ItemVO;
11 import com.iailab.module.model.mdk.vo.PredictResultVO;
12 import org.springframework.beans.factory.annotation.Autowired;
13 import org.springframework.stereotype.Component;
14
15 import java.text.MessageFormat;
16 import java.util.Date;
07890e 17 import java.util.Map;
7fd198 18
19 /**
20  * @author PanZhibao
21  * @Description
22  * @createTime 2024年09月01日
23  */
24 @Component
25 public class PredictItemNormalHandlerImpl implements PredictItemHandler {
26
27     @Autowired
28     private MmPredictModelService mmPredictModelService;
29
30     @Autowired
31     private PredictModelHandler predictModelHandler;
32
4f1717 33     /**
34      * NormalItem预测
35      *
36      * @param predictTime
37      * @param predictItemDto
38      * @return
39      * @throws ItemInvokeException
40      */
7fd198 41     @Override
7f0bcd 42     public PredictResultVO predict(Date predictTime, ItemVO predictItemDto, Map<String, double[]> predictValueMap, ItemRunStatusEnum itemRunStatusEnum) throws ItemInvokeException {
7fd198 43         PredictResultVO predictResult = new PredictResultVO();
4f1717 44         String itemId = predictItemDto.getId();
7fd198 45         try {
373ab1 46             MmPredictModelEntity predictModel = mmPredictModelService.getActiveModelByItemId(itemId);
47             if (predictModel == null) {
7fd198 48                 throw new ModelInvokeException(MessageFormat.format("{0},itemId={1}",
49                         ModelInvokeException.errorGetModelEntity, itemId));
50             }
7f0bcd 51             predictResult = predictModelHandler.predictByModel(predictTime, predictModel,predictItemDto.getItemName(),itemRunStatusEnum);
b82ba2 52             predictResult.setPredictId(itemId);
7fd198 53         } catch (Exception ex) {
54             throw new ItemInvokeException(MessageFormat.format("{0},itemId={1}",
55                     ItemInvokeException.errorItemFailed, itemId));
56         }
4f1717 57         return predictResult;
7fd198 58     }
59 }