liriming
2024-11-26 5b952f77058a9da5af5e143a6c2c7ba195aa736d
提交 | 用户 | 时间
7fd198 1 package com.iailab.module.model.mcs.pre.service.impl;
2
3 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
5c6007 4 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
7fd198 5 import com.iailab.module.model.mcs.pre.dao.MmItemOutputDao;
5c6007 6 import com.iailab.module.model.mcs.pre.dto.MmItemOutputDTO;
7fd198 7 import com.iailab.module.model.mcs.pre.entity.MmItemOutputEntity;
8 import com.iailab.module.model.mcs.pre.service.MmItemOutputService;
5c6007 9 import org.springframework.beans.factory.annotation.Autowired;
7fd198 10 import org.springframework.stereotype.Service;
373ab1 11 import org.springframework.util.CollectionUtils;
7fd198 12
13 import java.util.List;
14 import java.util.Map;
a4891a 15 import java.util.concurrent.ConcurrentHashMap;
7fd198 16
17 /**
18  * @author PanZhibao
19  * @date 2021年04月27日 9:22
20  */
5c6007 21 @Service
L 22 public class MmItemOutputServiceImpl extends ServiceImpl<MmItemOutputDao, MmItemOutputEntity> implements MmItemOutputService {
7fd198 23
5c6007 24     @Autowired
L 25     private MmItemOutputDao mmItemOutputDao;
a4891a 26
27     private static Map<String, MmItemOutputEntity> outputMap = new ConcurrentHashMap<>();
373ab1 28
29     private static Map<String, List<MmItemOutputEntity>> itemMap = new ConcurrentHashMap<>();
5c6007 30     
7fd198 31     @Override
69bd5e 32     public void saveMmItemOutput(List<MmItemOutputEntity> mmItemOutput) {
5c6007 33         mmItemOutputDao.insert(mmItemOutput);
a4891a 34         // 清空缓存
373ab1 35         clearCache();
7fd198 36     }
37
38     @Override
39     public void update(MmItemOutputEntity mmItemOutput) {
5c6007 40         mmItemOutputDao.updateById(mmItemOutput);
a4891a 41         // 清空缓存
373ab1 42         clearCache();
7fd198 43     }
44
45     public void deleteBatch(String[] itemIds) {
f283ee 46         QueryWrapper<MmItemOutputEntity> queryWrapper = new QueryWrapper<>();
7fd198 47         queryWrapper.in("itemid", itemIds);
5c6007 48         mmItemOutputDao.delete(queryWrapper);
a4891a 49         // 清空缓存
373ab1 50         clearCache();
51     }
52
53     private void clearCache() {
a4891a 54         outputMap.clear();
373ab1 55         itemMap.clear();
7fd198 56     }
57
58     @Override
373ab1 59     public List<MmItemOutputEntity> getByItemid(String itemId) {
60         if (itemMap.containsKey(itemId)) {
61             return itemMap.get(itemId);
62         }
b368e6 63         QueryWrapper<MmItemOutputEntity> queryWrapper = new QueryWrapper<>();
373ab1 64         queryWrapper.eq("itemid", itemId).orderByAsc("outputorder");
5c6007 65         List<MmItemOutputEntity> list = mmItemOutputDao.selectList(queryWrapper);
373ab1 66         if (CollectionUtils.isEmpty(list)) {
67             return null;
68         }
69         itemMap.put(itemId, list);
70         return itemMap.get(itemId);
69bd5e 71     }
D 72
73     @Override
b368e6 74     public MmItemOutputEntity getByItemid(String itemid, String resultstr) {
75         QueryWrapper<MmItemOutputEntity> queryWrapper = new QueryWrapper<>();
76         queryWrapper.eq("itemid", itemid).eq("resultstr", resultstr);
77         return mmItemOutputDao.selectOne(queryWrapper);
78     }
79
80     @Override
69bd5e 81     public void deleteByItemId(String itemId) {
f283ee 82         QueryWrapper<MmItemOutputEntity> queryWrapper = new QueryWrapper<>();
69bd5e 83         queryWrapper.eq("itemid", itemId);
D 84         mmItemOutputDao.delete(queryWrapper);
7fd198 85     }
86
87     @Override
88     public List<MmItemOutputDTO> queryList(Map<String, Object> params) {
5c6007 89         return mmItemOutputDao.queryList(params);
7fd198 90     }
91
92     @Override
a4891a 93     public MmItemOutputEntity getOutPutById(String outputid) {
94         if (outputMap.containsKey(outputid)) {
95             return outputMap.get(outputid);
7fd198 96         }
a4891a 97         MmItemOutputEntity entity = mmItemOutputDao.selectById(outputid);
98         outputMap.put(outputid, entity);
99         return entity;
7fd198 100     }
101 }