Browse Source

增加数据、接口权限列表懒加载接口

test
smallchill 5 years ago
parent
commit
960036a0f5
  1. 9
      blade-service-api/blade-system-api/src/main/java/org/springblade/system/vo/DeptVO.java
  2. 9
      blade-service-api/blade-system-api/src/main/java/org/springblade/system/vo/MenuVO.java
  3. 51
      blade-service/blade-system/src/main/java/org/springblade/system/controller/MenuController.java
  4. 11
      blade-service/blade-system/src/main/java/org/springblade/system/mapper/MenuMapper.java
  5. 42
      blade-service/blade-system/src/main/java/org/springblade/system/mapper/MenuMapper.xml
  6. 11
      blade-service/blade-system/src/main/java/org/springblade/system/service/IMenuService.java
  7. 9
      blade-service/blade-system/src/main/java/org/springblade/system/service/impl/MenuServiceImpl.java

9
blade-service-api/blade-system-api/src/main/java/org/springblade/system/vo/DeptVO.java

@ -71,15 +71,6 @@ public class DeptVO extends Dept implements INode {
return this.children;
}
@Override
public Boolean getHasChildren() {
if (children.size() > 0) {
return true;
} else {
return this.hasChildren;
}
}
/**
* 上级机构
*/

9
blade-service-api/blade-system-api/src/main/java/org/springblade/system/vo/MenuVO.java

@ -71,15 +71,6 @@ public class MenuVO extends Menu implements INode {
return this.children;
}
@Override
public Boolean getHasChildren() {
if (children.size() > 0) {
return true;
} else {
return this.hasChildren;
}
}
/**
* 上级菜单
*/

51
blade-service/blade-system/src/main/java/org/springblade/system/controller/MenuController.java

@ -98,14 +98,14 @@ public class MenuController extends BladeController {
})
@PreAuth(RoleConstant.HAS_ROLE_ADMINISTRATOR)
@ApiOperationSupport(order = 3)
@ApiOperation(value = "列表", notes = "传入menu")
@ApiOperation(value = "懒加载列表", notes = "传入menu")
public R<List<MenuVO>> lazyList(Long parentId, @ApiIgnore @RequestParam Map<String, Object> menu) {
List<MenuVO> list = menuService.lazyList(parentId, menu);
return R.data(MenuWrapper.build().listNodeLazyVO(list));
}
/**
* 列表
* 菜单列表
*/
@GetMapping("/menu-list")
@ApiImplicitParams({
@ -114,19 +114,35 @@ public class MenuController extends BladeController {
})
@PreAuth(RoleConstant.HAS_ROLE_ADMINISTRATOR)
@ApiOperationSupport(order = 4)
@ApiOperation(value = "列表", notes = "传入menu")
@ApiOperation(value = "菜单列表", notes = "传入menu")
public R<List<MenuVO>> menuList(@ApiIgnore @RequestParam Map<String, Object> menu) {
List<Menu> list = menuService.list(Condition.getQueryWrapper(menu, Menu.class).lambda().eq(Menu::getAlias, "menu").orderByAsc(Menu::getSort));
List<Menu> list = menuService.list(Condition.getQueryWrapper(menu, Menu.class).lambda().eq(Menu::getCategory, 1).orderByAsc(Menu::getSort));
return R.data(MenuWrapper.build().listNodeVO(list));
}
/**
* 懒加载菜单列表
*/
@GetMapping("/lazy-menu-list")
@ApiImplicitParams({
@ApiImplicitParam(name = "code", value = "菜单编号", paramType = "query", dataType = "string"),
@ApiImplicitParam(name = "name", value = "菜单名称", paramType = "query", dataType = "string")
})
@PreAuth(RoleConstant.HAS_ROLE_ADMINISTRATOR)
@ApiOperationSupport(order = 5)
@ApiOperation(value = "懒加载菜单列表", notes = "传入menu")
public R<List<MenuVO>> lazyMenuList(Long parentId, @ApiIgnore @RequestParam Map<String, Object> menu) {
List<MenuVO> list = menuService.lazyMenuList(parentId, menu);
return R.data(MenuWrapper.build().listNodeLazyVO(list));
}
/**
* 新增或修改
*/
@PostMapping("/submit")
@CacheEvict(cacheNames = {MENU_CACHE})
@CacheEvict(cacheNames = {MENU_CACHE}, allEntries = true)
@PreAuth(RoleConstant.HAS_ROLE_ADMINISTRATOR)
@ApiOperationSupport(order = 5)
@ApiOperationSupport(order = 6)
@ApiOperation(value = "新增或修改", notes = "传入menu")
public R submit(@Valid @RequestBody Menu menu) {
return R.status(menuService.submit(menu));
@ -137,9 +153,9 @@ public class MenuController extends BladeController {
* 删除
*/
@PostMapping("/remove")
@CacheEvict(cacheNames = {MENU_CACHE})
@CacheEvict(cacheNames = {MENU_CACHE}, allEntries = true)
@PreAuth(RoleConstant.HAS_ROLE_ADMINISTRATOR)
@ApiOperationSupport(order = 6)
@ApiOperationSupport(order = 7)
@ApiOperation(value = "删除", notes = "传入ids")
public R remove(@ApiParam(value = "主键集合", required = true) @RequestParam String ids) {
return R.status(menuService.removeMenu(ids));
@ -149,7 +165,7 @@ public class MenuController extends BladeController {
* 前端菜单数据
*/
@GetMapping("/routes")
@ApiOperationSupport(order = 7)
@ApiOperationSupport(order = 8)
@ApiOperation(value = "前端菜单数据", notes = "前端菜单数据")
public R<List<MenuVO>> routes(BladeUser user, Long topMenuId) {
List<MenuVO> list = menuService.routes((user == null) ? null : user.getRoleId(), topMenuId);
@ -160,7 +176,7 @@ public class MenuController extends BladeController {
* 前端按钮数据
*/
@GetMapping("/buttons")
@ApiOperationSupport(order = 8)
@ApiOperationSupport(order = 10)
@ApiOperation(value = "前端按钮数据", notes = "前端按钮数据")
public R<List<MenuVO>> buttons(BladeUser user) {
List<MenuVO> list = menuService.buttons(user.getRoleId());
@ -171,7 +187,7 @@ public class MenuController extends BladeController {
* 获取菜单树形结构
*/
@GetMapping("/tree")
@ApiOperationSupport(order = 9)
@ApiOperationSupport(order = 11)
@ApiOperation(value = "树形结构", notes = "树形结构")
public R<List<MenuVO>> tree() {
List<MenuVO> tree = menuService.tree();
@ -182,7 +198,7 @@ public class MenuController extends BladeController {
* 获取权限分配树形结构
*/
@GetMapping("/grant-tree")
@ApiOperationSupport(order = 10)
@ApiOperationSupport(order = 12)
@ApiOperation(value = "权限分配树形结构", notes = "权限分配树形结构")
public R<GrantTreeVO> grantTree(BladeUser user) {
GrantTreeVO vo = new GrantTreeVO();
@ -196,7 +212,7 @@ public class MenuController extends BladeController {
* 获取权限分配树形结构
*/
@GetMapping("/role-tree-keys")
@ApiOperationSupport(order = 11)
@ApiOperationSupport(order = 13)
@ApiOperation(value = "角色所分配的树", notes = "角色所分配的树")
public R<CheckedTreeVO> roleTreeKeys(String roleIds) {
CheckedTreeVO vo = new CheckedTreeVO();
@ -210,7 +226,7 @@ public class MenuController extends BladeController {
* 获取顶部菜单树形结构
*/
@GetMapping("/grant-top-tree")
@ApiOperationSupport(order = 12)
@ApiOperationSupport(order = 14)
@ApiOperation(value = "顶部菜单树形结构", notes = "顶部菜单树形结构")
public R<GrantTreeVO> grantTopTree(BladeUser user) {
GrantTreeVO vo = new GrantTreeVO();
@ -222,7 +238,7 @@ public class MenuController extends BladeController {
* 获取顶部菜单树形结构
*/
@GetMapping("/top-tree-keys")
@ApiOperationSupport(order = 13)
@ApiOperationSupport(order = 15)
@ApiOperation(value = "顶部菜单所分配的树", notes = "顶部菜单所分配的树")
public R<CheckedTreeVO> topTreeKeys(String topMenuIds) {
CheckedTreeVO vo = new CheckedTreeVO();
@ -234,7 +250,7 @@ public class MenuController extends BladeController {
* 顶部菜单数据
*/
@GetMapping("/top-menu")
@ApiOperationSupport(order = 14)
@ApiOperationSupport(order = 16)
@ApiOperation(value = "顶部菜单数据", notes = "顶部菜单数据")
public R<List<TopMenu>> topMenu(BladeUser user) {
if (Func.isEmpty(user)) {
@ -248,7 +264,7 @@ public class MenuController extends BladeController {
* 获取配置的角色权限
*/
@GetMapping("auth-routes")
@ApiOperationSupport(order = 15)
@ApiOperationSupport(order = 17)
@ApiOperation(value = "菜单的角色权限")
public R<List<Kv>> authRoutes(BladeUser user) {
if (Func.isEmpty(user)) {
@ -256,5 +272,4 @@ public class MenuController extends BladeController {
}
return R.data(menuService.authRoutes(user));
}
}

11
blade-service/blade-system/src/main/java/org/springblade/system/mapper/MenuMapper.java

@ -33,7 +33,7 @@ import java.util.Map;
public interface MenuMapper extends BaseMapper<Menu> {
/**
* 懒加载部门列表
* 懒加载列表
*
* @param parentId
* @param param
@ -41,6 +41,15 @@ public interface MenuMapper extends BaseMapper<Menu> {
*/
List<MenuVO> lazyList(Long parentId, Map<String, Object> param);
/**
* 懒加载菜单列表
*
* @param parentId
* @param param
* @return
*/
List<MenuVO> lazyMenuList(Long parentId, Map<String, Object> param);
/**
* 树形结构
*

42
blade-service/blade-system/src/main/java/org/springblade/system/mapper/MenuMapper.xml

@ -46,18 +46,46 @@
<select id="lazyList" resultMap="menuVOResultMap">
SELECT
menu.*,
(
menu.*,
(
SELECT
CASE WHEN count( 1 ) > 0 THEN 1 ELSE 0 END
FROM
blade_menu
WHERE
parent_id = menu.id AND is_deleted = 0
) AS "has_children"
FROM
blade_menu menu
WHERE menu.is_deleted = 0
<if test="param1!=null">
and menu.parent_id = #{param1}
</if>
<if test="param.name!=null and param.name!=''">
and menu.name like concat('%', #{param.name},'%')
</if>
<if test="param.code!=null and param.code!=''">
and menu.code like concat('%', #{param.code},'%')
</if>
<if test="param.alias!=null and param.alias!=''">
and menu.alias like concat('%', #{param.alias},'%')
</if>
</select>
<select id="lazyMenuList" resultMap="menuVOResultMap">
SELECT
CASE WHEN count( 1 ) > 0 THEN 1 ELSE 0 END
menu.*,
(
SELECT
CASE WHEN count( 1 ) > 0 THEN 1 ELSE 0 END
FROM
blade_menu
blade_menu
WHERE
parent_id = menu.id and is_deleted = 0
parent_id = menu.id AND is_deleted = 0 AND category = 1
) AS "has_children"
FROM
blade_menu menu
WHERE menu.is_deleted = 0
blade_menu menu
WHERE menu.is_deleted = 0 AND menu.category = 1
<if test="param1!=null">
and menu.parent_id = #{param1}
</if>

11
blade-service/blade-system/src/main/java/org/springblade/system/service/IMenuService.java

@ -33,7 +33,7 @@ import java.util.Map;
public interface IMenuService extends IService<Menu> {
/**
* 懒加载部门列表
* 懒加载列表
*
* @param parentId
* @param param
@ -41,6 +41,15 @@ public interface IMenuService extends IService<Menu> {
*/
List<MenuVO> lazyList(Long parentId, Map<String, Object> param);
/**
* 懒加载菜单列表
*
* @param parentId
* @param param
* @return
*/
List<MenuVO> lazyMenuList(Long parentId, Map<String, Object> param);
/**
* 菜单树形结构
*

9
blade-service/blade-system/src/main/java/org/springblade/system/service/impl/MenuServiceImpl.java

@ -70,6 +70,15 @@ public class MenuServiceImpl extends ServiceImpl<MenuMapper, Menu> implements IM
return baseMapper.lazyList(parentId, param);
}
@Override
public List<MenuVO> lazyMenuList(Long parentId, Map<String, Object> param) {
if (Func.isEmpty(Func.toStr(param.get("parentId")))) {
parentId = null;
}
return baseMapper.lazyMenuList(parentId, param);
}
@Override
public List<MenuVO> routes(String roleId, Long topMenuId) {
if (StringUtil.isBlank(roleId)) {

Loading…
Cancel
Save