♻️ 重构代码:为前端菜单级联选中提供支持
This commit is contained in:
1 parent
47e51a686c
commit
c18544ece6
3 files changed
+20
-8
No files matched your search
+2
-2
@@ -118,12 +118,12 @@ public class RoleController {
|
||||
* 更新角色菜单
|
||||
*
|
||||
* @param roleId 角色ID
|
||||
* @param menuIds 菜单结合
|
||||
* @param menuIds 菜单ID拼成的字符串,每个id之间根据逗号分隔
|
||||
* @return success、false
|
||||
*/
|
||||
@PutMapping("/roleMenuUpd")
|
||||
@PreAuthorize("@pms.hasPermission('sys_role_perm')")
|
||||
public R<Boolean> roleMenuUpd(Integer roleId, @RequestParam("menuIds[]") Integer[] menuIds) {
|
||||
public R<Boolean> roleMenuUpd(Integer roleId, @RequestParam(value = "menuIds",required = false) String menuIds) {
|
||||
SysRole sysRole = sysRoleService.selectById(roleId);
|
||||
return new R<>(sysRoleMenuService.insertRoleMenus(sysRole.getRoleCode(), roleId, menuIds));
|
||||
}
|
||||
|
||||
+2
-2
@@ -38,8 +38,8 @@ public interface SysRoleMenuService extends IService<SysRoleMenu> {
|
||||
*
|
||||
* @param role
|
||||
* @param roleId 角色
|
||||
* @param menuIds 菜单列表
|
||||
* @param menuIds 菜单ID拼成的字符串,每个id之间根据逗号分隔
|
||||
* @return
|
||||
*/
|
||||
Boolean insertRoleMenus(String role, Integer roleId, Integer[] menuIds);
|
||||
Boolean insertRoleMenus(String role, Integer roleId, String menuIds);
|
||||
}
|
||||
+16
-4
@@ -19,6 +19,7 @@
|
||||
|
||||
package com.pig4cloud.pigx.admin.service.impl;
|
||||
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
import com.baomidou.mybatisplus.mapper.EntityWrapper;
|
||||
import com.baomidou.mybatisplus.service.impl.ServiceImpl;
|
||||
import com.pig4cloud.pigx.admin.api.entity.SysRoleMenu;
|
||||
@@ -28,6 +29,7 @@ import org.springframework.cache.annotation.CacheEvict;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
@@ -40,18 +42,28 @@ import java.util.List;
|
||||
*/
|
||||
@Service
|
||||
public class SysRoleMenuServiceImpl extends ServiceImpl<SysRoleMenuMapper, SysRoleMenu> implements SysRoleMenuService {
|
||||
/**
|
||||
*
|
||||
* @param role
|
||||
* @param roleId 角色
|
||||
* @param menuIds 菜单ID拼成的字符串,每个id之间根据逗号分隔
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
@CacheEvict(value = "menu_details", key = "#role + '_menu'")
|
||||
public Boolean insertRoleMenus(String role, Integer roleId, Integer[] menuIds) {
|
||||
public Boolean insertRoleMenus(String role, Integer roleId, String menuIds) {
|
||||
SysRoleMenu condition = new SysRoleMenu();
|
||||
condition.setRoleId(roleId);
|
||||
this.delete(new EntityWrapper<>(condition));
|
||||
|
||||
List<SysRoleMenu> roleMenuList = new ArrayList<>();
|
||||
for (Integer menuId : menuIds) {
|
||||
List<String> menuIdList = Arrays.asList(menuIds.split(","));
|
||||
if(CollUtil.isEmpty(menuIdList)){
|
||||
return Boolean.TRUE;
|
||||
}
|
||||
for (String menuId : menuIdList) {
|
||||
SysRoleMenu roleMenu = new SysRoleMenu();
|
||||
roleMenu.setRoleId(roleId);
|
||||
roleMenu.setMenuId(menuId);
|
||||
roleMenu.setMenuId(Integer.valueOf(menuId));
|
||||
roleMenuList.add(roleMenu);
|
||||
}
|
||||
return this.insertBatch(roleMenuList);
|
||||
|
||||
Reference in new issue
Block a user