教育训练处考试制证系统后端
zhangf
2024-09-11 1a316551c8e46b793904090cfa84781bf77fef2a
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysOperateTypeServiceImpl.java
@@ -1,5 +1,7 @@
package com.ruoyi.system.service.impl;
import com.alibaba.fastjson2.JSON;
import com.alibaba.fastjson2.TypeReference;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.common.constant.CacheConstants;
@@ -20,12 +22,14 @@
import com.ruoyi.system.mapper.SysOperateTypeMapper;
import com.ruoyi.system.mapper.SysRoleMapper;
import com.ruoyi.system.service.SysOperateTypeService;
import org.apache.ibatis.logging.Log;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import javax.annotation.PostConstruct;
import javax.annotation.Resource;
import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.HashMap;
@@ -45,24 +49,30 @@
    @Autowired
    private SysRoleMapper roleMapper;
    @Resource
    private RedisCache redisCache;
    @PostConstruct
    public void init()
    {
        loadingOperateTypeCache();
    }
    @Override
    public void loadingOperateTypeCache() {
        LambdaQueryWrapper<SysOperateType> wrapper = new LambdaQueryWrapper<>();
        wrapper.eq(SysOperateType::getDelFlag, DeleteStatusEnum.YES.getStatus());
        wrapper.eq(SysOperateType::getDelFlag, DeleteStatusEnum.NO.getStatus());
        List<SysOperateType> sysOperateTypes = operateTypeMapper.selectList(wrapper);
        if (!CollectionUtils.isEmpty(sysOperateTypes)){
            Map<Long, SysOperateTypeWholeNameBO> map = new HashMap<>();
            for (SysOperateType sysOperateType : sysOperateTypes) {
                SysOperateTypeWholeNameBO nameBO = this.getOperateTypeWholeNameById(sysOperateType.getId());
                SysOperateTypeWholeNameBO nameBO = this.operateTypeWholeNameCacheById(sysOperateType.getId());
                map.put(sysOperateType.getId(),nameBO);
            }
            SpringUtils.getBean(RedisCache.class).setCacheObject(CacheConstants.SYS_OPERATE_TYPE_NAME_KEY, map);
            String info = JSON.toJSONString(map);
            SpringUtils.getBean(RedisCache.class).setCacheObject(CacheConstants.SYS_OPERATE_TYPE_NAME_KEY, info);
        }
    }
@@ -302,8 +312,7 @@
        return this.operateTypeMapper.updateById(sysOperateType);
    }
    @Override
    public SysOperateTypeWholeNameBO getOperateTypeWholeNameById(Long id) {
    private SysOperateTypeWholeNameBO operateTypeWholeNameCacheById(Long id){
        SysOperateType sysOperateType = operateTypeMapper.selectOperateTypeById(id);
        if (sysOperateType == null)
            return null;
@@ -333,6 +342,16 @@
        }
        return bo;
    }
    @Override
    public SysOperateTypeWholeNameBO getOperateTypeWholeNameById(Long id) {
        String info = redisCache.getCacheObject(CacheConstants.SYS_OPERATE_TYPE_NAME_KEY);
        Map<Long, SysOperateTypeWholeNameBO> map = JSON.parseObject(info, new TypeReference<Map<Long, SysOperateTypeWholeNameBO>>() {});
        if (map != null){
            return map.get(id);
        }
        return null;
    }
    //
    ///**
    // * 递归列表