Переглянути джерело

【CHG】修改角色查询时附带菜单ID

ZhaoMn 4 роки тому
батько
коміт
46219c9d70

+ 10 - 4
railway-admin/src/main/java/com/railway/web/controller/system/SysRoleController.java

@@ -14,6 +14,7 @@ import com.railway.common.utils.poi.ExcelUtil;
 import com.railway.framework.web.service.SysPermissionService;
 import com.railway.framework.web.service.TokenService;
 import com.railway.system.domain.SysUserRole;
+import com.railway.system.service.ISysMenuService;
 import com.railway.system.service.ISysRoleService;
 import com.railway.system.service.ISysUserService;
 import io.swagger.annotations.Api;
@@ -41,15 +42,17 @@ import org.springframework.web.bind.annotation.RestController;
 public class SysRoleController extends BaseController {
 
   private final ISysRoleService roleService;
+  private final ISysMenuService menuService;
   private final TokenService tokenService;
   private final SysPermissionService permissionService;
   private final ISysUserService userService;
 
   public SysRoleController(ISysRoleService roleService,
-      TokenService tokenService,
+      ISysMenuService menuService, TokenService tokenService,
       SysPermissionService permissionService,
       ISysUserService userService) {
     this.roleService = roleService;
+    this.menuService = menuService;
     this.tokenService = tokenService;
     this.permissionService = permissionService;
     this.userService = userService;
@@ -81,7 +84,10 @@ public class SysRoleController extends BaseController {
   @GetMapping(value = "/{roleId}")
   public AjaxResult getInfo(@PathVariable Long roleId) {
     roleService.checkRoleDataScope(roleId);
-    return AjaxResult.success(roleService.selectRoleById(roleId));
+    SysRole sysRole = roleService.selectRoleById(roleId);
+    List<Long> menuIds = menuService.selectMenuListByRoleId(roleId);
+    sysRole.setMenuIds(menuIds.toArray(new Long[0]));
+    return AjaxResult.success(sysRole);
   }
 
   /**
@@ -174,8 +180,8 @@ public class SysRoleController extends BaseController {
    * 获取角色选择框列表
    */
   @PreAuthorize("@ss.hasPermi('system:role:query')")
-  @GetMapping("/optionselect")
-  public AjaxResult optionselect() {
+  @GetMapping("/optionSelect")
+  public AjaxResult optionSelect() {
     return AjaxResult.success(roleService.selectRoleAll());
   }
 

+ 1 - 1
railway-system/src/main/java/com/railway/system/mapper/SysMenuMapper.java

@@ -66,7 +66,7 @@ public interface SysMenuMapper {
    * @param menuCheckStrictly 菜单树选择项是否关联显示
    * @return 选中菜单列表
    */
-  List<Integer> selectMenuListByRoleId(@Param("roleId") Long roleId,
+  List<Long> selectMenuListByRoleId(@Param("roleId") Long roleId,
       @Param("menuCheckStrictly") boolean menuCheckStrictly);
 
   /**

+ 1 - 1
railway-system/src/main/java/com/railway/system/service/ISysMenuService.java

@@ -60,7 +60,7 @@ public interface ISysMenuService {
    * @param roleId 角色ID
    * @return 选中菜单列表
    */
-  List<Integer> selectMenuListByRoleId(Long roleId);
+  List<Long> selectMenuListByRoleId(Long roleId);
 
   /**
    * 构建前端路由所需要的菜单

+ 1 - 1
railway-system/src/main/java/com/railway/system/service/impl/SysMenuServiceImpl.java

@@ -135,7 +135,7 @@ public class SysMenuServiceImpl implements ISysMenuService {
    * @return 选中菜单列表
    */
   @Override
-  public List<Integer> selectMenuListByRoleId(Long roleId) {
+  public List<Long> selectMenuListByRoleId(Long roleId) {
     SysRole role = roleMapper.selectRoleById(roleId);
     return menuMapper.selectMenuListByRoleId(roleId, role.isMenuCheckStrictly());
   }

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

@@ -91,7 +91,7 @@
     order by m.parent_id, m.order_num
   </select>
 
-  <select id="selectMenuListByRoleId" resultType="Integer">
+  <select id="selectMenuListByRoleId" resultType="Long">
     select m.menu_id
     from sys_menu m
     left join sys_role_menu rm on m.menu_id = rm.menu_id