From 2c8ca9db2471c33943c20882061a2c87bb99d7f0 Mon Sep 17 00:00:00 2001
From: cjl <276999030@qq.com>
Date: Fri, 13 Oct 2023 09:32:53 +0800
Subject: [PATCH] fix:秒级数据调整

---
 screen-manage/src/main/java/com/moral/api/service/impl/SysDictTypeServiceImpl.java |   42 ++++++++++++++++++++++++++----------------
 1 files changed, 26 insertions(+), 16 deletions(-)

diff --git a/screen-manage/src/main/java/com/moral/api/service/impl/SysDictTypeServiceImpl.java b/screen-manage/src/main/java/com/moral/api/service/impl/SysDictTypeServiceImpl.java
index 88f87d2..fcdce43 100644
--- a/screen-manage/src/main/java/com/moral/api/service/impl/SysDictTypeServiceImpl.java
+++ b/screen-manage/src/main/java/com/moral/api/service/impl/SysDictTypeServiceImpl.java
@@ -14,6 +14,7 @@
 import com.moral.api.service.SysDictTypeService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 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;
@@ -22,7 +23,10 @@
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.util.ObjectUtils;
+import org.springframework.web.context.request.RequestContextHolder;
+import org.springframework.web.context.request.ServletRequestAttributes;
 
+import javax.servlet.http.HttpServletRequest;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Map;
@@ -52,7 +56,7 @@
         SysDictTypeDTO dto = new SysDictTypeDTO();
         //������Id
         Integer typeId = form.getId();
-        //������type������������
+        //������������������type������������������
         QueryWrapper<SysDictType> existWrapper = new QueryWrapper<>();
         existWrapper.eq("is_delete",Constants.NOT_DELETE);
         existWrapper.eq("id",typeId);
@@ -72,15 +76,16 @@
         deleteDataWrapper.eq("dict_type_id",typeId);
         deleteDataWrapper.set("is_delete",Constants.DELETE);
         sysDictDataService.update(null,deleteDataWrapper);
-        //������������������
-        CacheUtils.clearDictionariesCache();
+        //������������
+        HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
+        LogUtils.saveOperationForManage(request,"������������������:"+type.getName(),Constants.DELETE_OPERATE_TYPE);
+        //������������������
+        refreshCache();
         //������������������
-        dto.setSysDictType(type);
         dto.setCode(ResponseCodeEnum.SUCCESS.getCode());
         dto.setMsg(ResponseCodeEnum.SUCCESS.getMsg());
         return dto;
     }
-
 
     @Override
     @Transactional
@@ -89,7 +94,7 @@
         SysDictTypeDTO dto = new SysDictTypeDTO();
         //������������
         SysDictType type = form.formConvertEntity();
-        //������type������������
+        //������type������������������
         QueryWrapper<SysDictType> existNameWrapper = new QueryWrapper<>();
         existNameWrapper.eq("id",type.getId());
         existNameWrapper.eq("is_delete",Constants.NOT_DELETE);
@@ -103,10 +108,9 @@
         sysDictTypeMapper.updateById(type);
         //������������������������
         SysDictType sysDictType = sysDictTypeMapper.selectById(type.getId());
-        //������������
-        CacheUtils.clearDictionariesCache();
+        //������������
+        refreshCache();
         //������������������
-        dto.setSysDictType(sysDictType);
         dto.setCode(ResponseCodeEnum.SUCCESS.getCode());
         dto.setMsg(ResponseCodeEnum.SUCCESS.getMsg());
         return dto;
@@ -120,10 +124,7 @@
         //������������������������
         SysDictType sysDictType = form.formConvertEntity();
         //������name������������������
-        QueryWrapper<SysDictType> existNameWrapper = new QueryWrapper<>();
-        existNameWrapper.eq("name",sysDictType.getName());
-        existNameWrapper.eq("is_delete",Constants.NOT_DELETE);
-        SysDictType existType = sysDictTypeMapper.selectOne(existNameWrapper);
+        SysDictType existType = sysDictTypeMapper.listOne(sysDictType.getName());
         if(!ObjectUtils.isEmpty(existType)){
             dto.setCode(ResponseCodeEnum.DICTTYPE_EXIST.getCode());
             dto.setMsg(ResponseCodeEnum.DICTTYPE_EXIST.getMsg());
@@ -131,10 +132,12 @@
         }
         //������������
         sysDictTypeMapper.insert(sysDictType);
-        //������������
-        CacheUtils.clearDictionariesCache();
+        //������������
+        HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
+        LogUtils.saveOperationForManage(request,"������������������:"+sysDictType.getName(),Constants.INSERT_OPERATE_TYPE);
+        //������������
+        refreshCache();
         //������������������
-        dto.setSysDictType(sysDictType);
         dto.setCode(ResponseCodeEnum.SUCCESS.getCode());
         dto.setMsg(ResponseCodeEnum.SUCCESS.getMsg());
         return dto;
@@ -203,5 +206,12 @@
         return sysDictTypes;
     }
 
+    @Override
+    public void refreshCache(){
+        redisTemplate.delete(RedisConstants.DICT_TYPE_KEY);
+        List<SysDictType> types = getAllDictTypeFromDB();
+        redisTemplate.opsForValue().set(RedisConstants.DICT_TYPE_KEY,types);
+    }
+
 
 }

--
Gitblit v1.8.0