ludc
2024-05-17 58e1c4e2bdc8e4f8b647d7c2b9e5e5656a00b445
Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/controller/MenuController.java
@@ -18,12 +18,12 @@
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
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;
@@ -32,6 +32,8 @@
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;
@@ -63,6 +65,7 @@
public class MenuController extends BladeController {
   private final IMenuService menuService;
   private final ITopMenuService topMenuService;
   /**
@@ -94,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")
@@ -104,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));
@@ -158,7 +181,6 @@
      }
      return R.fail("操作失败");
   }
   /**
    * 删除
@@ -285,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));
   }
}