ludc
2023-11-20 5e449c8bba2273313fd25457cae653a0f340c910
Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/controller/MenuController.java
@@ -16,27 +16,31 @@
 */
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;
import com.vci.ubcs.system.wrapper.MenuWrapper;
import io.swagger.annotations.*;
import lombok.AllArgsConstructor;
import org.springblade.core.boot.ctrl.BladeController;
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.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;
import org.springblade.core.tool.node.TreeNode;
import org.springblade.core.tool.support.Kv;
import org.springblade.core.tool.utils.Func;
import com.vci.ubcs.system.entity.Menu;
import com.vci.ubcs.system.entity.TopMenu;
import com.vci.ubcs.system.vo.CheckedTreeVO;
import com.vci.ubcs.system.vo.GrantTreeVO;
import com.vci.ubcs.system.vo.MenuVO;
import org.springframework.web.bind.annotation.*;
import springfox.documentation.annotations.ApiIgnore;
@@ -101,6 +105,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 +138,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));
   }
   /**
@@ -177,8 +182,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 +287,15 @@
      }
      return R.data(menuService.authRoutes(user));
   }
   /**
    * 克隆其他菜单下按钮
    * @param buttonCloneVO 要克隆的菜单按钮主键 被克隆的按钮主键
    * @return
    */
   @PostMapping("/cloneMenuButton")
   public R cloneMenuButton(@RequestBody ButtonCloneVO buttonCloneVO) {
      return menuService.cloneMenuButton(buttonCloneVO.getMenuId(), buttonCloneVO.getButtonIds());
   }
}