mirror of https://gitee.com/stylefeng/roses
菜单详情获取父级菜单名称,应用列表接口
parent
450c039a28
commit
84b6469141
|
@ -10,10 +10,14 @@ import cn.stylefeng.roses.kernel.scanner.api.annotation.PostResource;
|
|||
import cn.stylefeng.roses.kernel.sys.modular.app.entity.SysApp;
|
||||
import cn.stylefeng.roses.kernel.sys.modular.app.pojo.request.SysAppRequest;
|
||||
import cn.stylefeng.roses.kernel.sys.modular.app.service.SysAppService;
|
||||
import cn.stylefeng.roses.kernel.sys.modular.menu.pojo.response.AppGroupDetail;
|
||||
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
|
||||
/**
|
||||
|
@ -99,6 +103,16 @@ public class SysAppController {
|
|||
return new SuccessResponseData<>(sysAppService.findPage(sysAppRequest));
|
||||
}
|
||||
|
||||
/**
|
||||
* 分页查询-应用列表
|
||||
*
|
||||
* @author liyanjun
|
||||
* @date 2023/07/02 18:28
|
||||
*/
|
||||
@GetResource(name = "分页查询-应用列表", path = "/sysApp/list")
|
||||
public ResponseData<List<SysApp>> list(SysAppRequest sysAppRequest) {
|
||||
return new SuccessResponseData<>(sysAppService.findList(sysAppRequest));
|
||||
}
|
||||
/**
|
||||
* 修改应用状态
|
||||
*
|
||||
|
|
|
@ -145,6 +145,13 @@ public class SysMenu extends BaseExpandFieldEntity implements BasePidBuildModel
|
|||
@TableField(exist = false)
|
||||
private List<SysMenu> children;
|
||||
|
||||
/**
|
||||
* 父级菜单名称
|
||||
*/
|
||||
@TableField("exist = false")
|
||||
@ChineseDescription("父级菜单名称")
|
||||
private String menuParentName;
|
||||
|
||||
@Override
|
||||
public String pidBuildNodeId() {
|
||||
if (ObjectUtil.isEmpty(menuId)) {
|
||||
|
|
|
@ -75,7 +75,8 @@ public class SysMenuServiceImpl extends ServiceImpl<SysMenuMapper, SysMenu> impl
|
|||
this.removeByIds(totalMenuIds);
|
||||
|
||||
// 删除菜单下面关联的其他业务关联表
|
||||
Map<String, RemoveMenuCallbackApi> removeMenuCallbackApiMap = SpringUtil.getBeansOfType(RemoveMenuCallbackApi.class);
|
||||
Map<String, RemoveMenuCallbackApi> removeMenuCallbackApiMap = SpringUtil
|
||||
.getBeansOfType(RemoveMenuCallbackApi.class);
|
||||
for (RemoveMenuCallbackApi removeMenuCallbackApi : removeMenuCallbackApiMap.values()) {
|
||||
removeMenuCallbackApi.removeMenuAction(totalMenuIds);
|
||||
}
|
||||
|
@ -105,11 +106,23 @@ public class SysMenuServiceImpl extends ServiceImpl<SysMenuMapper, SysMenu> impl
|
|||
LambdaQueryWrapper<SysMenu> sysMenuLambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||
sysMenuLambdaQueryWrapper.eq(SysMenu::getMenuId, sysMenuRequest.getMenuId());
|
||||
|
||||
sysMenuLambdaQueryWrapper.select(SysMenu::getAppId, SysMenu::getMenuName, SysMenu::getMenuCode, SysMenu::getMenuSort,
|
||||
SysMenu::getMenuType, SysMenu::getAntdvComponent, SysMenu::getAntdvRouter, SysMenu::getAntdvVisible,
|
||||
SysMenu::getAntdvActiveUrl, SysMenu::getAntdvLinkUrl, SysMenu::getAntdvIcon);
|
||||
sysMenuLambdaQueryWrapper.select(SysMenu::getAppId, SysMenu::getMenuName, SysMenu::getMenuCode,
|
||||
SysMenu::getMenuSort, SysMenu::getMenuType, SysMenu::getAntdvComponent, SysMenu::getAntdvRouter,
|
||||
SysMenu::getAntdvVisible, SysMenu::getAntdvActiveUrl, SysMenu::getAntdvLinkUrl, SysMenu::getAntdvIcon,
|
||||
SysMenu::getMenuParentId);
|
||||
|
||||
return this.getOne(sysMenuLambdaQueryWrapper, false);
|
||||
SysMenu sysMenu = this.getOne(sysMenuLambdaQueryWrapper, false);
|
||||
|
||||
if (ObjectUtil.isNotEmpty(sysMenu) && ObjectUtil.isNotEmpty(sysMenu.getMenuParentId())) {
|
||||
if (sysMenu.getMenuParentId().equals(TreeConstants.DEFAULT_PARENT_ID)) {
|
||||
sysMenu.setMenuParentName("根节点");
|
||||
} else {
|
||||
SysMenu parentMenu=this.getById(sysMenu.getMenuParentId());
|
||||
sysMenu.setMenuParentName(parentMenu.getMenuName());
|
||||
}
|
||||
}
|
||||
|
||||
return sysMenu;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -126,7 +139,8 @@ public class SysMenuServiceImpl extends ServiceImpl<SysMenuMapper, SysMenu> impl
|
|||
@Override
|
||||
public List<SysMenu> getTotalMenus() {
|
||||
LambdaQueryWrapper<SysMenu> menuLambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||
menuLambdaQueryWrapper.select(SysMenu::getMenuId, SysMenu::getMenuName, SysMenu::getMenuParentId, SysMenu::getAppId);
|
||||
menuLambdaQueryWrapper.select(SysMenu::getMenuId, SysMenu::getMenuName, SysMenu::getMenuParentId,
|
||||
SysMenu::getAppId);
|
||||
menuLambdaQueryWrapper.orderByAsc(SysMenu::getMenuSort);
|
||||
return this.list(menuLambdaQueryWrapper);
|
||||
}
|
||||
|
@ -174,9 +188,10 @@ public class SysMenuServiceImpl extends ServiceImpl<SysMenuMapper, SysMenu> impl
|
|||
sysMenuLambdaQueryWrapper.in(SysMenu::getMenuId, menuIdList);
|
||||
|
||||
// 查询指定的菜单内容
|
||||
sysMenuLambdaQueryWrapper.select(SysMenu::getMenuId, SysMenu::getMenuParentId, SysMenu::getAppId, SysMenu::getMenuCode,
|
||||
SysMenu::getMenuName, SysMenu::getMenuType, SysMenu::getAntdvIcon, SysMenu::getAntdvVisible, SysMenu::getAntdvActiveUrl,
|
||||
SysMenu::getAntdvRouter, SysMenu::getAntdvComponent, SysMenu::getMenuSort);
|
||||
sysMenuLambdaQueryWrapper.select(SysMenu::getMenuId, SysMenu::getMenuParentId, SysMenu::getAppId,
|
||||
SysMenu::getMenuCode, SysMenu::getMenuName, SysMenu::getMenuType, SysMenu::getAntdvIcon,
|
||||
SysMenu::getAntdvVisible, SysMenu::getAntdvActiveUrl, SysMenu::getAntdvRouter,
|
||||
SysMenu::getAntdvComponent, SysMenu::getMenuSort);
|
||||
|
||||
sysMenuLambdaQueryWrapper.orderByAsc(SysMenu::getMenuSort);
|
||||
|
||||
|
@ -213,8 +228,8 @@ public class SysMenuServiceImpl extends ServiceImpl<SysMenuMapper, SysMenu> impl
|
|||
// 2. 获取应用对应的所有菜单
|
||||
LambdaQueryWrapper<SysMenu> wrapper = this.createWrapper(sysMenuRequest);
|
||||
wrapper.in(SysMenu::getAppId, totalAppIds);
|
||||
wrapper.select(SysMenu::getMenuId, SysMenu::getMenuParentId, SysMenu::getMenuPids, SysMenu::getMenuName, SysMenu::getAppId,
|
||||
SysMenu::getMenuType);
|
||||
wrapper.select(SysMenu::getMenuId, SysMenu::getMenuParentId, SysMenu::getMenuPids, SysMenu::getMenuName,
|
||||
SysMenu::getAppId, SysMenu::getMenuType);
|
||||
List<SysMenu> sysMenuList = this.list(wrapper);
|
||||
if (ObjectUtil.isEmpty(sysMenuList)) {
|
||||
return appList;
|
||||
|
@ -226,8 +241,8 @@ public class SysMenuServiceImpl extends ServiceImpl<SysMenuMapper, SysMenu> impl
|
|||
if (ObjectUtil.isNotEmpty(menuParentIds)) {
|
||||
LambdaQueryWrapper<SysMenu> queryWrapper = new LambdaQueryWrapper<>();
|
||||
queryWrapper.in(SysMenu::getMenuId, menuParentIds);
|
||||
queryWrapper.select(SysMenu::getMenuId, SysMenu::getMenuParentId, SysMenu::getMenuPids, SysMenu::getMenuName,
|
||||
SysMenu::getAppId, SysMenu::getMenuType);
|
||||
queryWrapper.select(SysMenu::getMenuId, SysMenu::getMenuParentId, SysMenu::getMenuPids,
|
||||
SysMenu::getMenuName, SysMenu::getAppId, SysMenu::getMenuType);
|
||||
queryWrapper.orderByAsc(SysMenu::getMenuSort);
|
||||
List<SysMenu> parentMenus = this.list(queryWrapper);
|
||||
sysMenuList.addAll(parentMenus);
|
||||
|
@ -244,7 +259,8 @@ public class SysMenuServiceImpl extends ServiceImpl<SysMenuMapper, SysMenu> impl
|
|||
// 通过id查询菜单的详情信息
|
||||
LambdaQueryWrapper<SysMenu> sysMenuLambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||
sysMenuLambdaQueryWrapper.in(SysMenu::getMenuId, menuIdList);
|
||||
sysMenuLambdaQueryWrapper.select(SysMenu::getMenuId, SysMenu::getMenuName, SysMenu::getAntdvRouter, SysMenu::getAntdvIcon);
|
||||
sysMenuLambdaQueryWrapper.select(SysMenu::getMenuId, SysMenu::getMenuName, SysMenu::getAntdvRouter,
|
||||
SysMenu::getAntdvIcon);
|
||||
List<SysMenu> sysMenuList = this.list(sysMenuLambdaQueryWrapper);
|
||||
|
||||
if (ObjectUtil.isEmpty(sysMenuList)) {
|
||||
|
@ -343,7 +359,8 @@ public class SysMenuServiceImpl extends ServiceImpl<SysMenuMapper, SysMenu> impl
|
|||
*/
|
||||
private String createPids(Long pid) {
|
||||
if (pid.equals(TreeConstants.DEFAULT_PARENT_ID)) {
|
||||
return SymbolConstant.LEFT_SQUARE_BRACKETS + TreeConstants.DEFAULT_PARENT_ID + SymbolConstant.RIGHT_SQUARE_BRACKETS + SymbolConstant.COMMA;
|
||||
return SymbolConstant.LEFT_SQUARE_BRACKETS + TreeConstants.DEFAULT_PARENT_ID
|
||||
+ SymbolConstant.RIGHT_SQUARE_BRACKETS + SymbolConstant.COMMA;
|
||||
} else {
|
||||
// 获取父菜单
|
||||
LambdaQueryWrapper<SysMenu> sysMenuLambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||
|
@ -351,10 +368,12 @@ public class SysMenuServiceImpl extends ServiceImpl<SysMenuMapper, SysMenu> impl
|
|||
sysMenuLambdaQueryWrapper.select(SysMenu::getMenuPids);
|
||||
SysMenu parentMenu = this.getOne(sysMenuLambdaQueryWrapper, false);
|
||||
if (parentMenu == null) {
|
||||
return SymbolConstant.LEFT_SQUARE_BRACKETS + TreeConstants.DEFAULT_PARENT_ID + SymbolConstant.RIGHT_SQUARE_BRACKETS + SymbolConstant.COMMA;
|
||||
return SymbolConstant.LEFT_SQUARE_BRACKETS + TreeConstants.DEFAULT_PARENT_ID
|
||||
+ SymbolConstant.RIGHT_SQUARE_BRACKETS + SymbolConstant.COMMA;
|
||||
} else {
|
||||
// 组装pids
|
||||
return parentMenu.getMenuPids() + SymbolConstant.LEFT_SQUARE_BRACKETS + pid + SymbolConstant.RIGHT_SQUARE_BRACKETS + SymbolConstant.COMMA;
|
||||
return parentMenu.getMenuPids() + SymbolConstant.LEFT_SQUARE_BRACKETS + pid
|
||||
+ SymbolConstant.RIGHT_SQUARE_BRACKETS + SymbolConstant.COMMA;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue