From 5fdfa6d4bfdb656255732e0bed2fcefb922ff439 Mon Sep 17 00:00:00 2001
From: 13693261870 <252740454@qq.com>
Date: 星期四, 20 七月 2023 15:08:53 +0800
Subject: [PATCH] 根据角色ID查询资源

---
 src/main/java/com/moon/server/entity/sys/RoleResEntity.java         |   40 ++++++++++++++-----
 src/main/java/com/moon/server/controller/sys/RoleResController.java |   16 ++++++++
 src/main/java/com/moon/server/mapper/sys/RoleResMapper.java         |   10 ++++
 src/main/java/com/moon/server/service/sys/RoleResService.java       |    9 +++-
 src/main/java/com/moon/server/service/sys/ProxyService.java         |    2 
 pom.xml                                                             |   11 +++++
 src/main/resources/mapper/sys/RoleResMapper.xml                     |   20 ++++++---
 7 files changed, 86 insertions(+), 22 deletions(-)

diff --git a/pom.xml b/pom.xml
index df89ebd..00b069f 100644
--- a/pom.xml
+++ b/pom.xml
@@ -86,6 +86,17 @@
         <dependency>
             <groupId>org.springframework.boot</groupId>
             <artifactId>spring-boot-starter-data-redis</artifactId>
+            <exclusions>
+                <!--杩囨护lettuce锛屼娇鐢╦edis浣滀负redis瀹㈡埛绔�-->
+                <exclusion>
+                    <groupId>io.lettuce</groupId>
+                    <artifactId>lettuce-core</artifactId>
+                </exclusion>
+            </exclusions>
+        </dependency>
+        <dependency>
+            <groupId>redis.clients</groupId>
+            <artifactId>jedis</artifactId>
         </dependency>
         <!--postgresql-->
         <dependency>
diff --git a/src/main/java/com/moon/server/controller/sys/RoleResController.java b/src/main/java/com/moon/server/controller/sys/RoleResController.java
index f46065e..0df9031 100644
--- a/src/main/java/com/moon/server/controller/sys/RoleResController.java
+++ b/src/main/java/com/moon/server/controller/sys/RoleResController.java
@@ -36,6 +36,22 @@
     PermsService permsService;
 
     @SysLog()
+    @ApiOperation(value = "鏍规嵁瑙掕壊ID鏌ヨ璧勬簮")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "roleid", value = "瑙掕壊ID", dataType = "Integer", paramType = "query", example = "1")
+    })
+    @GetMapping(value = "/selectResByRole")
+    public ResponseMsg<List<RoleResEntity>> selectResByRole(Integer roleid) {
+        try {
+            List<RoleResEntity> rs = roleResService.selectResByRole(roleid);
+
+            return success(null == rs ? 0 : rs.size(), rs);
+        } catch (Exception ex) {
+            return fail(ex, null);
+        }
+    }
+
+    @SysLog()
     @ApiOperation(value = "鏌ヨ璁板綍鏁�")
     @ApiImplicitParams({
             @ApiImplicitParam(name = "roleid", value = "瑙掕壊ID", dataType = "Integer", paramType = "query", required = false, example = "")
diff --git a/src/main/java/com/moon/server/entity/sys/RoleResEntity.java b/src/main/java/com/moon/server/entity/sys/RoleResEntity.java
index 3349223..c7f04c3 100644
--- a/src/main/java/com/moon/server/entity/sys/RoleResEntity.java
+++ b/src/main/java/com/moon/server/entity/sys/RoleResEntity.java
@@ -24,11 +24,13 @@
 
     private Timestamp updateTime;
 
-    private  String resName;
+    private String cnName;
 
-private  String server;
+    private Integer pid;
 
+    private Integer level;
 
+    private Integer sort;
 
     public RoleResEntity() {
     }
@@ -89,19 +91,35 @@
         this.updateTime = updateTime;
     }
 
-    public String getResName() {
-        return resName;
+    public String getCnName() {
+        return cnName;
     }
 
-    public void setResName(String resName) {
-        this.resName = resName;
-    }
-    public String getServer() {
-        return server;
+    public void setCnName(String cnName) {
+        this.cnName = cnName;
     }
 
-    public void setServer(String server) {
-        this.server = server;
+    public Integer getPid() {
+        return pid;
     }
 
+    public void setPid(Integer pid) {
+        this.pid = pid;
+    }
+
+    public Integer getLevel() {
+        return level;
+    }
+
+    public void setLevel(Integer level) {
+        this.level = level;
+    }
+
+    public Integer getSort() {
+        return sort;
+    }
+
+    public void setSort(Integer sort) {
+        this.sort = sort;
+    }
 }
diff --git a/src/main/java/com/moon/server/mapper/sys/RoleResMapper.java b/src/main/java/com/moon/server/mapper/sys/RoleResMapper.java
index c2f7c38..b442ffd 100644
--- a/src/main/java/com/moon/server/mapper/sys/RoleResMapper.java
+++ b/src/main/java/com/moon/server/mapper/sys/RoleResMapper.java
@@ -14,6 +14,14 @@
 @Repository
 public interface RoleResMapper {
     /**
+     * 鏍规嵁瑙掕壊ID鏌ヨ璧勬簮
+     *
+     * @param roleid
+     * @return
+     */
+    public List<RoleResEntity> selectResByRole(Integer roleid);
+
+    /**
      * 鏌ヨ璁板綍鏁�
      *
      * @param roleid 瑙掕壊ID
@@ -24,7 +32,7 @@
     /**
      * 鍒嗛〉鏌ヨ
      *
-     * @param roleid   瑙掕壊ID
+     * @param roleid 瑙掕壊ID
      * @param limit  璁板綍鏁�
      * @param offset 鍋忕Щ閲�
      * @return 鍒楄〃
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 be70788..ba3845e 100644
--- a/src/main/java/com/moon/server/service/sys/ProxyService.java
+++ b/src/main/java/com/moon/server/service/sys/ProxyService.java
@@ -57,7 +57,7 @@
 
         // 9.鑾峰彇璧勬簮瀹炰綋
         ResEntity entity = getResEntity(ue, resId);
-        if (null == entity) {
+        if (null == entity || entity.getType() != 3|| StringHelper.isNull(entity.getProxy())||StringHelper.isNull(entity.getUrl())) {
             WebHelper.writeStr2Page(res, ILLEGAL_RESOURCE);
             return;
         }
diff --git a/src/main/java/com/moon/server/service/sys/RoleResService.java b/src/main/java/com/moon/server/service/sys/RoleResService.java
index de4900a..92bcc7d 100644
--- a/src/main/java/com/moon/server/service/sys/RoleResService.java
+++ b/src/main/java/com/moon/server/service/sys/RoleResService.java
@@ -2,9 +2,9 @@
 
 import com.moon.server.entity.sys.RoleResEntity;
 import com.moon.server.mapper.sys.RoleResMapper;
-import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import javax.annotation.Resource;
 import java.util.List;
 
 /**
@@ -13,10 +13,15 @@
  */
 @Service
 public class RoleResService implements RoleResMapper {
-    @Autowired
+    @Resource
     RoleResMapper roleResMapper;
 
     @Override
+    public List<RoleResEntity> selectResByRole(Integer roleid) {
+        return roleResMapper.selectResByRole(roleid);
+    }
+
+    @Override
     public Integer selectCount(Integer roleid) {
         return roleResMapper.selectCount(roleid);
     }
diff --git a/src/main/resources/mapper/sys/RoleResMapper.xml b/src/main/resources/mapper/sys/RoleResMapper.xml
index 2084631..1638a1f 100644
--- a/src/main/resources/mapper/sys/RoleResMapper.xml
+++ b/src/main/resources/mapper/sys/RoleResMapper.xml
@@ -1,6 +1,12 @@
 <?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.sys.RoleResMapper">
+    <select id="selectResByRole" resultType="com.moon.server.entity.sys.RoleResEntity">
+        with rs as (select id, resid from lf.sys_role_res where roleid = #{roleid})
+        select (select id from rs b where b.resid = a.id) "id", a.id "resid", a.cn_name, a.pid, a.level, a.sort
+        from lf.sys_res a;
+    </select>
+
     <select id="selectCount" resultType="java.lang.Integer">
         select count(*) from lf.sys_role_res
         <where>
@@ -11,14 +17,14 @@
     </select>
 
     <select id="selectByPage" resultType="com.moon.server.entity.sys.RoleResEntity">
-        select a.*,b.name as resName  from lf.sys_role_res a inner join lf.sys_res b
-        on a.resid = b.id
+        select a.*
+        from lf.sys_role_res a
         <where>
             <if test="roleid != null">
                 a.roleid = #{roleid}
             </if>
         </where>
-        order by id
+        order by a.id
         limit #{limit} offset #{offset}
     </select>
 
@@ -27,7 +33,7 @@
     </select>
 
     <select id="selectById" resultType="com.moon.server.entity.sys.RoleResEntity">
-        select * from lf.sys_role_res where id = #{id}
+        select * from lf.sys_role_res where id = #{id};
     </select>
 
     <insert id="insert" parameterType="com.moon.server.entity.sys.RoleResEntity">
@@ -58,9 +64,9 @@
     </delete>
 
     <update id="update">
-    update lf.sys_role_res
-    set roleid=#{roleid},resid=#{resid},update_user=#{updateUser},update_time=now()
-    where id=#{id}
+        update lf.sys_role_res
+        set roleid=#{roleid},resid=#{resid},update_user=#{updateUser},update_time=now()
+        where id=#{id}
     </update>
 
     <update id="updates">

--
Gitblit v1.9.3