From 5b952f77058a9da5af5e143a6c2c7ba195aa736d Mon Sep 17 00:00:00 2001
From: liriming <1343021927@qq.com>
Date: 星期二, 26 十一月 2024 16:08:10 +0800
Subject: [PATCH] 预测消息配置

---
 iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/service/impl/MmPredictItemServiceImpl.java |   69 ++++++++++++++++++++++------------
 1 files changed, 44 insertions(+), 25 deletions(-)

diff --git a/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/service/impl/MmPredictItemServiceImpl.java b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/service/impl/MmPredictItemServiceImpl.java
index f0ceded..3a38f00 100644
--- a/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/service/impl/MmPredictItemServiceImpl.java
+++ b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/service/impl/MmPredictItemServiceImpl.java
@@ -6,7 +6,6 @@
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.iailab.framework.common.pojo.PageResult;
 import com.iailab.framework.common.util.object.BeanUtils;
-import com.iailab.module.data.api.point.DataPointApi;
 import com.iailab.module.model.mcs.pre.dao.MmPredictItemDao;
 import com.iailab.module.model.mcs.pre.dto.MmPredictItemDTO;
 import com.iailab.module.model.mcs.pre.entity.*;
@@ -59,14 +58,13 @@
     @Autowired
     private MmPredictItemDao mmPredictItemDao;
 
-    @Autowired
-    private DataPointApi dataPointApi;
+    private static HashMap<String, ItemVO> itemVOHashMap = new HashMap<>();
 
     @Override
     public PageResult<MmPredictItemRespVO> queryPage(MmPredictItemPageReqVO reqVO) {
         IPage<MmPredictItemRespVO> page = mmPredictItemDao.selectPage(reqVO);
 
-        return new PageResult<MmPredictItemRespVO>(page.getRecords(), page.getTotal());
+        return new PageResult<>(page.getRecords(), page.getTotal());
     }
 
     @Override
@@ -77,12 +75,6 @@
     @Override
     public MmPredictItemEntity getById(String id) {
         return  mmPredictItemDao.selectById(id);
-    }
-
-    @Override
-    public List<Object[]> getHisData(String itemId, Date startTime, Date endTime) {
-        List<Object[]> result = new ArrayList<>();
-        return result;
     }
 
     @DSTransactional(rollbackFor = Exception.class)
@@ -131,9 +123,15 @@
         dmModuleItem.setItemid(predictItem.getId());
         dmModuleItemService.saveModuleItem(dmModuleItem);
 
-        MmItemOutputEntity mmItemOutput = mmPredictItemDto.getMmItemOutput();
-        mmItemOutput.setItemid(predictItem.getId());
+        List<MmItemOutputEntity> mmItemOutput = mmPredictItemDto.getMmItemOutputList();
+        mmItemOutput.forEach(e -> {
+            e.setId(UUID.randomUUID().toString());
+            e.setItemid(predictItem.getId());
+        });
         mmItemOutputService.saveMmItemOutput(mmItemOutput);
+
+        // 清空缓存
+        clearCatch();
     }
 
     @DSTransactional(rollbackFor = Exception.class)
@@ -166,10 +164,16 @@
         if (!"".equals(dmModuleItem.getId()) && dmModuleItem.getId() != null) {
             dmModuleItemService.update(dmModuleItem);
         }
-        MmItemOutputEntity mmItemOutput = mmPredictItemDto.getMmItemOutput();
-        if (!"".equals(mmItemOutput.getId()) && dmModuleItem.getId() != null) {
-            mmItemOutputService.update(mmItemOutput);
-        }
+        mmItemOutputService.deleteByItemId(predictItem.getId());
+        List<MmItemOutputEntity> mmItemOutput = mmPredictItemDto.getMmItemOutputList();
+        mmItemOutput.forEach(e -> {
+            e.setId(UUID.randomUUID().toString());
+            e.setItemid(predictItem.getId());
+        });
+        mmItemOutputService.saveMmItemOutput(mmItemOutput);
+
+        // 清空缓存
+        clearCatch();
     }
 
     @DSTransactional(rollbackFor = Exception.class)
@@ -179,6 +183,9 @@
         mmPredictMergeItemService.deleteBatch(itemIds);
         mmPredictModelService.deleteBatch(itemIds);
         mmItemOutputService.deleteBatch(itemIds);
+
+        // 清空缓存
+        clearCatch();
     }
 
     @Override
@@ -187,15 +194,19 @@
         MmPredictItemDTO mmPredictItemDto = BeanUtils.toBean(predictItem, MmPredictItemDTO.class);
         mmPredictItemDto.setMmPredictItem(predictItem);
         mmPredictItemDto.setDmModuleItem(dmModuleItemService.getByItemid(id));
-        mmPredictItemDto.setMmItemOutput(mmItemOutputService.getByItemid(id));
+        mmPredictItemDto.setMmItemOutputList(mmItemOutputService.getByItemid(id));
         MmItemTypeEntity itemType = mmItemTypeImpl.getById(predictItem.getItemtypeid());
         if (itemType != null && ItemTypeEnum.NORMAL_ITEM.getName().equals(itemType.getItemtypename())) {
             MmPredictModelEntity mmPredictModel = mmPredictModelService.getByItemid(id);
             mmPredictItemDto.setMmPredictModel(mmPredictModel);
-            mmPredictItemDto.setMmModelArithSettingsList(mmModelArithSettingsService.getByModelid(mmPredictModel.getId()));
+            mmPredictItemDto.setMmModelArithSettingsList(mmModelArithSettingsService.getByModelId(mmPredictModel.getId()));
             mmPredictItemDto.setMmModelParamList(mmModelParamService.getByModelid(mmPredictModel.getId()));
             mmPredictItemDto.setMmPredictMergeItem(new MmPredictMergeItemEntity());
         } else if (itemType != null && ItemTypeEnum.MERGE_ITEM.getName().equals(itemType.getItemtypename())) {
+            mmPredictItemDto.setMmPredictModel(new MmPredictModelEntity());
+            mmPredictItemDto.setMmModelArithSettingsList(new ArrayList<>());
+            mmPredictItemDto.setMmModelParamList(new ArrayList<>());
+            mmPredictItemDto.setMmPredictMergeItem(new MmPredictMergeItemEntity());
             mmPredictItemDto.setMmPredictMergeItem(mmPredictMergeItemService.getByItemid(id));
         }
         return mmPredictItemDto;
@@ -216,7 +227,7 @@
     @Override
     public List<ItemVO> getByModuleId(String moduleId) {
         Map<String, Object> params = new HashMap<>();
-
+        params.put("MODULEID",moduleId);
         return mmPredictItemDao.getByModuleId(params);
     }
 
@@ -235,17 +246,25 @@
     }
 
     @Override
+    public void clearCatch() {
+        itemVOHashMap.clear();
+    }
+
+    @Override
     public ItemVO getItemById(String itemId) {
         if (StringUtils.isBlank(itemId)) {
             return null;
         }
-        Map<String, Object> params = new HashMap(1);
-        params.put("ITEMID", itemId);
-        List<ItemVO> list = mmPredictItemDao.getItem(params);
-        if (CollectionUtils.isEmpty(list)) {
-            return null;
+        if (!itemVOHashMap.containsKey(itemId)) {
+            Map<String, Object> params = new HashMap<>(1);
+            params.put("ITEMID", itemId);
+            List<ItemVO> list = mmPredictItemDao.getItem(params);
+            if (CollectionUtils.isEmpty(list)) {
+                return null;
+            }
+            itemVOHashMap.put(itemId, list.get(0));
         }
-        return list.get(0);
+        return itemVOHashMap.get(itemId);
     }
 
     @Override

--
Gitblit v1.9.3