luodangjia
2025-01-08 d34b3987a7c89c29a74eb7d3525b2a486eeaca10
ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/service/impl/MenuServiceImpl.java
@@ -2,17 +2,17 @@
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.admin.entity.Menu;
import com.ruoyi.admin.entity.SysUser;
import com.ruoyi.admin.mapper.MenuMapper;
import com.ruoyi.admin.mapper.SysUserMapper;
import com.ruoyi.admin.service.MenuService;
import com.ruoyi.common.core.constant.RedisConstants;
import com.ruoyi.common.security.service.TokenService;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
import java.util.Map;
import java.util.*;
import java.util.concurrent.TimeUnit;
import java.util.stream.Collectors;
@@ -29,17 +29,29 @@
    @Resource
    private RedisTemplate<Object, Object> redisTemplate;
    @Resource
    private SysUserMapper sysUserMapper;
    @Resource
    private TokenService tokenService;
    @Override
    public List<Menu> menuTree() {
        // redis缓存
        Map<Object, Object> regionList = redisTemplate.opsForHash().entries(RedisConstants.MENU_TREE);
        // 获取所有地区信息 省市区三级
        List<Menu> regions = getReginList(regionList);
        // 所有地区
        Map<String, Menu> courseTypeMap = regions.stream().
                collect(Collectors.toMap(region -> region.getMenuId().toString()
                        , region -> region));
        Map<String, Menu> courseTypeMap = new HashMap<>();
        Long userid = tokenService.getLoginUser().getUserid();
        SysUser sysUser = sysUserMapper.selectById(userid);
        if (sysUser.getFranchiseeId()==null){
            // 加盟商才有加盟商余额管理
            courseTypeMap = regions.stream().filter(region -> region.getMenuId() != 88900&&
                            region.getMenuId() != 88901&&
                            region.getMenuId() != 88902&&
                            region.getMenuId() != 88903).
                    collect(Collectors.toMap(region -> region.getMenuId().toString()
                            , region -> region));
        }
        redisTemplate.opsForHash().putAll(RedisConstants.MENU_TREE, courseTypeMap);
        redisTemplate.expire(RedisConstants.MENU_TREE, 30, TimeUnit.MINUTES);
        // 生成map集合