Prechádzať zdrojové kódy

查询角色key的工具类

侯茂昌 1 rok pred
rodič
commit
85a1dbb844

+ 17 - 0
ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysUserController.java

@@ -3,6 +3,10 @@ package com.ruoyi.web.controller.system;
 import java.util.List;
 import java.util.stream.Collectors;
 import javax.servlet.http.HttpServletResponse;
+
+import com.alibaba.fastjson2.JSON;
+import com.alibaba.fastjson2.JSONObject;
+import com.ruoyi.common.annotation.Anonymous;
 import org.apache.commons.lang3.ArrayUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.security.access.prepost.PreAuthorize;
@@ -233,6 +237,19 @@ public class SysUserController extends BaseController
         return ajax;
     }
 
+    /**
+     * BPM流程 根据用户编号获取授权角色
+     */
+    @Anonymous
+    @GetMapping("/roleKeyByUserId/{userId}")
+    public AjaxResult roleKeyByUserId(@PathVariable("userId") Long userId)
+    {
+        AjaxResult ajax = AjaxResult.success();
+        String[] strings = roleService.selectRolesKeyByUserId(userId);
+        ajax.put("rolesKey", JSON.toJSONString(strings));
+        return ajax;
+    }
+
     /**
      * 用户授权角色
      */

+ 8 - 0
ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysRoleMapper.java

@@ -105,4 +105,12 @@ public interface SysRoleMapper {
      * @return 结果
      */
     public int deleteRoleByIds(Long[] roleIds);
+
+    /**
+     * 根据用户ID查询该用户具备的role_key
+     *
+     * @param userId 需要删除的角色ID
+     * @return 结果
+     */
+    public String[] selectUserRoleKeyByUserId(Long userId);
 }

+ 8 - 0
ruoyi-system/src/main/java/com/ruoyi/system/service/ISysRoleService.java

@@ -28,6 +28,14 @@ public interface ISysRoleService
      */
     public List<SysRole> selectRolesByUserId(Long userId);
 
+    /**
+     * 根据用户ID查询角色列表key
+     *
+     * @param userId 用户ID
+     * @return 角色列表
+     */
+    public String[] selectRolesKeyByUserId(Long userId);
+
     /**
      * 根据用户ID查询角色权限
      * 

+ 6 - 0
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysRoleServiceImpl.java

@@ -78,6 +78,12 @@ public class SysRoleServiceImpl implements ISysRoleService {
         return roles;
     }
 
+    @Override
+    public String[] selectRolesKeyByUserId(Long userId) {
+        String[] strings = roleMapper.selectUserRoleKeyByUserId(userId);
+        return strings;
+    }
+
     /**
      * 根据用户ID查询权限
      *

+ 1 - 1
ruoyi-system/src/main/resources/mapper/system/SysMenuMapper.xml

@@ -274,7 +274,7 @@
 	    delete from sys_menu where menu_id = #{menuId}
 	</delete>
 
-	<delete id="batchDeleteMenuById">
+	<delete id="batchDeleteMenuById" parameterType="java.util.List">
 		delete from sys_menu where menu_id in
 		<foreach collection="list" item="item" index="index" open="(" close=")" separator=",">
 			#{item}

+ 8 - 2
ruoyi-system/src/main/resources/mapper/system/SysRoleMapper.xml

@@ -98,8 +98,14 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 		<include refid="selectRoleVo"/>
 		 where r.role_key=#{roleKey} and r.del_flag = '0' and r.tenant_id = #{tenantId} limit 1
 	</select>
-	
- 	<insert id="insertRole" parameterType="SysRole" useGeneratedKeys="true" keyProperty="roleId">
+	<select id="selectUserRoleKeyByUserId"  resultType="string" parameterType="long">
+		SELECT sr.role_key FROM `sys_user` as sy
+				inner JOIN  sys_user_role  sur on (sy.user_id=sur.user_id)
+				inner join  sys_role       sr  on (sur.role_id=sr.role_id)  where sy.user_id=#{userId}
+	</select>
+
+
+	<insert id="insertRole" parameterType="SysRole" useGeneratedKeys="true" keyProperty="roleId">
  		insert into sys_role(
  			<if test="roleId != null and roleId != 0">role_id,</if>
  			<if test="roleName != null and roleName != ''">role_name,</if>