mirror of https://gitee.com/stylefeng/roses
【menu】整理菜单的代码
parent
5a5145100f
commit
4f01a1570f
|
@ -45,6 +45,18 @@ public class SysMenuController {
|
|||
return new SuccessResponseData();
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除系统菜单
|
||||
*
|
||||
* @author fengshuonan
|
||||
* @date 2020/3/27 8:58
|
||||
*/
|
||||
@PostResource(name = "删除系统菜单", path = "/sysMenu/delete")
|
||||
public ResponseData delete(@RequestBody @Validated(SysMenuRequest.delete.class) SysMenuRequest sysMenuRequest) {
|
||||
sysMenuService.del(sysMenuRequest);
|
||||
return new SuccessResponseData();
|
||||
}
|
||||
|
||||
/**
|
||||
* 编辑系统菜单
|
||||
*
|
||||
|
@ -57,18 +69,6 @@ public class SysMenuController {
|
|||
return new SuccessResponseData();
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除系统菜单
|
||||
*
|
||||
* @author fengshuonan
|
||||
* @date 2020/3/27 8:58
|
||||
*/
|
||||
@PostResource(name = "删除系统菜单", path = "/sysMenu/delete")
|
||||
public ResponseData delete(@RequestBody @Validated(SysMenuRequest.delete.class) SysMenuRequest sysMenuRequest) {
|
||||
sysMenuService.delete(sysMenuRequest);
|
||||
return new SuccessResponseData();
|
||||
}
|
||||
|
||||
/**
|
||||
* 查看系统菜单
|
||||
*
|
||||
|
@ -80,6 +80,17 @@ public class SysMenuController {
|
|||
return new SuccessResponseData(sysMenuService.detail(sysMenuRequest));
|
||||
}
|
||||
|
||||
/**
|
||||
* 系统菜单列表,树形结构,用于菜单管理界面的列表展示
|
||||
*
|
||||
* @author fengshuonan
|
||||
* @date 2020/3/20 21:23
|
||||
*/
|
||||
@GetResource(name = "系统菜单列表(树)", path = "/sysMenu/list")
|
||||
public ResponseData list(SysMenuRequest sysMenuRequest) {
|
||||
return new SuccessResponseData(sysMenuService.findList(sysMenuRequest));
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取菜单列表(layui版本)
|
||||
*
|
||||
|
@ -103,14 +114,14 @@ public class SysMenuController {
|
|||
}
|
||||
|
||||
/**
|
||||
* 系统菜单列表,树形结构,用于菜单管理界面的列表展示
|
||||
* 获取主页左侧菜单列表(适配Antd Vue的版本)
|
||||
*
|
||||
* @author fengshuonan
|
||||
* @date 2020/3/20 21:23
|
||||
* @date 2020/4/19 15:50
|
||||
*/
|
||||
@GetResource(name = "系统菜单列表(树)", path = "/sysMenu/list")
|
||||
public ResponseData list(SysMenuRequest sysMenuRequest) {
|
||||
return new SuccessResponseData(sysMenuService.list(sysMenuRequest));
|
||||
@GetResource(name = "获取主页左侧菜单列表(Antd Vue)", path = "/sysMenu/getIndexMenuAntdVue", requiredPermission = false)
|
||||
public ResponseData getAppMenus(@Validated(SysMenuRequest.getAppMenusAntdVue.class) SysMenuRequest sysMenuRequest) {
|
||||
return new SuccessResponseData(sysMenuService.getAntDVueIndexMenus(sysMenuRequest.getAppCode()));
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -135,6 +146,19 @@ public class SysMenuController {
|
|||
return new SuccessResponseData(sysMenuService.treeForGrant(sysMenuRequest));
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取系统所有菜单(适用于登录后获取左侧菜单)(适配antd vue版本)
|
||||
*
|
||||
* @author majianguo
|
||||
* @date 2021/1/7 15:17
|
||||
*/
|
||||
@GetResource(name = "获取系统所有菜单(适用于登录后获取左侧菜单)(适配antd vue版本)", path = "/sysMenu/getSystemAllMenusAntdv", requiredPermission = false)
|
||||
public ResponseData getSystemAllMenusAntdv() {
|
||||
List<AntdSysMenuResponse> sysMenuResponses = sysMenuService.getSystemAllMenusAntdv();
|
||||
List<AntdvMenuItem> totalMenus = AntdMenusFactory.createTotalMenus(sysMenuResponses);
|
||||
return new SuccessResponseData(totalMenus);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取系统菜单平级树(包含按钮),用于给角色授权时选择(layui版本使用)
|
||||
*
|
||||
|
@ -158,28 +182,4 @@ public class SysMenuController {
|
|||
return new SuccessResponseData(treeResponseList);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取主页左侧菜单列表(适配Antd Vue的版本)
|
||||
*
|
||||
* @author fengshuonan
|
||||
* @date 2020/4/19 15:50
|
||||
*/
|
||||
@GetResource(name = "获取主页左侧菜单列表(Antd Vue)", path = "/sysMenu/getIndexMenuAntdVue", requiredPermission = false)
|
||||
public ResponseData getAppMenus(@Validated(SysMenuRequest.getAppMenusAntdVue.class) SysMenuRequest sysMenuRequest) {
|
||||
return new SuccessResponseData(sysMenuService.getAntDVueIndexMenus(sysMenuRequest.getAppCode()));
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取系统所有菜单(适用于登录后获取左侧菜单)(适配antd vue版本)
|
||||
*
|
||||
* @author majianguo
|
||||
* @date 2021/1/7 15:17
|
||||
*/
|
||||
@GetResource(name = "获取系统所有菜单(适用于登录后获取左侧菜单)(适配antd vue版本)", path = "/sysMenu/getSystemAllMenusAntdv", requiredPermission = false)
|
||||
public ResponseData getSystemAllMenusAntdv() {
|
||||
List<AntdSysMenuResponse> sysMenuResponses = sysMenuService.getSystemAllMenusAntdv();
|
||||
List<AntdvMenuItem> totalMenus = AntdMenusFactory.createTotalMenus(sysMenuResponses);
|
||||
return new SuccessResponseData(totalMenus);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -54,6 +54,15 @@ public interface SysMenuService extends IService<SysMenu> {
|
|||
*/
|
||||
void add(SysMenuRequest sysMenuRequest);
|
||||
|
||||
/**
|
||||
* 删除系统菜单
|
||||
*
|
||||
* @param sysMenuRequest 删除参数
|
||||
* @author fengshuonan
|
||||
* @date 2020/3/27 9:03
|
||||
*/
|
||||
void del(SysMenuRequest sysMenuRequest);
|
||||
|
||||
/**
|
||||
* 编辑系统菜单
|
||||
*
|
||||
|
@ -63,15 +72,6 @@ public interface SysMenuService extends IService<SysMenu> {
|
|||
*/
|
||||
void edit(SysMenuRequest sysMenuRequest);
|
||||
|
||||
/**
|
||||
* 删除系统菜单
|
||||
*
|
||||
* @param sysMenuRequest 删除参数
|
||||
* @author fengshuonan
|
||||
* @date 2020/3/27 9:03
|
||||
*/
|
||||
void delete(SysMenuRequest sysMenuRequest);
|
||||
|
||||
/**
|
||||
* 查看系统菜单
|
||||
*
|
||||
|
@ -82,6 +82,16 @@ public interface SysMenuService extends IService<SysMenu> {
|
|||
*/
|
||||
SysMenu detail(SysMenuRequest sysMenuRequest);
|
||||
|
||||
/**
|
||||
* 系统菜单列表,树形结构,用于菜单管理界面的列表展示
|
||||
*
|
||||
* @param sysMenuRequest 查询参数
|
||||
* @return 菜单树表列表
|
||||
* @author fengshuonan
|
||||
* @date 2020/3/26 10:19
|
||||
*/
|
||||
List<SysMenu> findList(SysMenuRequest sysMenuRequest);
|
||||
|
||||
/**
|
||||
* 获取菜单列表(layui版本)
|
||||
*
|
||||
|
@ -99,16 +109,6 @@ public interface SysMenuService extends IService<SysMenu> {
|
|||
*/
|
||||
List<ZTreeNode> layuiSelectParentMenuTreeList();
|
||||
|
||||
/**
|
||||
* 系统菜单列表,树形结构,用于菜单管理界面的列表展示
|
||||
*
|
||||
* @param sysMenuRequest 查询参数
|
||||
* @return 菜单树表列表
|
||||
* @author fengshuonan
|
||||
* @date 2020/3/26 10:19
|
||||
*/
|
||||
List<SysMenu> list(SysMenuRequest sysMenuRequest);
|
||||
|
||||
/**
|
||||
* 获取当前用户的所有菜单
|
||||
*
|
||||
|
|
|
@ -109,6 +109,25 @@ public class SysMenuServiceImpl extends ServiceImpl<SysMenuMapper, SysMenu> impl
|
|||
this.save(sysMenu);
|
||||
}
|
||||
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
@Override
|
||||
public void del(SysMenuRequest sysMenuRequest) {
|
||||
|
||||
Long id = sysMenuRequest.getMenuId();
|
||||
|
||||
// 获取所有子级的节点id
|
||||
Set<Long> childIdList = this.dbOperatorApi.findSubListByParentId("sys_menu", "menu_pids", "menu_id", id);
|
||||
childIdList.add(id);
|
||||
|
||||
// 逻辑删除,设置删除标识
|
||||
LambdaUpdateWrapper<SysMenu> updateWrapper = new LambdaUpdateWrapper<>();
|
||||
updateWrapper.in(SysMenu::getMenuId, childIdList).set(SysMenu::getDelFlag, YesOrNotEnum.Y.getCode());
|
||||
this.update(updateWrapper);
|
||||
|
||||
// 删除该菜单下的按钮
|
||||
sysMenuButtonService.deleteMenuButtonByMenuId(id);
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void edit(SysMenuRequest sysMenuRequest) {
|
||||
|
@ -130,25 +149,6 @@ public class SysMenuServiceImpl extends ServiceImpl<SysMenuMapper, SysMenu> impl
|
|||
this.updateById(oldMenu);
|
||||
}
|
||||
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
@Override
|
||||
public void delete(SysMenuRequest sysMenuRequest) {
|
||||
|
||||
Long id = sysMenuRequest.getMenuId();
|
||||
|
||||
// 获取所有子级的节点id
|
||||
Set<Long> childIdList = this.dbOperatorApi.findSubListByParentId("sys_menu", "menu_pids", "menu_id", id);
|
||||
childIdList.add(id);
|
||||
|
||||
// 逻辑删除,设置删除标识
|
||||
LambdaUpdateWrapper<SysMenu> updateWrapper = new LambdaUpdateWrapper<>();
|
||||
updateWrapper.in(SysMenu::getMenuId, childIdList).set(SysMenu::getDelFlag, YesOrNotEnum.Y.getCode());
|
||||
this.update(updateWrapper);
|
||||
|
||||
// 删除该菜单下的按钮
|
||||
sysMenuButtonService.deleteMenuButtonByMenuId(id);
|
||||
}
|
||||
|
||||
@Override
|
||||
public SysMenu detail(SysMenuRequest sysMenuRequest) {
|
||||
SysMenu sysMenu = this.querySysMenu(sysMenuRequest);
|
||||
|
@ -172,6 +172,17 @@ public class SysMenuServiceImpl extends ServiceImpl<SysMenuMapper, SysMenu> impl
|
|||
return sysMenu;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<SysMenu> findList(SysMenuRequest sysMenuRequest) {
|
||||
|
||||
LambdaQueryWrapper<SysMenu> wrapper = createWrapper(sysMenuRequest);
|
||||
|
||||
List<SysMenu> sysMenuList = this.list(wrapper);
|
||||
|
||||
// 将结果集处理成树
|
||||
return new DefaultTreeBuildFactory<SysMenu>().doTreeBuild(sysMenuList);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<SysMenu> layuiList(SysMenuRequest sysMenuRequest) {
|
||||
|
||||
|
@ -216,17 +227,6 @@ public class SysMenuServiceImpl extends ServiceImpl<SysMenuMapper, SysMenu> impl
|
|||
return zTreeNodes;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<SysMenu> list(SysMenuRequest sysMenuRequest) {
|
||||
|
||||
LambdaQueryWrapper<SysMenu> wrapper = createWrapper(sysMenuRequest);
|
||||
|
||||
List<SysMenu> sysMenuList = this.list(wrapper);
|
||||
|
||||
// 将结果集处理成树
|
||||
return new DefaultTreeBuildFactory<SysMenu>().doTreeBuild(sysMenuList);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<SysMenu> getCurrentUserMenus() {
|
||||
return getCurrentUserMenus(null);
|
||||
|
|
Loading…
Reference in New Issue