|
@@ -1,19 +1,20 @@
|
|
|
package com.fdkankan.manage.service.impl;
|
|
|
|
|
|
+import com.alibaba.fastjson.JSONObject;
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
+import com.fdkankan.manage.config.MenuInit;
|
|
|
+import com.fdkankan.manage.entity.*;
|
|
|
import com.fdkankan.manage.vo.request.RequestBase;
|
|
|
import com.fdkankan.manage.common.PageInfo;
|
|
|
-import com.fdkankan.manage.entity.Meta;
|
|
|
-import com.fdkankan.manage.entity.SysMenu;
|
|
|
-import com.fdkankan.manage.entity.SysRoleMenu;
|
|
|
-import com.fdkankan.manage.entity.SysUser;
|
|
|
import com.fdkankan.manage.mapper.ISysMenuMapper;
|
|
|
import com.fdkankan.manage.service.ISysMenuService;
|
|
|
import com.fdkankan.manage.service.ISysRoleMenuService;
|
|
|
import com.fdkankan.manage.service.ISysUserService;
|
|
|
import com.fdkankan.manage.vo.response.SysMenuVo;
|
|
|
+import com.fdkankan.redis.constant.RedisKey;
|
|
|
+import com.fdkankan.redis.util.RedisUtil;
|
|
|
import org.springframework.beans.BeanUtils;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
@@ -36,6 +37,10 @@ public class SysMenuServiceImpl extends ServiceImpl<ISysMenuMapper, SysMenu> imp
|
|
|
ISysRoleMenuService roleMenuService;
|
|
|
@Autowired
|
|
|
ISysUserService userService;
|
|
|
+ @Autowired
|
|
|
+ RedisUtil redisUtil;
|
|
|
+ @Autowired
|
|
|
+ MenuInit menuInit;
|
|
|
|
|
|
|
|
|
@Override
|
|
@@ -217,4 +222,16 @@ public class SysMenuServiceImpl extends ServiceImpl<ISysMenuMapper, SysMenu> imp
|
|
|
wrapper.eq(SysMenu::getParentId,parentId);
|
|
|
return this.list(wrapper);
|
|
|
}
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void setRoleAndMenuCache(SysRole role, SysUser sysUser) {
|
|
|
+ //设置redis role
|
|
|
+ String roleType = role.getRoleType();
|
|
|
+ List<String> roleList = Collections.singletonList(roleType);
|
|
|
+ redisUtil.set(String.format(RedisKey.MANAGE_ROLE_USER,sysUser.getId()), JSONObject.toJSONString(roleList));
|
|
|
+ //设置redis perm
|
|
|
+ List<SysMenu> menus = this.getListByUserId(sysUser.getId());
|
|
|
+ List<String> menuList = menus.parallelStream().map(SysMenu::getPerms).collect(Collectors.toList());
|
|
|
+ redisUtil.set(String.format(RedisKey.MANAGE_PERM_USER,sysUser.getId()), JSONObject.toJSONString(menuList));
|
|
|
+ }
|
|
|
}
|