月球大数据地理空间分析展示平台-【后端】-月球后台服务
13693261870
2023-07-18 243a135077985aa517e00320a7327bb8c459f460
开发根据用户UID查询其资源权限并添加缓存处理
已修改7个文件
已删除1个文件
130 ■■■■ 文件已修改
src/main/java/com/moon/server/config/InitConfig.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/moon/server/controller/all/PermsController.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/moon/server/entity/all/ResAuthEntity.java 54 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/moon/server/mapper/all/PermsMapper.java 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/moon/server/service/all/PermsService.java 20 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/moon/server/service/all/TestService.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/moon/server/service/sys/ProxyService.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/all/PermsMapper.xml 23 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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();
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) {
src/main/java/com/moon/server/entity/all/ResAuthEntity.java
ÎļþÒÑɾ³ý
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查询菜单授权
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);
        }
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");
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;
        }
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