Forráskód Böngészése

Rename modules to permissions

tsurumure 8 hónapja
szülő
commit
e74a1956fc
46 módosított fájl, 653 hozzáadás és 639 törlés
  1. 0 1
      db/sys_menu.sql
  2. 5 7
      db/sys_user_role_permission.sql
  3. 5 5
      db/sys_user_role_permission_relation.sql
  4. 1 1
      src/main/java/com/backendsys/entity/System/SysUserRoleDTO.java
  5. 11 11
      src/main/java/com/backendsys/entity/System/SysUserRoleModuleDTO.java
  6. 1 1
      src/main/java/com/backendsys/mapper/System/SysUserMapper.xml
  7. 19 19
      src/main/java/com/backendsys/mapper/System/SysUserRoleMapper.java
  8. 134 134
      src/main/java/com/backendsys/mapper/System/SysUserRoleMapper.xml
  9. 11 11
      src/main/java/com/backendsys/mapper/System/SysUserRoleModuleMapper.java
  10. 20 20
      src/main/java/com/backendsys/mapper/System/SysUserRoleModuleMapper.xml
  11. 1 1
      src/main/java/com/backendsys/modules/common/config/security/entity/SecurityUserInfo.java
  12. 16 16
      src/main/java/com/backendsys/modules/common/config/security/utils/PermissionUtil.java
  13. 6 6
      src/main/java/com/backendsys/modules/common/config/security/utils/SecurityUtil.java
  14. 0 1
      src/main/java/com/backendsys/modules/system/controller/SysAuthV2Controller.java
  15. 1 1
      src/main/java/com/backendsys/modules/system/controller/SysUserController.java
  16. 12 12
      src/main/java/com/backendsys/modules/system/controller/SysUserRoleController.java
  17. 9 9
      src/main/java/com/backendsys/modules/system/controller/SysUserRolePermissionController.java
  18. 5 6
      src/main/java/com/backendsys/modules/system/dao/SysUserRoleDao.java
  19. 0 17
      src/main/java/com/backendsys/modules/system/dao/SysUserRoleModuleRelationDao.java
  20. 2 2
      src/main/java/com/backendsys/modules/system/dao/SysUserRolePermissionDao.java
  21. 17 0
      src/main/java/com/backendsys/modules/system/dao/SysUserRolePermissionRelationDao.java
  22. 1 2
      src/main/java/com/backendsys/modules/system/entity/SysUserInfo.java
  23. 24 2
      src/main/java/com/backendsys/modules/system/entity/SysUserRole.java
  24. 3 5
      src/main/java/com/backendsys/modules/system/entity/SysUserRolePermission.java
  25. 3 3
      src/main/java/com/backendsys/modules/system/entity/SysUserRolePermissionRelation.java
  26. 0 1
      src/main/java/com/backendsys/modules/system/service/SysAuthV2Service.java
  27. 0 13
      src/main/java/com/backendsys/modules/system/service/SysUserRoleModuleV2Service.java
  28. 13 0
      src/main/java/com/backendsys/modules/system/service/SysUserRolePermissionV2Service.java
  29. 5 5
      src/main/java/com/backendsys/modules/system/service/SysUserRoleV2Service.java
  30. 1 1
      src/main/java/com/backendsys/modules/system/service/SysUserV2Service.java
  31. 0 24
      src/main/java/com/backendsys/modules/system/service/impl/SysUserRoleModuleV2ServiceImpl.java
  32. 24 0
      src/main/java/com/backendsys/modules/system/service/impl/SysUserRolePermissionV2ServiceImpl.java
  33. 28 30
      src/main/java/com/backendsys/modules/system/service/impl/SysUserRoleV2ServiceImpl.java
  34. 11 8
      src/main/java/com/backendsys/modules/system/service/impl/SysUserV2ServiceImpl.java
  35. 8 8
      src/main/java/com/backendsys/service/System/SysActuatorService.java
  36. 63 63
      src/main/java/com/backendsys/service/System/SysActuatorServiceImpl.java
  37. 8 8
      src/main/java/com/backendsys/service/System/SysUserRoleModuleService.java
  38. 20 20
      src/main/java/com/backendsys/service/System/SysUserRoleModuleServiceImpl.java
  39. 13 13
      src/main/java/com/backendsys/service/System/SysUserRoleService.java
  40. 110 110
      src/main/java/com/backendsys/service/System/SysUserRoleServiceImpl.java
  41. 1 1
      src/main/resources/mapper/system/SysUserDao.xml
  42. 1 1
      src/main/resources/mapper/system/SysUserInfoDao.xml
  43. 10 10
      src/main/resources/mapper/system/SysUserRoleDao.xml
  44. 0 27
      src/main/resources/mapper/system/SysUserRoleModuleRelationDao.xml
  45. 3 3
      src/main/resources/mapper/system/SysUserRolePermissionDao.xml
  46. 27 0
      src/main/resources/mapper/system/SysUserRolePermissionRelationDao.xml

+ 0 - 1
db/sys_menu.sql

@@ -5,7 +5,6 @@ Date: 2023-12-30 12:49:53
 */
 
 DROP TABLE IF EXISTS `sys_menu`;
-
 CREATE TABLE `sys_menu` (
     PRIMARY KEY (`id`),
     `id` BIGINT AUTO_INCREMENT COMMENT 'ID',

+ 5 - 7
db/sys_user_role_module.sql → db/sys_user_role_permission.sql

@@ -4,19 +4,17 @@ Source Database: backendsys
 Date: 2023/05/23 16:09:22
 */
 
-DROP TABLE IF EXISTS `sys_user_role_module`;
-
-CREATE TABLE `sys_user_role_module` (
+DROP TABLE IF EXISTS `sys_user_role_permission`;
+CREATE TABLE `sys_user_role_permission` (
     PRIMARY KEY (`id`),
     `id` VARCHAR(10) NOT NULL COMMENT 'ID',
     `parent_id` VARCHAR(10) COMMENT '父级模块ID (-1为没有父级)',
-    `module_name` VARCHAR(50) NOT NULL COMMENT '模块名称',
+    `permission_name` VARCHAR(50) NOT NULL COMMENT '模块名称',
     `sort` INT COMMENT '排序'
-) ENGINE=INNODB DEFAULT CHARSET=utf8mb4 COMMENT='系统角色模块表';
+) ENGINE=INNODB DEFAULT CHARSET=utf8mb4 COMMENT='系统角色权限表';
 
 # 此处 id 是非自增字符串类型,在部署测试或正式版后,id 就不变了,如有新增要往后递增
-
-INSERT INTO sys_user_role_module(id, parent_id, module_name, sort) VALUES
+INSERT INTO sys_user_role_permission(id, parent_id, permission_name, sort) VALUES
     ('1', -1, '公共管理', 1),
         ('1.1', '1', '上传文件', null),
 #         ('1.2', '1', '上传文件 (阿里云OSS)', null),

+ 5 - 5
db/sys_user_role_module_relation.sql → db/sys_user_role_permission_relation.sql

@@ -4,17 +4,17 @@ Source Database: backendsys
 Date: 2023/05/23 17:09:22
 */
 
-DROP TABLE IF EXISTS `sys_user_role_module_relation`;
+DROP TABLE IF EXISTS `sys_user_role_permission_relation`;
 
-CREATE TABLE `sys_user_role_module_relation` (
+CREATE TABLE `sys_user_role_permission_relation` (
     PRIMARY KEY (`id`),
     `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT 'ID',
     `role_id` BIGINT NOT NULL COMMENT '角色ID',
-    `module_id` VARCHAR(10) NOT NULL COMMENT '模块ID',
+    `permission_id` VARCHAR(10) NOT NULL COMMENT '模块ID',
     INDEX `idx_role_id` (`role_id`)
-) ENGINE=INNODB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COMMENT='系统角色模块关系表';
+) ENGINE=INNODB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COMMENT='系统角色权限关系表';
 
-INSERT INTO sys_user_role_module_relation(role_id, module_id) VALUES
+INSERT INTO sys_user_role_permission_relation(role_id, permission_id) VALUES
     (1, '1'),
         (1, '1.1'),
 #         (1, '1.2'),

+ 1 - 1
src/main/java/com/backendsys/entity/System/SysUserRoleDTO.java

@@ -28,7 +28,7 @@ public class SysUserRoleDTO<T> {
   @RangeArray(message="状态取值有误,范围应是(-1禁用, 1启用)", value = {"-1", "1"}, groups = {SysUserRoleDTO.Create.class, SysUserRoleDTO.Update.class})
   private Integer status;
   private Integer user_count;
-  @NotNull(message="角色模块不能为空", groups = {SysUserRoleDTO.Create.class, SysUserRoleDTO.Update.class})
+  @NotNull(message="角色权限不能为空", groups = {SysUserRoleDTO.Create.class, SysUserRoleDTO.Update.class})
   // private List<LinkedHashMap<String, Object>> modules;
   // 返回时,值是 对象数组:[{id,module_name}];
   // 提交时,值是数组:['1','1.1']

+ 11 - 11
src/main/java/com/backendsys/entity/System/SysUserRoleModuleDTO.java

@@ -1,11 +1,11 @@
-package com.backendsys.entity.System;
-
-import lombok.Data;
-
-@Data
-public class SysUserRoleModuleDTO {
-    private Long id;
-    private Long parent_id;
-    private String module_name;
-    //private String module_code;
-}
+//package com.backendsys.entity.System;
+//
+//import lombok.Data;
+//
+//@Data
+//public class SysUserRoleModuleDTO {
+//    private Long id;
+//    private Long parent_id;
+//    private String module_name;
+//    //private String module_code;
+//}

+ 1 - 1
src/main/java/com/backendsys/mapper/System/SysUserMapper.xml

@@ -85,7 +85,7 @@
     </resultMap>
 
     <!-- [多对多,使用子查询] -->
-    <!-- [嵌套查询] 用户角色 / 角色模块 -->
+    <!-- [嵌套查询] 用户角色 / 角色权限 -->
     <select id="queryRoleById" resultType="java.util.LinkedHashMap">
         SELECT ur.id, ur.role_name,
             GROUP_CONCAT(m.id) AS module_ids

+ 19 - 19
src/main/java/com/backendsys/mapper/System/SysUserRoleMapper.java

@@ -1,19 +1,19 @@
-package com.backendsys.mapper.System;
-
-import com.backendsys.entity.System.SysUserRoleDTO;
-import org.apache.ibatis.annotations.Mapper;
-
-import java.util.List;
-import java.util.Map;
-
-@Mapper
-public interface SysUserRoleMapper {
-    List<Map<String, Object>> queryUserRoleList(SysUserRoleDTO sysUserRoleDTO);
-    Map<String, Object> queryUserRoleDetail(Long role_id);
-    Map<String, Object> queryUserCountByRoleId(Long role_id);
-    long insertUserRole(SysUserRoleDTO sysUserRoleDTO);
-    long insertUserRoleModuleRelation(SysUserRoleDTO sysUserRoleDTO);
-    long updateUserRole(SysUserRoleDTO sysUserRoleDTO);
-    long updateUserRoleModuleRelation(SysUserRoleDTO sysUserRoleDTO);
-    long deleteUserRole(SysUserRoleDTO sysUserRoleDTO);
-}
+//package com.backendsys.mapper.System;
+//
+//import com.backendsys.entity.System.SysUserRoleDTO;
+//import org.apache.ibatis.annotations.Mapper;
+//
+//import java.util.List;
+//import java.util.Map;
+//
+//@Mapper
+//public interface SysUserRoleMapper {
+//    List<Map<String, Object>> queryUserRoleList(SysUserRoleDTO sysUserRoleDTO);
+//    Map<String, Object> queryUserRoleDetail(Long role_id);
+//    Map<String, Object> queryUserCountByRoleId(Long role_id);
+//    long insertUserRole(SysUserRoleDTO sysUserRoleDTO);
+//    long insertUserRolePermissionRelation(SysUserRoleDTO sysUserRoleDTO);
+//    long updateUserRole(SysUserRoleDTO sysUserRoleDTO);
+//    long updateUserRolePermissionRelation(SysUserRoleDTO sysUserRoleDTO);
+//    long deleteUserRole(SysUserRoleDTO sysUserRoleDTO);
+//}

+ 134 - 134
src/main/java/com/backendsys/mapper/System/SysUserRoleMapper.xml

@@ -1,146 +1,146 @@
-<?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.backendsys.mapper.System.SysUserRoleMapper">
+<!--<?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.backendsys.mapper.System.SysUserRoleMapper">-->
 
-    <sql id="includeUserRole">
-        ur.id id,
-        ur.id role_id,
-        ur.role_name role_name,
---         ur.role_description role_description,
-        COALESCE(ur.role_description, '') role_description,
---         COUNT(us.id) user_count,
---         NULLIF(COUNT(us.id), 0) AS user_count,
---         CASE WHEN COUNT(us.id) = 0 THEN NULL ELSE COUNT(us.id) END AS user_count,
-        ur.sort sort,
-        ur.status status
-    </sql>
+<!--    <sql id="includeUserRole">-->
+<!--        ur.id id,-->
+<!--        ur.id role_id,-->
+<!--        ur.role_name role_name,-->
+<!--&#45;&#45;         ur.role_description role_description,-->
+<!--        COALESCE(ur.role_description, '') role_description,-->
+<!--&#45;&#45;         COUNT(us.id) user_count,-->
+<!--&#45;&#45;         NULLIF(COUNT(us.id), 0) AS user_count,-->
+<!--&#45;&#45;         CASE WHEN COUNT(us.id) = 0 THEN NULL ELSE COUNT(us.id) END AS user_count,-->
+<!--        ur.sort sort,-->
+<!--        ur.status status-->
+<!--    </sql>-->
 
-    <resultMap id="resultMapUserRoleList" type="java.util.LinkedHashMap">
-        <id property="id" column="id" jdbcType="BIGINT" />
-        <result property="role_id" column="role_id" javaType="java.lang.Long"/>
-        <result property="role_name" column="role_name" />
-        <result property="role_description" column="role_description" />
-        <result property="user_count" column="user_count" />
-        <result property="sort" column="sort" />
-        <result property="status" column="status" javaType="java.lang.Integer"/>
-    </resultMap>
+<!--    <resultMap id="resultMapUserRoleList" type="java.util.LinkedHashMap">-->
+<!--        <id property="id" column="id" jdbcType="BIGINT" />-->
+<!--        <result property="role_id" column="role_id" javaType="java.lang.Long"/>-->
+<!--        <result property="role_name" column="role_name" />-->
+<!--        <result property="role_description" column="role_description" />-->
+<!--        <result property="user_count" column="user_count" />-->
+<!--        <result property="sort" column="sort" />-->
+<!--        <result property="status" column="status" javaType="java.lang.Integer"/>-->
+<!--    </resultMap>-->
 
-    <resultMap id="resultMapUserRoleDetail" type="java.util.LinkedHashMap">
-        <id property="id" column="id" jdbcType="BIGINT" />
-        <result property="role_name" column="role_name" />
-        <result property="role_description" column="role_description" />
-        <result property="user_count" column="user_count" />
-        <result property="sort" column="sort" />
-        <result property="status" column="status" javaType="java.lang.Integer"/>
-        <!--<result property="module_code" column="module_code" />-->
-        <collection property="modules" javaType="java.util.List" ofType="java.util.LinkedHashMap"
-            select="queryModulesByRoleId" column="id">
-            <id property="module_id" column="module_id" />
-            <result property="parent_id" column="parent_id" />
-            <result property="module_name" column="module_name" />
-        </collection>
-    </resultMap>
-    <!-- [嵌套查询] 查询角色下的全部模块 -->
-    <!--um.module_code,-->
-    <select id="queryModulesByRoleId" resultType="java.util.LinkedHashMap">
-        SELECT
-            um.id, um.module_name,
-            COALESCE(um.parent_id, '') AS parent_id
-        FROM sys_user_role_module_relation umr
-            LEFT JOIN sys_user_role_module um ON umr.module_id = um.id
-        WHERE umr.role_id = #{id}
-    </select>
+<!--    <resultMap id="resultMapUserRoleDetail" type="java.util.LinkedHashMap">-->
+<!--        <id property="id" column="id" jdbcType="BIGINT" />-->
+<!--        <result property="role_name" column="role_name" />-->
+<!--        <result property="role_description" column="role_description" />-->
+<!--        <result property="user_count" column="user_count" />-->
+<!--        <result property="sort" column="sort" />-->
+<!--        <result property="status" column="status" javaType="java.lang.Integer"/>-->
+<!--        &lt;!&ndash;<result property="module_code" column="module_code" />&ndash;&gt;-->
+<!--        <collection property="modules" javaType="java.util.List" ofType="java.util.LinkedHashMap"-->
+<!--            select="queryModulesByRoleId" column="id">-->
+<!--            <id property="module_id" column="module_id" />-->
+<!--            <result property="parent_id" column="parent_id" />-->
+<!--            <result property="module_name" column="module_name" />-->
+<!--        </collection>-->
+<!--    </resultMap>-->
+<!--    &lt;!&ndash; [嵌套查询] 查询角色下的全部模块 &ndash;&gt;-->
+<!--    &lt;!&ndash;um.module_code,&ndash;&gt;-->
+<!--    <select id="queryModulesByRoleId" resultType="java.util.LinkedHashMap">-->
+<!--        SELECT-->
+<!--            um.id, um.module_name,-->
+<!--            COALESCE(um.parent_id, '') AS parent_id-->
+<!--        FROM sys_user_role_module_relation umr-->
+<!--            LEFT JOIN sys_user_role_module um ON umr.module_id = um.id-->
+<!--        WHERE umr.role_id = #{id}-->
+<!--    </select>-->
 
-    <!-- 查询 用户角色列表 -->
-    <select id="queryUserRoleList" resultMap="resultMapUserRoleList">
-        SELECT <include refid="includeUserRole" />, COUNT(us.id) user_count
-        FROM sys_user_role ur
-            LEFT JOIN sys_user_role_relation urr ON ur.id = urr.role_id
-            LEFT JOIN sys_user us ON us.id = urr.user_id
-        <where>
-            <if test="role_name != null and role_name != ''">
-                AND ur.role_name LIKE CONCAT('%', #{role_name}, '%')
-            </if>
-            <if test="status != null and status != ''">
-                AND ur.status = #{status}
-            </if>
-        </where>
-        GROUP BY ur.id, ur.role_name
-        ORDER BY ur.sort ASC
-    </select>
+<!--    &lt;!&ndash; 查询 用户角色列表 &ndash;&gt;-->
+<!--    <select id="queryUserRoleList" resultMap="resultMapUserRoleList">-->
+<!--        SELECT <include refid="includeUserRole" />, COUNT(us.id) user_count-->
+<!--        FROM sys_user_role ur-->
+<!--            LEFT JOIN sys_user_role_relation urr ON ur.id = urr.role_id-->
+<!--            LEFT JOIN sys_user us ON us.id = urr.user_id-->
+<!--        <where>-->
+<!--            <if test="role_name != null and role_name != ''">-->
+<!--                AND ur.role_name LIKE CONCAT('%', #{role_name}, '%')-->
+<!--            </if>-->
+<!--            <if test="status != null and status != ''">-->
+<!--                AND ur.status = #{status}-->
+<!--            </if>-->
+<!--        </where>-->
+<!--        GROUP BY ur.id, ur.role_name-->
+<!--        ORDER BY ur.sort ASC-->
+<!--    </select>-->
 
-    <!-- 查询 用户角色详情 -->
-    <!-- 由于,在使用关联查询时,COUNT() 会导致输出的格式有误,从而导致原本输出 null 会变成 { user_count: 0 } -->
-    <!-- 因此,在使用 @QueryNullCheck 判断是否存在时,不要出现 COUNT 语法 -->
-    <!-- 此处关联查询改为 impl 中查询合并 -->
-    <select id="queryUserRoleDetail" resultMap="resultMapUserRoleDetail">
-        SELECT <include refid="includeUserRole" />
-        FROM sys_user_role ur
---             LEFT JOIN sys_user_role_relation urr ON ur.id = urr.role_id
---             LEFT JOIN sys_user us ON us.id = urr.user_id
-        WHERE ur.id = #{role_id}
-    </select>
+<!--    &lt;!&ndash; 查询 用户角色详情 &ndash;&gt;-->
+<!--    &lt;!&ndash; 由于,在使用关联查询时,COUNT() 会导致输出的格式有误,从而导致原本输出 null 会变成 { user_count: 0 } &ndash;&gt;-->
+<!--    &lt;!&ndash; 因此,在使用 @QueryNullCheck 判断是否存在时,不要出现 COUNT 语法 &ndash;&gt;-->
+<!--    &lt;!&ndash; 此处关联查询改为 impl 中查询合并 &ndash;&gt;-->
+<!--    <select id="queryUserRoleDetail" resultMap="resultMapUserRoleDetail">-->
+<!--        SELECT <include refid="includeUserRole" />-->
+<!--        FROM sys_user_role ur-->
+<!--&#45;&#45;             LEFT JOIN sys_user_role_relation urr ON ur.id = urr.role_id-->
+<!--&#45;&#45;             LEFT JOIN sys_user us ON us.id = urr.user_id-->
+<!--        WHERE ur.id = #{role_id}-->
+<!--    </select>-->
 
-    <!-- 根据角色关系表,查询用户数量 -->
-    <select id="queryUserCountByRoleId" resultType="java.util.LinkedHashMap">
-        SELECT COUNT(us.id) user_count
-            FROM sys_user_role_relation urr
-            LEFT JOIN sys_user us ON us.id = urr.user_id
-        WHERE urr.role_id = #{role_id}
-    </select>
+<!--    &lt;!&ndash; 根据角色关系表,查询用户数量 &ndash;&gt;-->
+<!--    <select id="queryUserCountByRoleId" resultType="java.util.LinkedHashMap">-->
+<!--        SELECT COUNT(us.id) user_count-->
+<!--            FROM sys_user_role_relation urr-->
+<!--            LEFT JOIN sys_user us ON us.id = urr.user_id-->
+<!--        WHERE urr.role_id = #{role_id}-->
+<!--    </select>-->
 
 
-    <!-- 创建 用户角色 -->
-    <insert id="insertUserRole" parameterType="com.backendsys.entity.System.SysUserRoleDTO" useGeneratedKeys="true" keyProperty="id">
-        INSERT INTO sys_user_role (role_name
-            <if test="role_description != null">, role_description</if>
-            <if test="sort != null">, sort</if>
-            <if test="status != null">, status</if>
-        ) VALUES (#{role_name}
-            <if test="role_description != null">, #{role_description}</if>
-            <if test="sort != null">, #{sort}</if>
-            <if test="status != null">, #{status}</if>
-        )
-    </insert>
-    <!-- 创建 用户角色 对应的 模块关系 -->
-    <insert id="insertUserRoleModuleRelation" parameterType="com.backendsys.entity.System.SysUserRoleDTO">
-        INSERT INTO sys_user_role_module_relation (role_id, module_id)
-        VALUES
-        <foreach collection="modules" item="module" separator=",">
-            (#{id}, #{module.id})
-        </foreach>
-    </insert>
+<!--    &lt;!&ndash; 创建 用户角色 &ndash;&gt;-->
+<!--    <insert id="insertUserRole" parameterType="com.backendsys.entity.System.SysUserRoleDTO" useGeneratedKeys="true" keyProperty="id">-->
+<!--        INSERT INTO sys_user_role (role_name-->
+<!--            <if test="role_description != null">, role_description</if>-->
+<!--            <if test="sort != null">, sort</if>-->
+<!--            <if test="status != null">, status</if>-->
+<!--        ) VALUES (#{role_name}-->
+<!--            <if test="role_description != null">, #{role_description}</if>-->
+<!--            <if test="sort != null">, #{sort}</if>-->
+<!--            <if test="status != null">, #{status}</if>-->
+<!--        )-->
+<!--    </insert>-->
+<!--    &lt;!&ndash; 创建 用户角色 对应的 模块关系 &ndash;&gt;-->
+<!--    <insert id="insertUserRolePermissionRelation" parameterType="com.backendsys.entity.System.SysUserRoleDTO">-->
+<!--        INSERT INTO sys_user_role_module_relation (role_id, module_id)-->
+<!--        VALUES-->
+<!--        <foreach collection="modules" item="module" separator=",">-->
+<!--            (#{id}, #{module.id})-->
+<!--        </foreach>-->
+<!--    </insert>-->
 
 
-    <!-- 编辑 用户角色 -->
-    <update id="updateUserRole" parameterType="com.backendsys.entity.System.SysUserRoleDTO">
-        UPDATE sys_user_role SET
-        <trim suffixOverrides="," suffix=" ">
-            <if test="role_name != null and role_name != ''">role_name = #{role_name},</if>
-            <if test="role_description != null and role_description != ''">role_description = #{role_description},</if>
-            <if test="sort != null and sort != ''">sort = #{sort},</if>
-            <if test="status != null and status != ''">status = #{status},</if>
-        </trim>
-        WHERE id = #{role_id}
-    </update>
-    <!-- 编辑 用户角色 对应的 模块关系-->
-    <update id="updateUserRoleModuleRelation" parameterType="com.backendsys.entity.System.SysUserRoleDTO">
-        <!--删除符合条件的数据-->
-        DELETE FROM sys_user_role_module_relation WHERE role_id = #{role_id};
-        <!--判断是否有新的数据需要插入-->
-        <if test="modules != null and modules.size() > 0">
-            INSERT INTO sys_user_role_module_relation (role_id, module_id)
-            VALUES
-            <foreach collection="modules" item="module" separator=",">
-                (#{role_id}, #{module.id})
-            </foreach>
-        </if>
-    </update>
+<!--    &lt;!&ndash; 编辑 用户角色 &ndash;&gt;-->
+<!--    <update id="updateUserRole" parameterType="com.backendsys.entity.System.SysUserRoleDTO">-->
+<!--        UPDATE sys_user_role SET-->
+<!--        <trim suffixOverrides="," suffix=" ">-->
+<!--            <if test="role_name != null and role_name != ''">role_name = #{role_name},</if>-->
+<!--            <if test="role_description != null and role_description != ''">role_description = #{role_description},</if>-->
+<!--            <if test="sort != null and sort != ''">sort = #{sort},</if>-->
+<!--            <if test="status != null and status != ''">status = #{status},</if>-->
+<!--        </trim>-->
+<!--        WHERE id = #{role_id}-->
+<!--    </update>-->
+<!--    &lt;!&ndash; 编辑 用户角色 对应的 模块关系&ndash;&gt;-->
+<!--    <update id="updateUserRolePermissionRelation" parameterType="com.backendsys.entity.System.SysUserRoleDTO">-->
+<!--        &lt;!&ndash;删除符合条件的数据&ndash;&gt;-->
+<!--        DELETE FROM sys_user_role_module_relation WHERE role_id = #{role_id};-->
+<!--        &lt;!&ndash;判断是否有新的数据需要插入&ndash;&gt;-->
+<!--        <if test="modules != null and modules.size() > 0">-->
+<!--            INSERT INTO sys_user_role_module_relation (role_id, module_id)-->
+<!--            VALUES-->
+<!--            <foreach collection="modules" item="module" separator=",">-->
+<!--                (#{role_id}, #{module.id})-->
+<!--            </foreach>-->
+<!--        </if>-->
+<!--    </update>-->
 
-    <!-- 删除 用户角色 (同时删除模块关系) -->
-    <delete id="deleteUserRole" parameterType="java.lang.Long">
-        DELETE FROM sys_user_role WHERE id = #{role_id};
-        DELETE FROM sys_user_role_module_relation WHERE role_id = #{role_id};
-    </delete>
+<!--    &lt;!&ndash; 删除 用户角色 (同时删除模块关系) &ndash;&gt;-->
+<!--    <delete id="deleteUserRole" parameterType="java.lang.Long">-->
+<!--        DELETE FROM sys_user_role WHERE id = #{role_id};-->
+<!--        DELETE FROM sys_user_role_module_relation WHERE role_id = #{role_id};-->
+<!--    </delete>-->
 
-</mapper>
+<!--</mapper>-->

+ 11 - 11
src/main/java/com/backendsys/mapper/System/SysUserRoleModuleMapper.java

@@ -1,11 +1,11 @@
-package com.backendsys.mapper.System;
-
-import org.apache.ibatis.annotations.Mapper;
-
-import java.util.List;
-import java.util.Map;
-
-@Mapper
-public interface SysUserRoleModuleMapper {
-    List<Map<String, Object>> queryUserRoleModuleList();
-}
+//package com.backendsys.mapper.System;
+//
+//import org.apache.ibatis.annotations.Mapper;
+//
+//import java.util.List;
+//import java.util.Map;
+//
+//@Mapper
+//public interface SysUserRoleModuleMapper {
+//    List<Map<String, Object>> queryUserRoleModuleList();
+//}

+ 20 - 20
src/main/java/com/backendsys/mapper/System/SysUserRoleModuleMapper.xml

@@ -1,24 +1,24 @@
-<?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.backendsys.mapper.System.SysUserRoleModuleMapper">
+<!--<?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.backendsys.mapper.System.SysUserRoleModuleMapper">-->
 
-    <!--, module_code-->
-    <sql id="includeUserRoleModule">
-        id, COALESCE(parent_id, '') AS parent_id, module_name
-    </sql>
+<!--    &lt;!&ndash;, module_code&ndash;&gt;-->
+<!--    <sql id="includeUserRoleModule">-->
+<!--        id, COALESCE(parent_id, '') AS parent_id, module_name-->
+<!--    </sql>-->
 
-    <resultMap id="resultMapUserRoleModuleList" type="java.util.LinkedHashMap">
-        <id property="id" column="id" jdbcType="BIGINT" />
-        <result property="parent_id" column="parent_id" />
-        <result property="module_name" column="module_name" />
-        <!--<result property="module_code" column="module_code" />-->
-    </resultMap>
+<!--    <resultMap id="resultMapUserRoleModuleList" type="java.util.LinkedHashMap">-->
+<!--        <id property="id" column="id" jdbcType="BIGINT" />-->
+<!--        <result property="parent_id" column="parent_id" />-->
+<!--        <result property="module_name" column="module_name" />-->
+<!--        &lt;!&ndash;<result property="module_code" column="module_code" />&ndash;&gt;-->
+<!--    </resultMap>-->
 
-    <!-- 查询 用户角色列表 -->
-    <select id="queryUserRoleModuleList" resultMap="resultMapUserRoleModuleList">
-        SELECT <include refid="includeUserRoleModule" />
-        FROM sys_user_role_module
-        ORDER BY sort ASC
-    </select>
+<!--    &lt;!&ndash; 查询 用户角色列表 &ndash;&gt;-->
+<!--    <select id="queryUserRoleModuleList" resultMap="resultMapUserRoleModuleList">-->
+<!--        SELECT <include refid="includeUserRoleModule" />-->
+<!--        FROM sys_user_role_module-->
+<!--        ORDER BY sort ASC-->
+<!--    </select>-->
 
-</mapper>
+<!--</mapper>-->

+ 1 - 1
src/main/java/com/backendsys/modules/common/config/security/entity/SecurityUserInfo.java

@@ -18,5 +18,5 @@ public class SecurityUserInfo {
 //    private String create_time;
     private String target;
     private List<Map<String, Object>> roles;
-    private List<String> modules;
+    private List<String> permission_ids;
 }

+ 16 - 16
src/main/java/com/backendsys/modules/common/config/security/utils/PermissionUtil.java

@@ -20,28 +20,28 @@ public class PermissionUtil {
     private TokenUtil tokenUtil;
     /**
      * 验证用户是否具备权限
-     * @param permissions 权限字符串
+     * @param permi 权限字符串
      * @return boolean
      */
-//    public boolean hasPermi(String permissions) {
-    public boolean hasPermi(Collection<String> permissions) {
+//    public boolean hasPermi(String permi) {
+    public boolean hasPermi(Collection<String> permi) {
 
-        if (CollectionUtils.isEmpty(permissions)) return false;
+        if (CollectionUtils.isEmpty(permi)) return false;
 
         SecurityUserInfo securityUserInfo = SecurityUtil.getUserInfo();
         // 如果是超级管理员,则直接通过
         if (securityUserInfo.getIs_super() == 1) return true;
 
-        // 没有 modules 即不是系统用户,即没有访问后台的权限
+        // 没有 permission_ids 即不是系统用户,即没有访问后台的权限
         if (securityUserInfo != null) {
-            List<String> modules = securityUserInfo.getModules();
-            if (modules != null && !modules.isEmpty()) {
-                Set<String> modulesSet = new HashSet<>();
-                for (String module : modules) {
-                    modulesSet.add(module);
+            List<String> permission_ids = securityUserInfo.getPermission_ids();
+            if (permission_ids != null && !permission_ids.isEmpty()) {
+                Set<String> dataSet = new HashSet<>();
+                for (String permission_id : permission_ids) {
+                    dataSet.add(permission_id);
                 }
-                for (String permission : permissions) {
-                    if (hasPermissions(modulesSet, permission)) {
+                for (String permission : permi) {
+                    if (hasPermissions(dataSet, permission)) {
                         return true;
                     }
                 }
@@ -50,8 +50,8 @@ public class PermissionUtil {
         }
         return false;
     }
-    public boolean hasPermissions(Set<String> permissions, String permission) {
-        return permissions.contains(StringUtils.trimAllWhitespace(permission));
+    public boolean hasPermissions(Set<String> permi, String permission) {
+        return permi.contains(StringUtils.trimAllWhitespace(permission));
     }
 
     // 是否超级管理员
@@ -81,10 +81,10 @@ public class PermissionUtil {
      *    - 不匹配,抛出错误
      * permissionService.checkUserIdAndPermission(sysUserDTO.getUser_id(), "3.2.1");
      */
-    public void checkUserIdAndPermission(long user_id, Collection<String> permission) {
+    public void checkUserIdAndPermission(long user_id, Collection<String> permis) {
         SecurityUserInfo securityUserInfo = SecurityUtil.getUserInfo();
         if (securityUserInfo.getUser_id() != user_id) {
-            if (!hasPermi(permission)) {
+            if (!hasPermi(permis)) {
                 throw new CustException(ResultEnum.AUTH_ROLE_ERROR.getMessage(), ResultEnum.AUTH_ROLE_ERROR.getCode());
             }
         }

+ 6 - 6
src/main/java/com/backendsys/modules/common/config/security/utils/SecurityUtil.java

@@ -82,8 +82,8 @@ public class SecurityUtil {
      */
     public static Boolean hasPermission(String permission) {
         SecurityUserInfo userInfo = getUserInfo();
-        List<String> modules = userInfo.getModules();
-        return modules.contains(permission);
+        List<String> permission_ids = userInfo.getPermission_ids();
+        return permission_ids.contains(permission);
     }
     /**
      * 判断是否具备用户权限 (多个) (默认 AND)
@@ -91,13 +91,13 @@ public class SecurityUtil {
      * - SecurityUtil.hasPermissions(Arrays.asList("3.2.1", "3.2.2"), MatchType.OR)
      * - 注意:权限储存在Token中,更新权限需要重新登录
      */
-    public static Boolean hasPermissions(List<String> permissions, MatchType matchType) {
+    public static Boolean hasPermissions(List<String> permis, MatchType matchType) {
         SecurityUserInfo userInfo = getUserInfo();
-        List<String> modules = userInfo.getModules();
+        List<String> permission_ids = userInfo.getPermission_ids();
         if (matchType.equals(MatchType.AND)) {
-            return permissions.stream().allMatch(modules::contains);
+            return permis.stream().allMatch(permission_ids::contains);
         } else if (matchType.equals(MatchType.OR)) {
-            return permissions.stream().anyMatch(modules::contains);
+            return permis.stream().anyMatch(permission_ids::contains);
         }
         return false;
     }

+ 0 - 1
src/main/java/com/backendsys/modules/system/controller/SysAuthV2Controller.java

@@ -43,7 +43,6 @@ public class SysAuthV2Controller {
 
     @Operation(summary = "系统用户登录 (用户名)")
     @PostMapping(value = "/api/system/auth/login")
-    // @RateLimiting(key = "systemLogin", limit = 5) // 限流?
     public Result systemLogin(@Validated(SysAuth.Login.class) @RequestBody SysAuth sysAuth) {
         return Result.success().put("data", sysAuthV2Service.login(sysAuth));
     }

+ 1 - 1
src/main/java/com/backendsys/modules/system/controller/SysUserController.java

@@ -86,7 +86,7 @@ public class SysUserController {
             throw new CustException(SecurityEnum.NOAUTH);
         }
 
-        return Result.success().put("data", sysUserV2Service.selectUserModule(user_id));
+        return Result.success().put("data", sysUserV2Service.selectUserPermission(user_id));
     }
 
     @SysLog("创建系统用户")

+ 12 - 12
src/main/java/com/backendsys/modules/system/controller/SysUserRoleController.java

@@ -2,7 +2,7 @@ package com.backendsys.modules.system.controller;
 
 import com.backendsys.exception.CustException;
 import com.backendsys.modules.common.utils.Result;
-import com.backendsys.entity.System.SysUserRoleDTO;
+import com.backendsys.modules.system.entity.SysUserRole;
 import com.backendsys.modules.system.service.SysUserRoleV2Service;
 import io.swagger.v3.oas.annotations.Operation;
 import io.swagger.v3.oas.annotations.tags.Tag;
@@ -26,38 +26,38 @@ public class SysUserRoleController {
     @Operation(summary = "获取系统用户角色列表")
     @PreAuthorize("@ss.hasPermi('4.1')")
     @GetMapping("/api/system/user/getUserRoleList")
-    public Result getUserRoleList(@Validated SysUserRoleDTO sysUserRoleDTO) {
-        return Result.success().put("data", sysUserRoleV2Service.getUserRoleList(sysUserRoleDTO));
+    public Result getUserRoleList(@Validated SysUserRole sysUserRole) {
+        return Result.success().put("data", sysUserRoleV2Service.getUserRoleList(sysUserRole));
     }
 
     @Operation(summary = "获取系统用户角色详情")
     @PreAuthorize("@ss.hasPermi('4.1.1')")
     @GetMapping("/api/system/user/getUserRoleDetail")
-    public Result getUserRoleDetail(@Validated(SysUserRoleDTO.Detail.class) SysUserRoleDTO sysUserRoleDTO) {
-        return Result.success().put("data", sysUserRoleV2Service.getUserRoleDetail(sysUserRoleDTO));
+    public Result getUserRoleDetail(@Validated(SysUserRole.Detail.class) SysUserRole sysUserRole) {
+        return Result.success().put("data", sysUserRoleV2Service.getUserRoleDetail(sysUserRole));
     }
 
     @Operation(summary = "创建系统用户角色")
     @PreAuthorize("@ss.hasPermi('4.1.2')")
     @PostMapping("/api/system/user/createUserRole")
-    public Result createUserRole(@Validated(SysUserRoleDTO.Create.class) @RequestBody SysUserRoleDTO sysUserRoleDTO) {
-        return Result.success().put("data", sysUserRoleV2Service.insertUserRole(sysUserRoleDTO));
+    public Result createUserRole(@Validated(SysUserRole.Create.class) @RequestBody SysUserRole sysUserRole) {
+        return Result.success().put("data", sysUserRoleV2Service.insertUserRole(sysUserRole));
     }
 
     @Operation(summary = "更新系统用户角色")
     @PreAuthorize("@ss.hasPermi('4.1.3')")
     @PutMapping("/api/system/user/updateUserRole")
-    public Result updateUserRole(@Validated(SysUserRoleDTO.Update.class) @RequestBody SysUserRoleDTO sysUserRoleDTO) {
-        return Result.success().put("data", sysUserRoleV2Service.updateUserRole(sysUserRoleDTO));
+    public Result updateUserRole(@Validated(SysUserRole.Update.class) @RequestBody SysUserRole sysUserRole) {
+        return Result.success().put("data", sysUserRoleV2Service.updateUserRole(sysUserRole));
     }
 
     @Operation(summary = "删除系统用户角色")
     @PreAuthorize("@ss.hasPermi('4.1.4')")
     @DeleteMapping("/api/system/user/deleteUserRole")
-    public Result deleteUserRole(@Validated(SysUserRoleDTO.Delete.class) @RequestBody SysUserRoleDTO sysUserRoleDTO) {
+    public Result deleteUserRole(@Validated(SysUserRole.Delete.class) @RequestBody SysUserRole sysUserRole) {
         // 不可删除 角色ID: (1管理员, 2游客)
-        if (Arrays.asList(1L, 2L).contains(sysUserRoleDTO.getRole_id())) throw new CustException("该角色不可删除");
-        return Result.success().put("data", sysUserRoleV2Service.deleteUserRole(sysUserRoleDTO));
+        if (Arrays.asList(1L, 2L).contains(sysUserRole.getRole_id())) throw new CustException("该角色不可删除");
+        return Result.success().put("data", sysUserRoleV2Service.deleteUserRole(sysUserRole));
     }
 
 }

+ 9 - 9
src/main/java/com/backendsys/modules/system/controller/SysUserRoleModuleController.java → src/main/java/com/backendsys/modules/system/controller/SysUserRolePermissionController.java

@@ -1,7 +1,7 @@
 package com.backendsys.modules.system.controller;
 
 import com.backendsys.modules.common.utils.Result;
-import com.backendsys.modules.system.service.SysUserRoleModuleV2Service;
+import com.backendsys.modules.system.service.SysUserRolePermissionV2Service;
 import io.swagger.v3.oas.annotations.Operation;
 import io.swagger.v3.oas.annotations.tags.Tag;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -11,21 +11,21 @@ import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.RestController;
 
 /**
- * 系统用户角色模块
+ * 系统用户角色权限
  */
 @Validated
 @RestController
-@Tag(name = "系统用户角色模块")
-public class SysUserRoleModuleController {
+@Tag(name = "系统用户角色权限")
+public class SysUserRolePermissionController {
 
     @Autowired
-    private SysUserRoleModuleV2Service sysUserRoleModuleV2Service;
+    private SysUserRolePermissionV2Service sysUserRolePermissionV2Service;
 
-    @Operation(summary = "获取系统用户角色模块列表")
+    @Operation(summary = "获取系统用户角色权限列表")
     @PreAuthorize("@ss.hasPermi('4.1.5')")
-    @GetMapping("/api/system/user/getUserRoleModule")
-    public Result getUserRoleModule(Long role_id) {
-        return Result.success().put("data", sysUserRoleModuleV2Service.getUserRoleModule(role_id));
+    @GetMapping("/api/system/user/getUserRolePermission")
+    public Result getUserRolePermission(Long role_id) {
+        return Result.success().put("data", sysUserRolePermissionV2Service.getUserRolePermission(role_id));
     }
 
 }

+ 5 - 6
src/main/java/com/backendsys/modules/system/dao/SysUserRoleDao.java

@@ -1,6 +1,5 @@
 package com.backendsys.modules.system.dao;
 
-import com.backendsys.entity.System.SysUserRoleDTO;
 import com.backendsys.modules.system.entity.SysUserRole;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import org.apache.ibatis.annotations.Mapper;
@@ -11,15 +10,15 @@ import java.util.Map;
 @Mapper
 public interface SysUserRoleDao extends BaseMapper<SysUserRole> {
 
-    List<SysUserRole> selectUserRoleList(SysUserRoleDTO sysUserRoleDTO);
+    List<SysUserRole> selectUserRoleList(SysUserRole sysUserRole);
 
     // 获得用户角色 (部分字段)
     List<Map<String, Object>> selectRoleByUserId(Long user_id);
 
-    int insertUserRole(SysUserRoleDTO sysUserRoleDTO);
-    int insertUserRoleModuleRelation(SysUserRoleDTO sysUserRoleDTO);
+    int insertUserRole(SysUserRole sysUserRole);
+    int insertUserRolePermissionRelation(SysUserRole sysUserRole);
 
-    int updateUserRole(SysUserRoleDTO sysUserRoleDTO);
-    int updateUserRoleModuleRelation(SysUserRoleDTO sysUserRoleDTO);
+    int updateUserRole(SysUserRole sysUserRole);
+    int updateUserRolePermissionRelation(SysUserRole sysUserRole);
 
 }

+ 0 - 17
src/main/java/com/backendsys/modules/system/dao/SysUserRoleModuleRelationDao.java

@@ -1,17 +0,0 @@
-package com.backendsys.modules.system.dao;
-
-import com.backendsys.modules.system.entity.SysUserRoleModule;
-import com.backendsys.modules.system.entity.SysUserRoleModuleRelation;
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import org.apache.ibatis.annotations.Mapper;
-
-import java.util.List;
-
-@Mapper
-public interface SysUserRoleModuleRelationDao extends BaseMapper<SysUserRoleModuleRelation> {
-
-    List<String> selectUserRoleModuleIdsByRoleIds(List<Long> role_ids);
-
-    List<SysUserRoleModule> selectUserRoleModuleByRoleId(Long role_id);
-
-}

+ 2 - 2
src/main/java/com/backendsys/modules/system/dao/SysUserRoleModuleDao.java → src/main/java/com/backendsys/modules/system/dao/SysUserRolePermissionDao.java

@@ -1,6 +1,6 @@
 package com.backendsys.modules.system.dao;
 
-import com.backendsys.modules.system.entity.SysUserRoleModule;
+import com.backendsys.modules.system.entity.SysUserRolePermission;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import org.apache.ibatis.annotations.Mapper;
 
@@ -8,7 +8,7 @@ import java.util.List;
 import java.util.Map;
 
 @Mapper
-public interface SysUserRoleModuleDao extends BaseMapper<SysUserRoleModule> {
+public interface SysUserRolePermissionDao extends BaseMapper<SysUserRolePermission> {
 
     List<Map<String, Object>> selectUserRoleModule(Long role_id);
 

+ 17 - 0
src/main/java/com/backendsys/modules/system/dao/SysUserRolePermissionRelationDao.java

@@ -0,0 +1,17 @@
+package com.backendsys.modules.system.dao;
+
+import com.backendsys.modules.system.entity.SysUserRolePermission;
+import com.backendsys.modules.system.entity.SysUserRolePermissionRelation;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Mapper;
+
+import java.util.List;
+
+@Mapper
+public interface SysUserRolePermissionRelationDao extends BaseMapper<SysUserRolePermissionRelation> {
+
+    List<String> selectUserRolePermissionIdsByRoleIds(List<Long> role_ids);
+
+    List<SysUserRolePermission> selectUserRolePermissionByRoleId(Long role_id);
+
+}

+ 1 - 2
src/main/java/com/backendsys/modules/system/entity/SysUserInfo.java

@@ -18,7 +18,6 @@ import java.util.Map;
 @TableName("sys_user_info")
 public class SysUserInfo {
 
-
     private Long id;
     @TableId(type = IdType.AUTO)
     private Long user_id;
@@ -54,7 +53,7 @@ public class SysUserInfo {
     private List<Long> role_id;
 
     @TableField(exist = false)
-    private List<String> modules;
+    private List<String> permission_ids;
 
     @TableField(exist = false)
     private String token_expiration;

+ 24 - 2
src/main/java/com/backendsys/modules/system/entity/SysUserRole.java

@@ -1,30 +1,52 @@
 package com.backendsys.modules.system.entity;
 
+import com.backendsys.entity.validator.RangeArray;
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
+import jakarta.validation.constraints.NotNull;
+import jakarta.validation.constraints.Size;
 import lombok.Data;
+import org.hibernate.validator.constraints.Range;
 
 import java.util.List;
-import java.util.Map;
 
 @Data
 @TableName("sys_user_role")
 public class SysUserRole {
+
+    public static interface Detail{}
+    public static interface Create{}
+    public static interface Update{}
+    public static interface Delete{}
+
     @TableId(type = IdType.AUTO)
     private Long id;
+
+    @NotNull(message="role_id 不能为空", groups = { Detail.class, Update.class, Delete.class })
     @TableField("id")
     private Long role_id;
+
+    @Size(min = 2, max = 20, message = "角色名称长度在 {min}-{max} 字符", groups = { Create.class, Update.class })
     private String role_name;
+
+    @Size(max = 200, message = "角色描述长度不超过 {max} 字符", groups = { Create.class, Update.class })
     private String role_description;
 
     @TableField(exist = false)
     private Integer user_count;
 
+    @Range(min = 1, max = 9999, message = "排序必须在 {min} 到 {max} 之间")
     private Integer sort;
+
+    @RangeArray(message="状态取值有误,范围应是(-1禁用, 1启用)", value = {"-1", "1"}, groups = { Create.class, Update.class })
     private Integer status;
 
     @TableField(exist = false)
-    private List<SysUserRoleModule> modules;
+    private List<SysUserRolePermission> permissions;
+
+    @NotNull(message="角色权限不能为空", groups = { Create.class, Update.class })
+    @TableField(exist = false)
+    private List<String> permission_ids;
 }

+ 3 - 5
src/main/java/com/backendsys/modules/system/entity/SysUserRoleModule.java → src/main/java/com/backendsys/modules/system/entity/SysUserRolePermission.java

@@ -1,15 +1,13 @@
 package com.backendsys.modules.system.entity;
 
-import com.baomidou.mybatisplus.annotation.IdType;
-import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
 import lombok.Data;
 
 @Data
-@TableName("sys_user_role_module")
-public class SysUserRoleModule {
+@TableName("sys_user_role_permission")
+public class SysUserRolePermission {
     private String id;
     private String parent_id;
-    private String module_name;
+    private String permission_name;
     private Integer sort;
 }

+ 3 - 3
src/main/java/com/backendsys/modules/system/entity/SysUserRoleModuleRelation.java → src/main/java/com/backendsys/modules/system/entity/SysUserRolePermissionRelation.java

@@ -6,10 +6,10 @@ import com.baomidou.mybatisplus.annotation.TableName;
 import lombok.Data;
 
 @Data
-@TableName("sys_user_role_module_relation")
-public class SysUserRoleModuleRelation {
+@TableName("sys_user_role_permission_relation")
+public class SysUserRolePermissionRelation {
     @TableId(type = IdType.AUTO)
     private Long id;
     private Long role_id;
-    private Long module_id;
+    private Long permission_id;
 }

+ 0 - 1
src/main/java/com/backendsys/modules/system/service/SysAuthV2Service.java

@@ -15,7 +15,6 @@ public interface SysAuthV2Service {
 
     void renderCaptcha(HttpServletResponse response) throws IOException;
     List<SysMobileArea> getMobileAreaList(SysMobileArea sysMobileArea);
-
     SysUserInfo login(SysAuth sysAuth);
     SysUserInfo loginWithPhone(SysAuthPhone sysAuthPhone);
 

+ 0 - 13
src/main/java/com/backendsys/modules/system/service/SysUserRoleModuleV2Service.java

@@ -1,13 +0,0 @@
-package com.backendsys.modules.system.service;
-
-import com.backendsys.modules.system.entity.SysUserRoleModule;
-import com.baomidou.mybatisplus.extension.service.IService;
-
-import java.util.List;
-import java.util.Map;
-
-public interface SysUserRoleModuleV2Service extends IService<SysUserRoleModule> {
-
-    List<Map<String, Object>> getUserRoleModule(Long role_id);
-
-}

+ 13 - 0
src/main/java/com/backendsys/modules/system/service/SysUserRolePermissionV2Service.java

@@ -0,0 +1,13 @@
+package com.backendsys.modules.system.service;
+
+import com.backendsys.modules.system.entity.SysUserRolePermission;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+import java.util.List;
+import java.util.Map;
+
+public interface SysUserRolePermissionV2Service extends IService<SysUserRolePermission> {
+
+    List<Map<String, Object>> getUserRolePermission(Long role_id);
+
+}

+ 5 - 5
src/main/java/com/backendsys/modules/system/service/SysUserRoleV2Service.java

@@ -9,10 +9,10 @@ import java.util.Map;
 
 public interface SysUserRoleV2Service extends IService<SysUserRole> {
 
-    PageEntity getUserRoleList(SysUserRoleDTO sysUserRoleDTO);
-    SysUserRole getUserRoleDetail(SysUserRoleDTO sysUserRoleDTO);
-    Map<String, Object> insertUserRole(SysUserRoleDTO sysUserRoleDTO);
-    Map<String, Object> updateUserRole(SysUserRoleDTO sysUserRoleDTO);
-    Map<String, Object> deleteUserRole(SysUserRoleDTO sysUserRoleDTO);
+    PageEntity getUserRoleList(SysUserRole sysUserRole);
+    SysUserRole getUserRoleDetail(SysUserRole sysUserRole);
+    Map<String, Object> insertUserRole(SysUserRole sysUserRole);
+    Map<String, Object> updateUserRole(SysUserRole sysUserRole);
+    Map<String, Object> deleteUserRole(SysUserRole sysUserRole);
 
 }

+ 1 - 1
src/main/java/com/backendsys/modules/system/service/SysUserV2Service.java

@@ -18,7 +18,7 @@ public interface SysUserV2Service extends IService<SysUser> {
     // 获取系统用户详情
     SysUserInfo selectUserInfo(Long user_id);
     // 获取系统用户权限
-    List<String> selectUserModule(Long user_id);
+    Map<String, Object> selectUserPermission(Long user_id);
     // 创建系统用户
     Map<String, Object> insertUser(SysUserDTO sysUserDTO);
     // 编辑系统用户信息

+ 0 - 24
src/main/java/com/backendsys/modules/system/service/impl/SysUserRoleModuleV2ServiceImpl.java

@@ -1,24 +0,0 @@
-package com.backendsys.modules.system.service.impl;
-
-import com.backendsys.modules.system.dao.SysUserRoleModuleDao;
-import com.backendsys.modules.system.entity.SysUserRoleModule;
-import com.backendsys.modules.system.service.SysUserRoleModuleV2Service;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-
-import java.util.List;
-import java.util.Map;
-
-@Service
-public class SysUserRoleModuleV2ServiceImpl extends ServiceImpl<SysUserRoleModuleDao, SysUserRoleModule> implements SysUserRoleModuleV2Service {
-
-    @Autowired
-    private SysUserRoleModuleDao sysUserRoleModuleDao;
-
-    @Override
-    public List<Map<String, Object>> getUserRoleModule(Long role_id) {
-        return sysUserRoleModuleDao.selectUserRoleModule(role_id);
-    }
-
-}

+ 24 - 0
src/main/java/com/backendsys/modules/system/service/impl/SysUserRolePermissionV2ServiceImpl.java

@@ -0,0 +1,24 @@
+package com.backendsys.modules.system.service.impl;
+
+import com.backendsys.modules.system.dao.SysUserRolePermissionDao;
+import com.backendsys.modules.system.entity.SysUserRolePermission;
+import com.backendsys.modules.system.service.SysUserRolePermissionV2Service;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+import java.util.Map;
+
+@Service
+public class SysUserRolePermissionV2ServiceImpl extends ServiceImpl<SysUserRolePermissionDao, SysUserRolePermission> implements SysUserRolePermissionV2Service {
+
+    @Autowired
+    private SysUserRolePermissionDao sysUserRolePermissionDao;
+
+    @Override
+    public List<Map<String, Object>> getUserRolePermission(Long role_id) {
+        return sysUserRolePermissionDao.selectUserRoleModule(role_id);
+    }
+
+}

+ 28 - 30
src/main/java/com/backendsys/modules/system/service/impl/SysUserRoleV2ServiceImpl.java

@@ -2,21 +2,19 @@ package com.backendsys.modules.system.service.impl;
 
 import cn.hutool.core.convert.Convert;
 import cn.hutool.core.collection.CollUtil;
-import com.backendsys.entity.System.SysUserRoleDTO;
 import com.backendsys.exception.CustException;
 import com.backendsys.modules.system.dao.SysUserRoleDao;
-import com.backendsys.modules.system.dao.SysUserRoleModuleRelationDao;
+import com.backendsys.modules.system.dao.SysUserRolePermissionRelationDao;
 import com.backendsys.modules.system.dao.SysUserRoleRelationDao;
 import com.backendsys.modules.system.entity.SysUserRole;
-import com.backendsys.modules.system.entity.SysUserRoleModule;
-import com.backendsys.modules.system.entity.SysUserRoleModuleRelation;
+import com.backendsys.modules.system.entity.SysUserRolePermission;
+import com.backendsys.modules.system.entity.SysUserRolePermissionRelation;
 import com.backendsys.modules.system.entity.SysUserRoleRelation;
 import com.backendsys.modules.system.service.SysUserRoleV2Service;
 import com.backendsys.utils.response.PageEntity;
 import com.backendsys.utils.response.PageInfoResult;
 import com.backendsys.utils.v2.PageUtils;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -32,19 +30,19 @@ public class SysUserRoleV2ServiceImpl extends ServiceImpl<SysUserRoleDao, SysUse
     @Autowired
     private SysUserRoleRelationDao sysUserRoleRelationDao;
     @Autowired
-    private SysUserRoleModuleRelationDao sysUserRoleModuleRelationDao;
+    private SysUserRolePermissionRelationDao sysUserRolePermissionRelationDao;
 
     @Override
-    public PageEntity getUserRoleList(SysUserRoleDTO sysUserRoleDTO) {
+    public PageEntity getUserRoleList(SysUserRole sysUserRole) {
         PageUtils.startPage();  // 分页
-        List<SysUserRole> list = sysUserRoleDao.selectUserRoleList(sysUserRoleDTO);
+        List<SysUserRole> list = sysUserRoleDao.selectUserRoleList(sysUserRole);
         return new PageInfoResult(list).toEntity();
     }
 
     @Override
-    public SysUserRole getUserRoleDetail(SysUserRoleDTO sysUserRoleDTO) {
+    public SysUserRole getUserRoleDetail(SysUserRole sysUserRole) {
 
-        Long role_id = sysUserRoleDTO.getRole_id();
+        Long role_id = sysUserRole.getRole_id();
         SysUserRole roleDetail = sysUserRoleDao.selectById(role_id);
         if (roleDetail == null) throw new CustException("系统用户角色不存在");
 
@@ -54,62 +52,62 @@ public class SysUserRoleV2ServiceImpl extends ServiceImpl<SysUserRoleDao, SysUse
         roleDetail.setUser_count(Convert.toInt(count));
 
         // 查询角色对应的模块
-        List<SysUserRoleModule> modules = sysUserRoleModuleRelationDao.selectUserRoleModuleByRoleId(role_id);
+        List<SysUserRolePermission> modules = sysUserRolePermissionRelationDao.selectUserRolePermissionByRoleId(role_id);
 
         System.out.println("modules:");
         System.out.println(modules);
 
-        roleDetail.setModules(modules);
+        roleDetail.setPermissions(modules);
 
         return roleDetail;
     }
 
     @Override
     @Transactional
-    public Map<String, Object> insertUserRole(SysUserRoleDTO sysUserRoleDTO) {
+    public Map<String, Object> insertUserRole(SysUserRole sysUserRole) {
 
         // 判断 modules 是否重复
-        List<String> modulesIds = sysUserRoleDTO.getModules();
-        if (CollUtil.isNotEmpty(modulesIds) && modulesIds.size() != CollUtil.distinct(modulesIds).size()) {
+        List<String> permissionIds = sysUserRole.getPermission_ids();
+        if (CollUtil.isNotEmpty(permissionIds) && permissionIds.size() != CollUtil.distinct(permissionIds).size()) {
             throw new CustException("模块ID出现重复值");
         }
 
         // 创建角色
-        sysUserRoleDao.insertUserRole(sysUserRoleDTO);
+        sysUserRoleDao.insertUserRole(sysUserRole);
         // 创建角色与模块关系
-        sysUserRoleDao.insertUserRoleModuleRelation(sysUserRoleDTO);
+        sysUserRoleDao.insertUserRolePermissionRelation(sysUserRole);
 
-        return Map.of("role_id", sysUserRoleDTO.getId());
+        return Map.of("role_id", sysUserRole.getId());
     }
 
     @Override
     @Transactional
-    public Map<String, Object> updateUserRole(SysUserRoleDTO sysUserRoleDTO) {
+    public Map<String, Object> updateUserRole(SysUserRole sysUserRole) {
 
         // 判断 modules 是否重复
-        List<String> modulesIds = sysUserRoleDTO.getModules();
-        if (CollUtil.isNotEmpty(modulesIds) && modulesIds.size() != CollUtil.distinct(modulesIds).size()) {
+        List<String> permissionIds = sysUserRole.getPermission_ids();
+        if (CollUtil.isNotEmpty(permissionIds) && permissionIds.size() != CollUtil.distinct(permissionIds).size()) {
             throw new CustException("模块ID出现重复值");
         }
 
-        SysUserRole detail = sysUserRoleDao.selectById(sysUserRoleDTO.getRole_id());
+        SysUserRole detail = sysUserRoleDao.selectById(sysUserRole.getRole_id());
         if (detail == null) throw new CustException("系统用户角色不存在");
 
         // 更新角色
-        sysUserRoleDao.updateUserRole(sysUserRoleDTO);
+        sysUserRoleDao.updateUserRole(sysUserRole);
         // 更新角色与模块关系 (需要先删除全部,再重新插入)
-        sysUserRoleDao.updateUserRoleModuleRelation(sysUserRoleDTO);
+        sysUserRoleDao.updateUserRolePermissionRelation(sysUserRole);
 
-        return Map.of("role_id", sysUserRoleDTO.getRole_id());
+        return Map.of("role_id", sysUserRole.getRole_id());
     }
 
     @Override
     @Transactional
-    public Map<String, Object> deleteUserRole(SysUserRoleDTO sysUserRoleDTO) {
+    public Map<String, Object> deleteUserRole(SysUserRole sysUserRole) {
 
-        Long role_id = sysUserRoleDTO.getRole_id();
+        Long role_id = sysUserRole.getRole_id();
 
-        SysUserRole roleDetail = getUserRoleDetail(sysUserRoleDTO);
+        SysUserRole roleDetail = getUserRoleDetail(sysUserRole);
         if (roleDetail == null) throw new CustException("系统用户角色不存在");
 
         Integer user_count = roleDetail.getUser_count();
@@ -118,9 +116,9 @@ public class SysUserRoleV2ServiceImpl extends ServiceImpl<SysUserRoleDao, SysUse
         // 删除角色
         sysUserRoleDao.delete(new LambdaQueryWrapper<SysUserRole>().eq(SysUserRole::getRole_id, role_id));
         // 删除角色与模块关系
-        sysUserRoleModuleRelationDao.delete(new LambdaQueryWrapper<SysUserRoleModuleRelation>().eq(SysUserRoleModuleRelation::getRole_id, role_id));
+        sysUserRolePermissionRelationDao.delete(new LambdaQueryWrapper<SysUserRolePermissionRelation>().eq(SysUserRolePermissionRelation::getRole_id, role_id));
 
-        return Map.of("role_id", sysUserRoleDTO.getRole_id());
+        return Map.of("role_id", sysUserRole.getRole_id());
     }
 
 }

+ 11 - 8
src/main/java/com/backendsys/modules/system/service/impl/SysUserV2ServiceImpl.java

@@ -52,7 +52,7 @@ public class SysUserV2ServiceImpl extends ServiceImpl<SysUserDao, SysUser> imple
     @Autowired
     private SysUserRoleRelationDao sysUserRoleRelationDao;
     @Autowired
-    private SysUserRoleModuleRelationDao sysUserRoleModuleRelationDao;
+    private SysUserRolePermissionRelationDao sysUserRolePermissionRelationDao;
 
     /**
      * 获取系统用户列表
@@ -102,8 +102,8 @@ public class SysUserV2ServiceImpl extends ServiceImpl<SysUserDao, SysUser> imple
         List<Long> role_ids = roles.stream().map(m -> Convert.toLong(m.get("role_id"))).collect(Collectors.toList());
         sysUserInfo.setRole_id(role_ids);
 
-        List<String> modules = sysUserRoleModuleRelationDao.selectUserRoleModuleIdsByRoleIds(role_ids);
-        sysUserInfo.setModules(modules);
+        List<String> permission_ids = sysUserRolePermissionRelationDao.selectUserRolePermissionIdsByRoleIds(role_ids);
+        sysUserInfo.setPermission_ids(permission_ids);
 
         return sysUserInfo;
     }
@@ -113,19 +113,22 @@ public class SysUserV2ServiceImpl extends ServiceImpl<SysUserDao, SysUser> imple
      * 获取系统用户权限
      */
     @Override
-    public List<String> selectUserModule(Long user_id) {
+    public Map<String, Object> selectUserPermission(Long user_id) {
 
         // 获得当前角色关系(集合)
         List<Long> userRoleIds = sysUserRoleRelationDao.selectUserRoleIds(user_id);
 
         // 获得当前角色关系(集合) 所对应的权限(集合)
-        List<String> roleModuleIds = new ArrayList<>();
+        List<String> rolePermissionIds = new ArrayList<>();
         if (userRoleIds.size() > 0) {
-            roleModuleIds = sysUserRoleModuleRelationDao.selectUserRoleModuleIdsByRoleIds(userRoleIds);
-            roleModuleIds = roleModuleIds.stream().distinct().collect(Collectors.toList());
+            rolePermissionIds = sysUserRolePermissionRelationDao.selectUserRolePermissionIdsByRoleIds(userRoleIds);
+            rolePermissionIds = rolePermissionIds.stream().distinct().collect(Collectors.toList());
         }
 
-        return roleModuleIds;
+        Map<String, Object> resp = new LinkedHashMap<>();
+        resp.put("user_id", user_id);
+        resp.put("permission_ids", rolePermissionIds);
+        return resp;
     }
 
     /**

+ 8 - 8
src/main/java/com/backendsys/service/System/SysActuatorService.java

@@ -1,8 +1,8 @@
-package com.backendsys.service.System;
-
-import java.util.Map;
-
-public interface SysActuatorService {
-    //Map<String, Object> requestActuatorMetrics();
-    Map<String, Object> querySystemInfo();
-}
+//package com.backendsys.service.System;
+//
+//import java.util.Map;
+//
+//public interface SysActuatorService {
+//    //Map<String, Object> requestActuatorMetrics();
+//    Map<String, Object> querySystemInfo();
+//}

+ 63 - 63
src/main/java/com/backendsys/service/System/SysActuatorServiceImpl.java

@@ -1,63 +1,63 @@
-package com.backendsys.service.System;
-
-import org.springframework.jdbc.core.JdbcTemplate;
-import org.springframework.stereotype.Service;
-
-import java.util.HashMap;
-import java.util.Map;
-
-@Service
-public class SysActuatorServiceImpl implements SysActuatorService{
-
-    //@Autowired
-    //private HttpActuatorService httpActuatorService;
-
-    //@Override
-    //public Map<String, Object> requestActuatorMetrics() {
-    //    Map<String, Object> map = new HashMap<>();
-    //    // [Get] [metrics.application.started.time] 应用启动时间
-    //    List<Map<String, Object>> applicationStartedTime = httpActuatorService.getMetricsApplicationStartedTime();
-    //    map.put("applicationStartedTime", applicationStartedTime);
-    //    return map;
-    //}
-    private final JdbcTemplate jdbcTemplate;
-
-    public SysActuatorServiceImpl(JdbcTemplate jdbcTemplate) {
-        this.jdbcTemplate = jdbcTemplate;
-    }
-
-    @Override
-    public Map<String, Object> querySystemInfo() {
-        Map<String, Object> map = new HashMap<>();
-        map.put("os_name", System.getProperty("os.name"));
-        map.put("os_version", System.getProperty("os.version"));
-
-        String sql = "SELECT VERSION()";
-        map.put("sql_version", jdbcTemplate.queryForObject(sql, String.class));
-
-        // 以后有空再来优化?
-
-
-        // 获取内存管理的 MXBean 对象
-        //MemoryMXBean memoryMXBean = ManagementFactory.getMemoryMXBean();
-
-        //// 获取堆内存使用情况
-        //MemoryUsage heapMemoryUsage = memoryMXBean.getHeapMemoryUsage();
-        //System.out.println("Heap Memory Usage:");
-        //System.out.println("  - Initial: " + heapMemoryUsage.getInit());
-        //System.out.println("  - Used: " + heapMemoryUsage.getUsed());
-        //System.out.println("  - Committed: " + heapMemoryUsage.getCommitted());
-        //System.out.println("  - Max: " + heapMemoryUsage.getMax());
-        //
-        //// 获取非堆内存使用情况
-        //MemoryUsage nonHeapMemoryUsage = memoryMXBean.getNonHeapMemoryUsage();
-        //System.out.println("Non-Heap Memory Usage:");
-        //System.out.println("  - Initial: " + nonHeapMemoryUsage.getInit());
-        //System.out.println("  - Used: " + nonHeapMemoryUsage.getUsed());
-        //System.out.println("  - Committed: " + nonHeapMemoryUsage.getCommitted());
-        //System.out.println("  - Max: " + nonHeapMemoryUsage.getMax());
-
-        return map;
-    }
-
-}
+//package com.backendsys.service.System;
+//
+//import org.springframework.jdbc.core.JdbcTemplate;
+//import org.springframework.stereotype.Service;
+//
+//import java.util.HashMap;
+//import java.util.Map;
+//
+//@Service
+//public class SysActuatorServiceImpl implements SysActuatorService{
+//
+//    //@Autowired
+//    //private HttpActuatorService httpActuatorService;
+//
+//    //@Override
+//    //public Map<String, Object> requestActuatorMetrics() {
+//    //    Map<String, Object> map = new HashMap<>();
+//    //    // [Get] [metrics.application.started.time] 应用启动时间
+//    //    List<Map<String, Object>> applicationStartedTime = httpActuatorService.getMetricsApplicationStartedTime();
+//    //    map.put("applicationStartedTime", applicationStartedTime);
+//    //    return map;
+//    //}
+//    private final JdbcTemplate jdbcTemplate;
+//
+//    public SysActuatorServiceImpl(JdbcTemplate jdbcTemplate) {
+//        this.jdbcTemplate = jdbcTemplate;
+//    }
+//
+//    @Override
+//    public Map<String, Object> querySystemInfo() {
+//        Map<String, Object> map = new HashMap<>();
+//        map.put("os_name", System.getProperty("os.name"));
+//        map.put("os_version", System.getProperty("os.version"));
+//
+//        String sql = "SELECT VERSION()";
+//        map.put("sql_version", jdbcTemplate.queryForObject(sql, String.class));
+//
+//        // 以后有空再来优化?
+//
+//
+//        // 获取内存管理的 MXBean 对象
+//        //MemoryMXBean memoryMXBean = ManagementFactory.getMemoryMXBean();
+//
+//        //// 获取堆内存使用情况
+//        //MemoryUsage heapMemoryUsage = memoryMXBean.getHeapMemoryUsage();
+//        //System.out.println("Heap Memory Usage:");
+//        //System.out.println("  - Initial: " + heapMemoryUsage.getInit());
+//        //System.out.println("  - Used: " + heapMemoryUsage.getUsed());
+//        //System.out.println("  - Committed: " + heapMemoryUsage.getCommitted());
+//        //System.out.println("  - Max: " + heapMemoryUsage.getMax());
+//        //
+//        //// 获取非堆内存使用情况
+//        //MemoryUsage nonHeapMemoryUsage = memoryMXBean.getNonHeapMemoryUsage();
+//        //System.out.println("Non-Heap Memory Usage:");
+//        //System.out.println("  - Initial: " + nonHeapMemoryUsage.getInit());
+//        //System.out.println("  - Used: " + nonHeapMemoryUsage.getUsed());
+//        //System.out.println("  - Committed: " + nonHeapMemoryUsage.getCommitted());
+//        //System.out.println("  - Max: " + nonHeapMemoryUsage.getMax());
+//
+//        return map;
+//    }
+//
+//}

+ 8 - 8
src/main/java/com/backendsys/service/System/SysUserRoleModuleService.java

@@ -1,8 +1,8 @@
-package com.backendsys.service.System;
-
-import java.util.List;
-import java.util.Map;
-
-public interface SysUserRoleModuleService {
-    List<Map<String, Object>> queryUserRoleModule();
-}
+//package com.backendsys.service.System;
+//
+//import java.util.List;
+//import java.util.Map;
+//
+//public interface SysUserRoleModuleService {
+//    List<Map<String, Object>> queryUserRoleModule();
+//}

+ 20 - 20
src/main/java/com/backendsys/service/System/SysUserRoleModuleServiceImpl.java

@@ -1,20 +1,20 @@
-package com.backendsys.service.System;
-
-import com.backendsys.mapper.System.SysUserRoleModuleMapper;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-
-import java.util.List;
-import java.util.Map;
-
-@Service
-public class SysUserRoleModuleServiceImpl implements SysUserRoleModuleService {
-
-    @Autowired
-    private SysUserRoleModuleMapper sysUserRoleModuleMapper;
-
-    @Override
-    public List<Map<String, Object>> queryUserRoleModule() {
-        return sysUserRoleModuleMapper.queryUserRoleModuleList();
-    }
-}
+//package com.backendsys.service.System;
+//
+//import com.backendsys.mapper.System.SysUserRoleModuleMapper;
+//import org.springframework.beans.factory.annotation.Autowired;
+//import org.springframework.stereotype.Service;
+//
+//import java.util.List;
+//import java.util.Map;
+//
+//@Service
+//public class SysUserRoleModuleServiceImpl implements SysUserRoleModuleService {
+//
+//    @Autowired
+//    private SysUserRoleModuleMapper sysUserRoleModuleMapper;
+//
+//    @Override
+//    public List<Map<String, Object>> queryUserRoleModule() {
+//        return sysUserRoleModuleMapper.queryUserRoleModuleList();
+//    }
+//}

+ 13 - 13
src/main/java/com/backendsys/service/System/SysUserRoleService.java

@@ -1,13 +1,13 @@
-package com.backendsys.service.System;
-
-import com.backendsys.entity.System.SysUserRoleDTO;
-
-import java.util.Map;
-
-public interface SysUserRoleService<T> {
-    Map<String, Object> queryUserRole(Integer pageNum, Integer pageSize, SysUserRoleDTO sysUserRoleDTO);
-    Map<String, Object> queryUserRoleDetail(Long role_id);
-    Map<String, Object> insertUserRole(SysUserRoleDTO sysUserRoleDTO);
-    Map<String, Object> updateUserRole(SysUserRoleDTO sysUserRoleDTO);
-    Map<String, Object> deleteUserRole(SysUserRoleDTO sysUserRoleDTO);
-}
+//package com.backendsys.service.System;
+//
+//import com.backendsys.entity.System.SysUserRoleDTO;
+//
+//import java.util.Map;
+//
+//public interface SysUserRoleService<T> {
+//    Map<String, Object> queryUserRole(Integer pageNum, Integer pageSize, SysUserRoleDTO sysUserRoleDTO);
+//    Map<String, Object> queryUserRoleDetail(Long role_id);
+//    Map<String, Object> insertUserRole(SysUserRoleDTO sysUserRoleDTO);
+//    Map<String, Object> updateUserRole(SysUserRoleDTO sysUserRoleDTO);
+//    Map<String, Object> deleteUserRole(SysUserRoleDTO sysUserRoleDTO);
+//}

+ 110 - 110
src/main/java/com/backendsys/service/System/SysUserRoleServiceImpl.java

@@ -1,110 +1,110 @@
-package com.backendsys.service.System;
-
-import com.backendsys.entity.System.SysUserRoleDTO;
-import com.backendsys.mapper.System.SysUserRoleMapper;
-import com.backendsys.utils.response.PageInfoResult;
-import com.github.pagehelper.PageHelper;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-import org.springframework.transaction.annotation.Transactional;
-
-import java.util.*;
-
-@Service
-public class SysUserRoleServiceImpl<T> implements SysUserRoleService {
-
-    @Autowired
-    private SysUserRoleMapper sysUserRoleMapper;
-
-    // 将输入的数组转换为对象数组 [1,2] 转为 [{ id: "1"}, {id: "2"}]
-    public static List<LinkedHashMap<String, Object>> convertArrayToList(String[] array) {
-        List<LinkedHashMap<String, Object>> resultList = new ArrayList<>();
-        for (int i = 0; i < array.length; i++) {
-            Map<String, Object> map = new HashMap<>();
-            map.put("id", array[i]);
-            resultList.add(new LinkedHashMap<>(map));
-        }
-        return resultList;
-    }
-
-    /**
-     * 查询 系统用户角色列表
-     */
-    @Override
-    public Map<String, Object> queryUserRole(Integer pageNum, Integer pageSize, SysUserRoleDTO sysUserRoleDTO) {
-        // 分页查询
-        if (pageNum != null && pageSize != null) {
-            PageHelper.startPage(pageNum, pageSize);
-            PageHelper.getLocalPage().setPageSizeZero(true);
-        }
-        // 分页输出 (自定义)
-        List<Map<String, Object>> list = sysUserRoleMapper.queryUserRoleList(sysUserRoleDTO);
-        PageInfoResult pageInfoResult = new PageInfoResult(list);
-        return pageInfoResult.toMap();
-    }
-
-    /**
-     * 查询 系统用户角色详情 (由于使用 COUNT 会导致 @QueryNullCheck 检查记录是否存在失效,所以分两次查询)
-     */
-    @Override
-    public Map<String, Object> queryUserRoleDetail(Long role_id) {
-        Map<String, Object> role = sysUserRoleMapper.queryUserRoleDetail(role_id);
-        if (role != null) {
-            Map<String, Object> user_count = sysUserRoleMapper.queryUserCountByRoleId(role_id);
-            role.put("user_count", user_count.get("user_count"));
-        }
-        return role;
-    }
-
-    /**
-     * 创建 系统用户角色
-     */
-    @Override
-    @Transactional
-    public Map<String, Object> insertUserRole(SysUserRoleDTO sysUserRoleDTO) {
-
-        // 将输入的数组转换为对象数组 [1,2] 转为 [{ id: "1"}, {id: "2"}]
-        List<String> modulesList = sysUserRoleDTO.getModules();
-        String[] modulesArray = modulesList.toArray(new String[0]);
-        List<LinkedHashMap<String, Object>> resultList = convertArrayToList(modulesArray);
-        sysUserRoleDTO.setModules(resultList);
-
-        // 创建角色
-        sysUserRoleMapper.insertUserRole(sysUserRoleDTO);
-        // 创建角色与模块关系
-        sysUserRoleMapper.insertUserRoleModuleRelation(sysUserRoleDTO);
-        return Map.of("role_id", sysUserRoleDTO.getId());
-    }
-
-    /**
-     * 更新 系统用户角色
-     */
-    @Override
-    @Transactional
-    public Map<String, Object> updateUserRole(SysUserRoleDTO sysUserRoleDTO) {
-
-        // 将输入的数组转换为对象数组 [1,2] 转为 [{ id: "1"}, {id: "2"}]
-        List<String> modulesList = sysUserRoleDTO.getModules();
-        String[] modulesArray = modulesList.toArray(new String[0]);
-        List<LinkedHashMap<String, Object>> resultList = convertArrayToList(modulesArray);
-        sysUserRoleDTO.setModules(resultList);
-
-        // 更新角色
-        sysUserRoleMapper.updateUserRole(sysUserRoleDTO);
-        // 更新角色与模块关系 (需要先删除全部,再重新插入)
-        sysUserRoleMapper.updateUserRoleModuleRelation(sysUserRoleDTO);
-
-        return Map.of("role_id", sysUserRoleDTO.getRole_id());
-    }
-
-    /**
-     * 删除 系统用户角色 (物理删除)
-     */
-    @Override
-    @Transactional
-    public Map<String, Object> deleteUserRole(SysUserRoleDTO sysUserRoleDTO) {
-        sysUserRoleMapper.deleteUserRole(sysUserRoleDTO);
-        return Map.of("role_id", sysUserRoleDTO.getRole_id());
-    }
-
-}
+//package com.backendsys.service.System;
+//
+//import com.backendsys.entity.System.SysUserRoleDTO;
+//import com.backendsys.mapper.System.SysUserRoleMapper;
+//import com.backendsys.utils.response.PageInfoResult;
+//import com.github.pagehelper.PageHelper;
+//import org.springframework.beans.factory.annotation.Autowired;
+//import org.springframework.stereotype.Service;
+//import org.springframework.transaction.annotation.Transactional;
+//
+//import java.util.*;
+//
+//@Service
+//public class SysUserRoleServiceImpl<T> implements SysUserRoleService {
+//
+//    @Autowired
+//    private SysUserRoleMapper sysUserRoleMapper;
+//
+//    // 将输入的数组转换为对象数组 [1,2] 转为 [{ id: "1"}, {id: "2"}]
+//    public static List<LinkedHashMap<String, Object>> convertArrayToList(String[] array) {
+//        List<LinkedHashMap<String, Object>> resultList = new ArrayList<>();
+//        for (int i = 0; i < array.length; i++) {
+//            Map<String, Object> map = new HashMap<>();
+//            map.put("id", array[i]);
+//            resultList.add(new LinkedHashMap<>(map));
+//        }
+//        return resultList;
+//    }
+//
+//    /**
+//     * 查询 系统用户角色列表
+//     */
+//    @Override
+//    public Map<String, Object> queryUserRole(Integer pageNum, Integer pageSize, SysUserRoleDTO sysUserRoleDTO) {
+//        // 分页查询
+//        if (pageNum != null && pageSize != null) {
+//            PageHelper.startPage(pageNum, pageSize);
+//            PageHelper.getLocalPage().setPageSizeZero(true);
+//        }
+//        // 分页输出 (自定义)
+//        List<Map<String, Object>> list = sysUserRoleMapper.queryUserRoleList(sysUserRoleDTO);
+//        PageInfoResult pageInfoResult = new PageInfoResult(list);
+//        return pageInfoResult.toMap();
+//    }
+//
+//    /**
+//     * 查询 系统用户角色详情 (由于使用 COUNT 会导致 @QueryNullCheck 检查记录是否存在失效,所以分两次查询)
+//     */
+//    @Override
+//    public Map<String, Object> queryUserRoleDetail(Long role_id) {
+//        Map<String, Object> role = sysUserRoleMapper.queryUserRoleDetail(role_id);
+//        if (role != null) {
+//            Map<String, Object> user_count = sysUserRoleMapper.queryUserCountByRoleId(role_id);
+//            role.put("user_count", user_count.get("user_count"));
+//        }
+//        return role;
+//    }
+//
+//    /**
+//     * 创建 系统用户角色
+//     */
+//    @Override
+//    @Transactional
+//    public Map<String, Object> insertUserRole(SysUserRoleDTO sysUserRoleDTO) {
+//
+//        // 将输入的数组转换为对象数组 [1,2] 转为 [{ id: "1"}, {id: "2"}]
+//        List<String> modulesList = sysUserRoleDTO.getModules();
+//        String[] modulesArray = modulesList.toArray(new String[0]);
+//        List<LinkedHashMap<String, Object>> resultList = convertArrayToList(modulesArray);
+//        sysUserRoleDTO.setModules(resultList);
+//
+//        // 创建角色
+//        sysUserRoleMapper.insertUserRole(sysUserRoleDTO);
+//        // 创建角色与模块关系
+//        sysUserRoleMapper.insertUserRolePermissionRelation(sysUserRoleDTO);
+//        return Map.of("role_id", sysUserRoleDTO.getId());
+//    }
+//
+//    /**
+//     * 更新 系统用户角色
+//     */
+//    @Override
+//    @Transactional
+//    public Map<String, Object> updateUserRole(SysUserRoleDTO sysUserRoleDTO) {
+//
+//        // 将输入的数组转换为对象数组 [1,2] 转为 [{ id: "1"}, {id: "2"}]
+//        List<String> modulesList = sysUserRoleDTO.getModules();
+//        String[] modulesArray = modulesList.toArray(new String[0]);
+//        List<LinkedHashMap<String, Object>> resultList = convertArrayToList(modulesArray);
+//        sysUserRoleDTO.setModules(resultList);
+//
+//        // 更新角色
+//        sysUserRoleMapper.updateUserRole(sysUserRoleDTO);
+//        // 更新角色与模块关系 (需要先删除全部,再重新插入)
+//        sysUserRoleMapper.updateUserRolePermissionRelation(sysUserRoleDTO);
+//
+//        return Map.of("role_id", sysUserRoleDTO.getRole_id());
+//    }
+//
+//    /**
+//     * 删除 系统用户角色 (物理删除)
+//     */
+//    @Override
+//    @Transactional
+//    public Map<String, Object> deleteUserRole(SysUserRoleDTO sysUserRoleDTO) {
+//        sysUserRoleMapper.deleteUserRole(sysUserRoleDTO);
+//        return Map.of("role_id", sysUserRoleDTO.getRole_id());
+//    }
+//
+//}

+ 1 - 1
src/main/resources/mapper/system/SysUserDao.xml

@@ -85,7 +85,7 @@
     </resultMap>
 
     <!-- [多对多,使用子查询] -->
-    <!-- [嵌套查询] 用户角色 / 角色模块 -->
+    <!-- [嵌套查询] 用户角色 / 角色权限 -->
     <select id="queryRoleById" resultType="java.util.LinkedHashMap">
         SELECT ur.id, ur.role_name,
                GROUP_CONCAT(m.id) AS module_ids

+ 1 - 1
src/main/resources/mapper/system/SysUserInfoDao.xml

@@ -127,7 +127,7 @@
 <!--    </resultMap>-->
 
     <!-- [多对多,使用子查询] -->
-    <!-- [嵌套查询] 用户角色 / 角色模块 -->
+    <!-- [嵌套查询] 用户角色 / 角色权限 -->
 <!--    <select id="queryRoleById" resultType="java.util.LinkedHashMap">-->
 <!--        SELECT ur.id, ur.role_name,-->
 <!--               GROUP_CONCAT(m.id) AS module_ids-->

+ 10 - 10
src/main/resources/mapper/system/SysUserRoleDao.xml

@@ -64,11 +64,11 @@
         )
     </insert>
     <!-- 创建 用户角色 对应的 模块关系 -->
-    <insert id="insertUserRoleModuleRelation" parameterType="com.backendsys.entity.System.SysUserRoleDTO">
-        INSERT INTO sys_user_role_module_relation (role_id, module_id)
+    <insert id="insertUserRolePermissionRelation" parameterType="com.backendsys.entity.System.SysUserRoleDTO">
+        INSERT INTO sys_user_role_permission_relation (role_id, permission_id)
         VALUES
-        <foreach collection="modules" item="module_id" separator=",">
-            (#{id}, #{module_id})
+        <foreach collection="permission_ids" item="permission_id" separator=",">
+            (#{id}, #{permission_id})
         </foreach>
     </insert>
 
@@ -84,15 +84,15 @@
         WHERE id = #{role_id}
     </update>
     <!-- 编辑 用户角色 对应的 模块关系-->
-    <update id="updateUserRoleModuleRelation" parameterType="com.backendsys.entity.System.SysUserRoleDTO">
+    <update id="updateUserRolePermissionRelation" parameterType="com.backendsys.entity.System.SysUserRoleDTO">
         <!--删除符合条件的数据-->
-        DELETE FROM sys_user_role_module_relation WHERE role_id = #{role_id};
+        DELETE FROM sys_user_role_permission_relation WHERE role_id = #{role_id};
         <!--判断是否有新的数据需要插入-->
-        <if test="modules != null and modules.size() > 0">
-            INSERT INTO sys_user_role_module_relation (role_id, module_id)
+        <if test="permission_ids != null and permission_ids.size() > 0">
+            INSERT INTO sys_user_role_permission_relation (role_id, permission_id)
             VALUES
-            <foreach collection="modules" item="module_id" separator=",">
-                (#{role_id}, #{module_id})
+            <foreach collection="permission_ids" item="permission_id" separator=",">
+                (#{role_id}, #{permission_id})
             </foreach>
         </if>
     </update>

+ 0 - 27
src/main/resources/mapper/system/SysUserRoleModuleRelationDao.xml

@@ -1,27 +0,0 @@
-<?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.backendsys.modules.system.dao.SysUserRoleModuleRelationDao">
-
-    <select id="selectUserRoleModuleIdsByRoleIds" resultType="java.lang.String">
-        SELECT module_id
-        FROM sys_user_role_module_relation
-        WHERE role_id IN
-        <foreach item="role_id" index="index" collection="role_ids" open="(" separator="," close=")">
-            #{role_id}
-        </foreach>
-    </select>
-
-    <resultMap id="resultMapRoleModule" type="java.util.LinkedHashMap">
-        <result property="id" column="id"/>
-        <result property="parent_id" column="parent_id"/>
-        <result property="module_name" column="module_name" />
-    </resultMap>
-    <select id="selectUserRoleModuleByRoleId" resultMap="resultMapRoleModule">
-        SELECT surm.id, surm.parent_id, surm.module_name
-        FROM sys_user_role_module_relation surmr
-        LEFT JOIN sys_user_role_module surm ON surm.id = surmr.module_id
-        WHERE surmr.role_id = #{role_id}
-    </select>
-
-
-</mapper>

+ 3 - 3
src/main/resources/mapper/system/SysUserRoleModuleDao.xml → src/main/resources/mapper/system/SysUserRolePermissionDao.xml

@@ -1,15 +1,15 @@
 <?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.backendsys.modules.system.dao.SysUserRoleModuleDao">
+<mapper namespace="com.backendsys.modules.system.dao.SysUserRolePermissionDao">
 
     <resultMap id="resultMapUserRoleModule" type="java.util.LinkedHashMap">
         <result property="id" column="id" />
         <result property="parent_id" column="parent_id" />
-        <result property="module_name" column="module_name" />
+        <result property="permission_name" column="permission_name" />
     </resultMap>
 
     <select id="selectUserRoleModule" resultMap="resultMapUserRoleModule">
-        SELECT id, parent_id, module_name, sort FROM sys_user_role_module ORDER BY sort ASC
+        SELECT id, parent_id, permission_name, sort FROM sys_user_role_permission ORDER BY sort ASC
     </select>
 
 </mapper>

+ 27 - 0
src/main/resources/mapper/system/SysUserRolePermissionRelationDao.xml

@@ -0,0 +1,27 @@
+<?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.backendsys.modules.system.dao.SysUserRolePermissionRelationDao">
+
+    <select id="selectUserRolePermissionIdsByRoleIds" resultType="java.lang.String">
+        SELECT permission_id
+        FROM sys_user_role_permission_relation
+        WHERE role_id IN
+        <foreach item="role_id" index="index" collection="role_ids" open="(" separator="," close=")">
+            #{role_id}
+        </foreach>
+    </select>
+
+    <resultMap id="resultMapRolePermission" type="java.util.LinkedHashMap">
+        <result property="id" column="id"/>
+        <result property="parent_id" column="parent_id"/>
+        <result property="permission_name" column="permission_name" />
+    </resultMap>
+    <select id="selectUserRolePermissionByRoleId" resultMap="resultMapRolePermission">
+        SELECT surm.id, surm.parent_id, surm.permission_name
+        FROM sys_user_role_permission_relation surmr
+        LEFT JOIN sys_user_role_permission surm ON surm.id = surmr.permission_id
+        WHERE surmr.role_id = #{role_id}
+    </select>
+
+
+</mapper>