From ba345976f0a6a67bcb20627e33251ded000a3d8f Mon Sep 17 00:00:00 2001 From: 田源 <lastanimals@163.com> Date: 星期六, 25 五月 2024 22:40:02 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/controller/MenuController.java | 59 +++++++++++++++++++++++++++++++++++++++++++++++++++++------ 1 files changed, 53 insertions(+), 6 deletions(-) diff --git a/Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/controller/MenuController.java b/Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/controller/MenuController.java index f597a76..514bd57 100644 --- a/Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/controller/MenuController.java +++ b/Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/controller/MenuController.java @@ -16,12 +16,14 @@ */ package com.vci.ubcs.system.controller; +import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; import com.vci.ubcs.system.entity.Menu; import com.vci.ubcs.system.entity.TopMenu; import com.vci.ubcs.system.service.IMenuService; import com.vci.ubcs.system.service.ITopMenuService; +import com.vci.ubcs.system.vo.ButtonCloneVO; import com.vci.ubcs.system.vo.CheckedTreeVO; import com.vci.ubcs.system.vo.GrantTreeVO; import com.vci.ubcs.system.vo.MenuVO; @@ -30,7 +32,10 @@ import lombok.AllArgsConstructor; import org.springblade.core.cache.utils.CacheUtil; import org.springblade.core.boot.ctrl.BladeController; +import org.springblade.core.log.annotation.ApiLog; +import org.springblade.core.log.exception.ServiceException; import org.springblade.core.mp.support.Condition; +import org.springblade.core.mp.support.Query; import org.springblade.core.secure.BladeUser; import org.springblade.core.tenant.annotation.NonDS; import org.springblade.core.tool.api.R; @@ -60,6 +65,7 @@ public class MenuController extends BladeController { private final IMenuService menuService; + private final ITopMenuService topMenuService; /** @@ -91,6 +97,25 @@ } /** + * 鏍规嵁鐖惰彍鍗曠殑code鑾峰彇锛屼笅闈㈢殑鎸夐挳 + * @param menu + * @return + */ + @GetMapping("/getButtonByParentCode") + @ApiImplicitParams({ + @ApiImplicitParam(name = "code", value = "鑿滃崟缂栧彿", paramType = "query", dataType = "string"), + @ApiImplicitParam(name = "category", value = "鑿滃崟绫诲瀷", paramType = "query", dataType = "string") + }) + @ApiOperationSupport(order = 3) + @ApiOperation(value = "鍒楄〃", notes = "浼犲叆menu") + public R<List<MenuVO>> getButtonByParentCode(@ApiIgnore @RequestParam Map<String, Object> menu){ + if(Func.isBlank(menu.getOrDefault("code","").toString())){ + throw new ServiceException("蹇呭~鍙傛暟鑿滃崟code涓嶈兘涓虹┖锛�"); + } + return R.data(MenuWrapper.build().listNodeVO(menuService.getButtonByParentCode(menu.getOrDefault("code","").toString()))); + } + + /** * 鎳掑姞杞藉垪琛� */ @GetMapping("/lazy-list") @@ -101,6 +126,7 @@ //@PreAuth(RoleConstant.HAS_ROLE_ADMINISTRATOR) @ApiOperationSupport(order = 3) @ApiOperation(value = "鎳掑姞杞藉垪琛�", notes = "浼犲叆menu") + @ApiLog("鑿滃崟鎳掑姞杞藉垪琛�") 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)); @@ -133,9 +159,9 @@ //@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)); + public R<IPage<MenuVO>> lazyMenuList(Long parentId, @ApiIgnore @RequestParam Map<String, Object> menu, Query query) { + IPage<MenuVO> menuVOIPage = menuService.lazyMenuPage(parentId, menu,query); + return R.data(MenuWrapper.build().pageNodeLazyVO(menuVOIPage)); } /** @@ -155,7 +181,6 @@ } return R.fail("鎿嶄綔澶辫触"); } - /** * 鍒犻櫎 @@ -177,8 +202,9 @@ @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); - return R.data(list); + List<MenuVO> lists = menuService.routes((user == null) ? null : user.getRoleId(), topMenuId); + menuService.handleKeepAlive(lists); + return R.data(lists); } /** @@ -281,4 +307,25 @@ } return R.data(menuService.authRoutes(user)); } + + /** + * 鍏嬮殕鍏朵粬鑿滃崟涓嬫寜閽� + * @param buttonCloneVO 瑕佸厠闅嗙殑鑿滃崟鎸夐挳涓婚敭 琚厠闅嗙殑鎸夐挳涓婚敭 + * @return + */ + @PostMapping("/cloneMenuButton") + public R cloneMenuButton(@RequestBody ButtonCloneVO buttonCloneVO) { + return menuService.cloneMenuButton(buttonCloneVO.getMenuId(), buttonCloneVO.getButtonIds()); + } + + /** + * 鏍规嵁瑙掕壊id鑾峰彇宸叉巿鏉冪殑鎸夐挳淇℃伅 + * @param roleId + * @return + */ + @GetMapping("/getButtonsByRoleId") + public R<List<Menu>> getButtonsByRoleId(@Valid @RequestParam("roleId") String roleId,@Valid @RequestParam("code") String menuCode){ + return R.data(menuService.getButtonsByRoleId(roleId,menuCode)); + } + } -- Gitblit v1.9.3