src/main/java/com/lf/server/controller/all/PermsController.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/lf/server/service/all/PermsService.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/resources/mapper/all/PermsMapper.xml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
src/main/java/com/lf/server/controller/all/PermsController.java
@@ -1,10 +1,7 @@ package com.lf.server.controller.all; import com.lf.server.annotation.SysLog; import com.lf.server.entity.all.MenusAuthEntity; import com.lf.server.entity.all.PermsAuthEntity; import com.lf.server.entity.all.ResAuthEntity; import com.lf.server.entity.all.ResponseMsg; import com.lf.server.entity.all.*; import com.lf.server.entity.sys.LayerEntity; import com.lf.server.entity.sys.MenuEntity; import com.lf.server.entity.sys.UserEntity; @@ -52,7 +49,8 @@ return fail("用户未登录", null); } List<ResAuthEntity> rs = permsService.selectRes(ue.getUid()); String uid = StaticData.ADMIN.equals(ue.getUid()) ? null : ue.getUid(); List<ResAuthEntity> rs = permsService.selectRes(uid); return success(rs); } catch (Exception ex) { @@ -70,7 +68,8 @@ return fail("用户未登录", null); } List<MenusAuthEntity> rs = permsService.selectMenus(ue.getUid()); String uid = StaticData.ADMIN.equals(ue.getUid()) ? null : ue.getUid(); List<MenusAuthEntity> rs = permsService.selectMenus(uid); return success(rs); } catch (Exception ex) { @@ -88,7 +87,8 @@ return fail("用户未登录", null); } List<String> rs = permsService.selectPerms(ue.getUid()); String uid = StaticData.ADMIN.equals(ue.getUid()) ? null : ue.getUid(); List<String> rs = permsService.selectPerms(uid); return success(rs); } catch (Exception ex) { @@ -106,7 +106,8 @@ return fail("用户未登录", null); } List<PermsAuthEntity> rs = permsService.selectPermsEntity(ue.getUid()); String uid = StaticData.ADMIN.equals(ue.getUid()) ? null : ue.getUid(); List<PermsAuthEntity> rs = permsService.selectPermsEntity(uid); return success(rs); } catch (Exception ex) { @@ -158,7 +159,8 @@ return fail("用户未登录", null); } List<MenuEntity> list = permsService.selectMenuRecursive(id, ue.getUid()); String uid = StaticData.ADMIN.equals(ue.getUid()) ? null : ue.getUid(); List<MenuEntity> list = permsService.selectMenuRecursive(id, uid); return success(list); } catch (Exception ex) { src/main/java/com/lf/server/service/all/PermsService.java
@@ -2,7 +2,6 @@ import com.lf.server.entity.all.*; import com.lf.server.entity.sys.MenuEntity; import com.lf.server.helper.StringHelper; import com.lf.server.mapper.all.PermsMapper; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -24,10 +23,6 @@ @Override public List<ResAuthEntity> selectRes(String uid) { if (StringHelper.isEmpty(uid)) { return null; } String key = RedisCacheKey.permsResKey(uid); Object obj = redisService.get(key); if (obj instanceof List<?>) { @@ -44,10 +39,6 @@ @Override public List<MenusAuthEntity> selectMenus(String uid) { if (StringHelper.isEmpty(uid)) { return null; } String key = RedisCacheKey.permsMenusKey(uid); Object obj = redisService.get(key); if (obj instanceof List<?>) { @@ -64,10 +55,6 @@ @Override public List<String> selectPerms(String uid) { if (StringHelper.isEmpty(uid)) { return null; } String key = RedisCacheKey.permsPermsKey(uid); Object obj = redisService.get(key); if (obj instanceof List<?>) { @@ -84,10 +71,6 @@ @Override public List<PermsAuthEntity> selectPermsEntity(String uid) { if (StringHelper.isEmpty(uid)) { return null; } String key = RedisCacheKey.permsPermsEntityKey(uid); Object obj = redisService.get(key); if (obj instanceof List<?>) { src/main/resources/mapper/all/PermsMapper.xml
@@ -2,42 +2,64 @@ <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.lf.server.mapper.all.PermsMapper"> <select id="selectRes" resultType="com.lf.server.entity.all.ResAuthEntity"> select distinct d.id,d.name,d.server from lf.sys_user a inner join lf.sys_role_user b on a.id = b.userid select distinct d.id,d.name,d.server from lf.sys_user a inner join lf.sys_role_user b on a.id = b.userid inner join lf.sys_role_res c on b.roleid = c.roleid inner join lf.sys_res d on c.resid = d.id where a.uid = #{uid} <where> <if test="uid != null"> a.uid = #{uid} </if> </where> order by d.id </select> <select id="selectMenus" resultType="com.lf.server.entity.all.MenusAuthEntity"> select distinct e.id,e.pid,e.cn_name,e.en_name,e.url,e.perms,e.type,e.css,e.icon,e.level,e.order_num,e.is_show from lf.sys_user a inner join lf.sys_role_user b on a.id = b.userid from lf.sys_user a inner join lf.sys_role_user b on a.id = b.userid inner join lf.sys_role_menu_auth c on b.roleid = c.roleid inner join lf.sys_menu_auth d on c.menu_auth_id = d.id inner join lf.sys_menu e on d.menuid = e.id where a.uid = #{uid} <where> <if test="uid != null"> a.uid = #{uid} </if> </where> order by e.order_num </select> <select id="selectPerms" resultType="java.lang.String"> select distinct e.perms || f.tag as perms from lf.sys_user a inner join lf.sys_role_user b on a.id = b.userid from lf.sys_user a inner join lf.sys_role_user b on a.id = b.userid inner join lf.sys_role_menu_auth c on b.roleid = c.roleid inner join lf.sys_menu_auth d on c.menu_auth_id = d.id inner join lf.sys_menu e on d.menuid = e.id inner join lf.sys_auth f on d.authid = f.id where a.uid = #{uid} and e.perms is not null <where> e.perms is not null <if test="uid != null"> and a.uid = #{uid} </if> </where> order by perms </select> <select id="selectPermsEntity" resultType="com.lf.server.entity.all.PermsAuthEntity"> select distinct e.id,e.pid,e.order_num,e.cn_name,e.en_name,f.name,e.perms,f.tag from lf.sys_user a inner join lf.sys_role_user b on a.id = b.userid from lf.sys_user a inner join lf.sys_role_user b on a.id = b.userid inner join lf.sys_role_menu_auth c on b.roleid = c.roleid inner join lf.sys_menu_auth d on c.menu_auth_id = d.id inner join lf.sys_menu e on d.menuid = e.id inner join lf.sys_auth f on d.authid = f.id where a.uid = #{uid} <where> <if test="uid != null"> a.uid = #{uid} </if> </where> order by e.order_num </select> @@ -54,12 +76,18 @@ ) select * FROM rs where rs.id in ( select distinct e.id from lf.sys_user a inner join lf.sys_role_user b on a.id = b.userid from lf.sys_user a inner join lf.sys_role_user b on a.id = b.userid inner join lf.sys_role_menu_auth c on b.roleid = c.roleid inner join lf.sys_menu_auth d on c.menu_auth_id = d.id inner join lf.sys_menu e on d.menuid = e.id inner join lf.sys_auth f on d.authid = f.id where a.uid = #{uid}) <where> <if test="uid != null"> a.uid = #{uid} </if> </where> ) order by order_num; </select> </mapper>