From 93fe0b66e85e95e3a7e77a28504d6d289b6906b9 Mon Sep 17 00:00:00 2001 From: kaiyu <404897439@qq.com> Date: Fri, 08 Oct 2021 13:11:22 +0800 Subject: [PATCH] screen-manage screen-api 更改拦截器逻辑,记录token无效的请求IP以及URL。 manage记录到数据库日志中 api记录在日志文件中 --- screen-manage/src/main/java/com/moral/api/service/impl/SysDictDataServiceImpl.java | 87 +++++++++++++++++++++++++------------------ 1 files changed, 50 insertions(+), 37 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 5c0cf16..df1c11a 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; @@ -51,20 +52,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; @@ -80,9 +87,10 @@ existWrapper.eq("is_delete", Constants.NOT_DELETE); existWrapper.eq("id", sysDictData.getId()); SysDictData existData = sysDictDataMapper.selectOne(existWrapper); - //������key������������������������������������������������ - if(!ObjectUtils.isEmpty(sysDictData.getDataKey())){ - String key = sysDictData.getDataKey(); + 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); @@ -96,28 +104,27 @@ } //������������ 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()); @@ -138,23 +145,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(); @@ -181,22 +185,30 @@ return datas; } + @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<>(); + Map<String, SysDictData> result = new HashMap<>(); for (SysDictData sysDictData : sysDictDatas) { - result.put(sysDictData.getDataKey(),sysDictData); + 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 */ @@ -213,3 +225,4 @@ return result; } } + -- Gitblit v1.8.0