kaiyu
2021-08-31 23e43d94105c6f3676e879d2cc271d0bec63f081
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;
@@ -44,6 +48,8 @@
    SysDictDataService sysDictDataService;
    @Autowired
    RedisTemplate redisTemplate;
    @Autowired
    LogUtils logUtils;
    @Override
    @Transactional
@@ -72,14 +78,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.setCode(ResponseCodeEnum.SUCCESS.getCode());
        dto.setMsg(ResponseCodeEnum.SUCCESS.getMsg());
        return dto;
    }
    @Override
    @Transactional
@@ -102,8 +110,8 @@
        sysDictTypeMapper.updateById(type);
        //获取更新后的对象
        SysDictType sysDictType = sysDictTypeMapper.selectById(type.getId());
        //清除缓存
        CacheUtils.clearDictionariesCache();
        //刷新缓存
        refreshCache();
        //封装返回对象
        dto.setCode(ResponseCodeEnum.SUCCESS.getCode());
        dto.setMsg(ResponseCodeEnum.SUCCESS.getMsg());
@@ -129,8 +137,11 @@
        }
        //插入类型
        sysDictTypeMapper.insert(sysDictType);
        //清除缓存
        CacheUtils.clearDictionariesCache();
        //插入日志
        HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
        logUtils.saveOperationForManage(request,"添加字典类型:"+sysDictType.getName(),Constants.INSERT_OPERATE_TYPE);
        //刷新缓存
        refreshCache();
        //封装返回对象
        dto.setCode(ResponseCodeEnum.SUCCESS.getCode());
        dto.setMsg(ResponseCodeEnum.SUCCESS.getMsg());
@@ -200,5 +211,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);
    }
}