From b7f5fd4000d644d117a0936dbcc2bfc56bfab4f0 Mon Sep 17 00:00:00 2001 From: lizijie <lzjiiie@163.com> Date: Thu, 16 Sep 2021 10:08:11 +0800 Subject: [PATCH] 新建特殊设备DTO类,存放保存到redis的数据 --- screen-manage/src/main/java/com/moral/api/service/impl/SysDictDataServiceImpl.java | 106 ++++++++++++++++++++++++++++++++++++---------------- 1 files changed, 73 insertions(+), 33 deletions(-) diff --git a/screen-manage/src/main/java/com/moral/api/service/impl/SysDictDataServiceImpl.java b/screen-manage/src/main/java/com/moral/api/service/impl/SysDictDataServiceImpl.java index cfca955..102f116 100644 --- a/screen-manage/src/main/java/com/moral/api/service/impl/SysDictDataServiceImpl.java +++ b/screen-manage/src/main/java/com/moral/api/service/impl/SysDictDataServiceImpl.java @@ -13,6 +13,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.moral.api.service.SysDictTypeService; import com.moral.api.util.CacheUtils; +import com.moral.api.util.LogUtils; import com.moral.constant.Constants; import com.moral.constant.RedisConstants; import com.moral.constant.ResponseCodeEnum; @@ -43,6 +44,8 @@ SysDictDataMapper sysDictDataMapper; @Autowired RedisTemplate redisTemplate; + @Autowired + LogUtils logUtils; @Override @Transactional @@ -51,20 +54,26 @@ SysDictDataDTO dto = new SysDictDataDTO(); //������ Integer id = form.getId(); - //������������������ + //������������������������������������������������������ QueryWrapper existWrapper = new QueryWrapper(); - existWrapper.eq("is_delete",Constants.NOT_DELETE); - existWrapper.eq("id",id); + existWrapper.eq("is_delete", Constants.NOT_DELETE); + existWrapper.eq("id", id); SysDictData existData = sysDictDataMapper.selectOne(existWrapper); + SysDictType type = sysDictTypeService.getDictTypeById(existData.getDictTypeId()); //������������ UpdateWrapper deleteWrapper = new UpdateWrapper(); - deleteWrapper.set("is_delete",Constants.DELETE); - deleteWrapper.eq("id",id); - sysDictDataMapper.update(null,deleteWrapper); - //������������ - CacheUtils.clearDictionariesCache(); + deleteWrapper.set("is_delete", Constants.DELETE); + deleteWrapper.eq("id", id); + sysDictDataMapper.update(null, deleteWrapper); + //������������ + StringBuilder content = new StringBuilder("���������������������;"); + content.append("������:"+type.getName()+"("+type.getDesc()+")"+";"); + content.append("key:"+existData.getDataKey()+";"); + content.append("value:"+existData.getDataValue()+";"); + logUtils.saveOperationForManage(content.toString(),Constants.DELETE_OPERATE_TYPE); + //������������ + refreshCache(); //������������������ - dto.setSysDictData(existData); dto.setCode(ResponseCodeEnum.SUCCESS.getCode()); dto.setMsg(ResponseCodeEnum.SUCCESS.getMsg()); return dto; @@ -75,35 +84,49 @@ SysDictDataDTO dto = new SysDictDataDTO(); //������ SysDictData sysDictData = form.formConvertEntity(); - //������������������������ + //��������������������������� QueryWrapper<SysDictData> existWrapper = new QueryWrapper<>(); existWrapper.eq("is_delete", Constants.NOT_DELETE); existWrapper.eq("id", sysDictData.getId()); SysDictData existData = sysDictDataMapper.selectOne(existWrapper); + SysDictType type = sysDictTypeService.getDictTypeById(existData.getDictTypeId()); + //������key������������ + String key = sysDictData.getDataKey(); + if (!ObjectUtils.isEmpty(key)) { + QueryWrapper<SysDictData> wrapper = new QueryWrapper<>(); + wrapper.eq("is_delete", Constants.NOT_DELETE); + wrapper.eq("dataKey", key); + wrapper.eq("dict_type_id", existData.getDictTypeId()); + SysDictData existKeyData = sysDictDataMapper.selectOne(wrapper); + if (!ObjectUtils.isEmpty(existKeyData)) { + dto.setCode(ResponseCodeEnum.DICTDATA_KEY_EXIST.getCode()); + dto.setMsg(ResponseCodeEnum.DICTDATA_KEY_EXIST.getMsg()); + return dto; + } + } //������������ sysDictDataMapper.updateById(sysDictData); - //������������ - CacheUtils.clearDictionariesCache(); + //������������ + StringBuilder content = new StringBuilder("���������������������;"); + content.append("������:"+type.getName()+"("+type.getDesc()+")"+";"); + content.append("key:"+existData.getDataKey()+";"); + content.append("value:"+existData.getDataValue()+"->"+sysDictData.getDataValue()+";"); + logUtils.saveOperationForManage(content.toString(),Constants.UPDATE_OPERATE_TYPE); + //������������ + refreshCache(); //������������������ - dto.setSysDictData(sysDictData); dto.setCode(ResponseCodeEnum.SUCCESS.getCode()); dto.setMsg(ResponseCodeEnum.SUCCESS.getMsg()); return dto; } - /** - * @Description: ������������������id������������������������ - * @Param: [form] - * @return: com.moral.api.pojo.dto.sysDictData.SysDictDataDTO - * @Author: ��������� - * @Date: 2021/4/16 - */ + @Override public SysDictDataDTO insertData(SysDictDataInsertForm form) { SysDictDataDTO dto = new SysDictDataDTO(); //������ SysDictData sysDictData = form.formConvertEntity(); - //������������������������ + //������������������������������������ SysDictType type = sysDictTypeService.getDictTypeById(sysDictData.getDictTypeId()); if (ObjectUtils.isEmpty(type)) { dto.setCode(ResponseCodeEnum.DICTTYPE_NOT_EXIST.getCode()); @@ -124,23 +147,20 @@ } //������������ sysDictDataMapper.insert(sysDictData); - //������������ - CacheUtils.clearDictionariesCache(); + //������������ + StringBuilder content = new StringBuilder("���������������������;"); + content.append("������:"+type.getName()+"("+type.getDesc()+")"+";"); + content.append("key:"+sysDictData.getDataKey()+";"); + content.append("value:"+sysDictData.getDataValue()+";"); + logUtils.saveOperationForManage(content.toString(),Constants.INSERT_OPERATE_TYPE); + //������������ + refreshCache(); //������������������ - dto.setSysDictData(sysDictData); - dto.setSysDictType(type); dto.setCode(ResponseCodeEnum.SUCCESS.getCode()); dto.setMsg(ResponseCodeEnum.SUCCESS.getMsg()); return dto; } - /** - * @Description: ��������������������������������������������� - * @Param: [typeName] - * @return: java.util.Map<java.lang.String , java.lang.Object> - * @Author: ��������� - * @Date: 2021/4/16 - */ @Override public Map<String, Object> queryDataByTypeName(String typeName) { Map<String, List<SysDictData>> datas = getAllDictData(); @@ -168,10 +188,29 @@ } + @Override + public Map<String, SysDictData> getDictDatasByType(String type) { + Map<String, List<SysDictData>> allDictData = getAllDictData(); + List<SysDictData> sysDictDatas = allDictData.get(type); + Map<String, SysDictData> result = new HashMap<>(); + for (SysDictData sysDictData : sysDictDatas) { + result.put(sysDictData.getDataKey(), sysDictData); + } + return result; + } + + @Override + public void refreshCache(){ + redisTemplate.delete(RedisConstants.DICT_DATA_KEY); + Map<String, List<SysDictData>> datas = getDictDataFromDB(); + redisTemplate.opsForValue().set(RedisConstants.DICT_DATA_KEY, datas); + } + + /** * @Description: ������������������������������������������������������������Map Key��������������� value��������������� * @Param: [] - * @return: java.util.Map<java.lang.String , java.util.List < com.moral.api.entity.sysDictData>> + * @return: java.util.Map<java.lang.String , java.util.List < com.moral.api.entity.sysDictData>> * @Author: ��������� * @Date: 2021/4/14 */ @@ -188,3 +227,4 @@ return result; } } + -- Gitblit v1.8.0