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