From 243a135077985aa517e00320a7327bb8c459f460 Mon Sep 17 00:00:00 2001 From: 13693261870 <252740454@qq.com> Date: 星期二, 18 七月 2023 17:38:31 +0800 Subject: [PATCH] 开发根据用户UID查询其资源权限并添加缓存处理 --- /dev/null | 54 ------------------ src/main/java/com/moon/server/controller/all/PermsController.java | 6 +- src/main/java/com/moon/server/mapper/all/PermsMapper.java | 11 --- src/main/resources/mapper/all/PermsMapper.xml | 23 +------ src/main/java/com/moon/server/service/sys/ProxyService.java | 2 src/main/java/com/moon/server/service/all/TestService.java | 6 +- src/main/java/com/moon/server/config/InitConfig.java | 8 +- src/main/java/com/moon/server/service/all/PermsService.java | 20 ------ 8 files changed, 19 insertions(+), 111 deletions(-) diff --git a/src/main/java/com/moon/server/config/InitConfig.java b/src/main/java/com/moon/server/config/InitConfig.java index 505f84d..830d2a3 100644 --- a/src/main/java/com/moon/server/config/InitConfig.java +++ b/src/main/java/com/moon/server/config/InitConfig.java @@ -1,6 +1,7 @@ package com.moon.server.config; import com.moon.server.entity.all.StaticData; +import com.moon.server.service.all.TestService; import com.moon.server.service.all.UploadAttachService; import com.moon.server.service.sys.ArgsService; import com.moon.server.helper.GdalHelper; @@ -31,8 +32,8 @@ @Resource Environment env; - //@Resource - //TestService testService; + @Resource + TestService testService; @Override public void run(ApplicationArguments args) { @@ -41,7 +42,8 @@ GdalHelper.init(env.getProperty("sys.gdal_path")); UploadAttachService.init(env.getProperty("sys.attachTabs")); - //testService.testRegister(); + //testService.testPerms(); + pathHelper.init(); StaticData.ADMIN = env.getProperty("sys.admin"); argsService.initSettingData(); diff --git a/src/main/java/com/moon/server/controller/all/PermsController.java b/src/main/java/com/moon/server/controller/all/PermsController.java index 84bd265..9394500 100644 --- a/src/main/java/com/moon/server/controller/all/PermsController.java +++ b/src/main/java/com/moon/server/controller/all/PermsController.java @@ -1,8 +1,8 @@ package com.moon.server.controller.all; import com.moon.server.annotation.SysLog; -import com.moon.server.entity.data.LayerEntity; import com.moon.server.entity.sys.MenuEntity; +import com.moon.server.entity.sys.ResEntity; import com.moon.server.entity.sys.UserEntity; import com.moon.server.service.all.PermsService; import com.moon.server.service.data.LayerService; @@ -42,7 +42,7 @@ @SysLog() @ApiOperation(value = "鏌ヨ褰撳墠鐢ㄦ埛鐨勮祫婧愭巿鏉�") @GetMapping(value = "/selectRes") - public ResponseMsg<List<ResAuthEntity>> selectRes(HttpServletRequest req) { + public ResponseMsg<Object> selectRes(HttpServletRequest req) { try { UserEntity ue = tokenService.getCurrentUser(req); if (ue == null) { @@ -50,7 +50,7 @@ } String uid = StaticData.ADMIN.equals(ue.getUid()) ? null : ue.getUid(); - List<ResAuthEntity> rs = permsService.selectRes(uid); + List<ResEntity> rs = permsService.selectRes(uid); return success(rs); } catch (Exception ex) { diff --git a/src/main/java/com/moon/server/entity/all/ResAuthEntity.java b/src/main/java/com/moon/server/entity/all/ResAuthEntity.java deleted file mode 100644 index 128f9dd..0000000 --- a/src/main/java/com/moon/server/entity/all/ResAuthEntity.java +++ /dev/null @@ -1,54 +0,0 @@ -package com.moon.server.entity.all; - -import java.io.Serializable; - -/** - * 璧勬簮鎺堟潈 - * @author WWW - */ -public class ResAuthEntity implements Serializable { - private static final long serialVersionUID = 7610553267313397837L; - - private Integer id; - - private String name; - - private String url; - - private String proxy; - - public ResAuthEntity() { - } - - public Integer getId() { - return id; - } - - public void setId(Integer id) { - this.id = id; - } - - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } - - public String getUrl() { - return url; - } - - public void setUrl(String url) { - this.url = url; - } - - public String getProxy() { - return proxy; - } - - public void setProxy(String proxy) { - this.proxy = proxy; - } -} diff --git a/src/main/java/com/moon/server/mapper/all/PermsMapper.java b/src/main/java/com/moon/server/mapper/all/PermsMapper.java index b39da1a..663ea6d 100644 --- a/src/main/java/com/moon/server/mapper/all/PermsMapper.java +++ b/src/main/java/com/moon/server/mapper/all/PermsMapper.java @@ -2,7 +2,6 @@ import com.moon.server.entity.all.MenusAuthEntity; import com.moon.server.entity.all.PermsAuthEntity; -import com.moon.server.entity.all.ResAuthEntity; import com.moon.server.entity.sys.MenuEntity; import com.moon.server.entity.sys.ResEntity; import org.apache.ibatis.annotations.Mapper; @@ -23,15 +22,7 @@ * @param uid * @return */ - public List<ResAuthEntity> selectRes(String uid); - - /** - * 鏍规嵁鐢ㄦ埛Uid鏌ヨ璧勬簮鍒楄〃 - * - * @param uid - * @return - */ - public List<ResEntity> selectResList(String uid); + public List<ResEntity> selectRes(String uid); /** * 鏍规嵁鐢ㄦ埛Uid鏌ヨ鑿滃崟鎺堟潈 diff --git a/src/main/java/com/moon/server/service/all/PermsService.java b/src/main/java/com/moon/server/service/all/PermsService.java index 035ae82..87389d3 100644 --- a/src/main/java/com/moon/server/service/all/PermsService.java +++ b/src/main/java/com/moon/server/service/all/PermsService.java @@ -23,30 +23,14 @@ RedisService redisService; @Override - public List<ResAuthEntity> selectRes(String uid) { + public List<ResEntity> selectRes(String uid) { String key = RedisCacheKey.permsResKey(uid); - Object obj = redisService.get(key); - if (obj instanceof List<?>) { - return (List<ResAuthEntity>) obj; - } - - List<ResAuthEntity> list = permsMapper.selectRes(uid); - if (list != null && list.size() > 0) { - redisService.put(key, list, SettingData.CACHE_EXPIRE, TimeUnit.MINUTES); - } - - return list; - } - - @Override - public List<ResEntity> selectResList(String uid) { - String key = RedisCacheKey.permsResListKey(uid); Object obj = redisService.get(key); if (obj instanceof List<?>) { return (List<ResEntity>) obj; } - List<ResEntity> list = permsMapper.selectResList(uid); + List<ResEntity> list = permsMapper.selectRes(uid); if (list != null && list.size() > 0) { redisService.put(key, list, SettingData.CACHE_EXPIRE, TimeUnit.MINUTES); } diff --git a/src/main/java/com/moon/server/service/all/TestService.java b/src/main/java/com/moon/server/service/all/TestService.java index b0002cd..e2647da 100644 --- a/src/main/java/com/moon/server/service/all/TestService.java +++ b/src/main/java/com/moon/server/service/all/TestService.java @@ -2,10 +2,10 @@ import com.moon.server.entity.all.MenusAuthEntity; import com.moon.server.entity.all.PermsAuthEntity; -import com.moon.server.entity.all.ResAuthEntity; import com.moon.server.entity.data.CoordEntity; import com.moon.server.entity.data.MetaEntity; import com.moon.server.entity.data.MetaFileEntity; +import com.moon.server.entity.sys.ResEntity; import com.moon.server.helper.*; import com.moon.server.service.data.MetaService; import com.moon.server.service.data.UploadService; @@ -105,8 +105,8 @@ } public void testPerms() { - List<ResAuthEntity> raeList = permsService.selectRes("admin"); - List<ResAuthEntity> raeList2 = permsService.selectRes("admin"); + List<ResEntity> raeList = permsService.selectRes("admin"); + List<ResEntity> raeList2 = permsService.selectRes("admin"); List<MenusAuthEntity> maeList = permsService.selectMenus("admin"); List<MenusAuthEntity> maeList2 = permsService.selectMenus("admin"); diff --git a/src/main/java/com/moon/server/service/sys/ProxyService.java b/src/main/java/com/moon/server/service/sys/ProxyService.java index ba3987c..be70788 100644 --- a/src/main/java/com/moon/server/service/sys/ProxyService.java +++ b/src/main/java/com/moon/server/service/sys/ProxyService.java @@ -159,7 +159,7 @@ */ private ResEntity getResEntity(UserEntity ue, int resId) { String uid = StaticData.ADMIN.equals(ue.getUid()) ? null : ue.getUid(); - List<ResEntity> rs = permsService.selectResList(uid); + List<ResEntity> rs = permsService.selectRes(uid); if (null == rs || rs.isEmpty()) { return null; } diff --git a/src/main/resources/mapper/all/PermsMapper.xml b/src/main/resources/mapper/all/PermsMapper.xml index 737f9c5..e6adc7b 100644 --- a/src/main/resources/mapper/all/PermsMapper.xml +++ b/src/main/resources/mapper/all/PermsMapper.xml @@ -1,8 +1,8 @@ <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.moon.server.mapper.all.PermsMapper"> - <select id="selectRes" resultType="com.moon.server.entity.all.ResAuthEntity"> - select distinct d.id, d.name, d.url, d.proxy + <select id="selectRes" resultType="com.moon.server.entity.sys.ResEntity"> + select distinct d.* 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 @@ -13,24 +13,9 @@ and a.uid = #{uid} </if> </where> - order by d.id + order by d.id; </select> - - <select id="selectResList" resultType="com.moon.server.entity.sys.ResEntity"> - select distinct d.* - 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> - d.status = 1 - <if test="uid != null"> - and a.uid = #{uid} - </if> - </where> - order by d.id - </select> - +` <select id="selectMenus" resultType="com.moon.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 -- Gitblit v1.9.3