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 | 73 ++++++++++++++++++++++++++++-------- 1 files changed, 56 insertions(+), 17 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 d229a5a..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 @@ -1,5 +1,6 @@ package com.iailab.module.model.mcs.pre.service.impl; +import com.baomidou.dynamic.datasource.annotation.DSTransactional; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; @@ -57,11 +58,13 @@ @Autowired private MmPredictItemDao mmPredictItemDao; + 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 @@ -69,6 +72,12 @@ return mmPredictItemDao.queryList(params); } + @Override + public MmPredictItemEntity getById(String id) { + return mmPredictItemDao.selectById(id); + } + + @DSTransactional(rollbackFor = Exception.class) @Override public void add(MmPredictItemDTO mmPredictItemDto) { MmPredictItemEntity predictItem = mmPredictItemDto.getMmPredictItem(); @@ -114,11 +123,18 @@ 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) @Override public void update(MmPredictItemDTO mmPredictItemDto) { MmPredictItemEntity predictItem = mmPredictItemDto.getMmPredictItem(); @@ -145,21 +161,31 @@ mmPredictMergeItemService.update(mMmPredictMergeItem); } DmModuleItemEntity dmModuleItem = mmPredictItemDto.getDmModuleItem(); - if(!"".equals(dmModuleItem.getId()) && dmModuleItem.getId() != null){ + 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) @Override public void deleteBatch(String[] itemIds) { mmPredictItemDao.deleteBatchIds(Arrays.asList(itemIds)); mmPredictMergeItemService.deleteBatch(itemIds); mmPredictModelService.deleteBatch(itemIds); mmItemOutputService.deleteBatch(itemIds); + + // 清空缓存 + clearCatch(); } @Override @@ -168,14 +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; @@ -196,7 +227,7 @@ @Override public List<ItemVO> getByModuleId(String moduleId) { Map<String, Object> params = new HashMap<>(); - + params.put("MODULEID",moduleId); return mmPredictItemDao.getByModuleId(params); } @@ -215,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