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