yangys
2024-04-04 ed4a5236bab800094be4a8378f5098eebe3de6ac
smart-man-boot/src/main/java/com/qianwen/smartman/modules/system/controller/MenuController.java
@@ -1,23 +1,17 @@
package com.qianwen.smartman.modules.system.controller;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import java.lang.invoke.SerializedLambda;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
import javax.validation.Valid;
import com.qianwen.smartman.common.cache.RegionCache;
import com.qianwen.smartman.common.constant.ExtCacheConstant;
import com.qianwen.smartman.common.constant.MenuConstant;
import com.qianwen.smartman.common.enums.MenuCategoryEnum;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
import com.qianwen.core.boot.ctrl.BladeController;
import com.qianwen.core.cache.utils.CacheUtil;
import com.qianwen.core.mp.support.Condition;
@@ -30,6 +24,10 @@
import com.qianwen.core.tool.api.R;
import com.qianwen.core.tool.support.Kv;
import com.qianwen.core.tool.utils.Func;
import com.qianwen.smartman.common.cache.RegionCache;
import com.qianwen.smartman.common.constant.ExtCacheConstant;
import com.qianwen.smartman.common.constant.MenuConstant;
import com.qianwen.smartman.common.enums.MenuCategoryEnum;
import com.qianwen.smartman.modules.system.entity.Menu;
import com.qianwen.smartman.modules.system.entity.TopMenu;
import com.qianwen.smartman.modules.system.service.IMenuService;
@@ -38,9 +36,12 @@
import com.qianwen.smartman.modules.system.vo.GrantTreeVO;
import com.qianwen.smartman.modules.system.vo.MenuVO;
import com.qianwen.smartman.modules.system.wrapper.MenuWrapper;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import springfox.documentation.annotations.ApiIgnore;
@Api(value = "菜单", tags = {"菜单"})
@@ -51,62 +52,6 @@
public class MenuController extends BladeController {
    private final IMenuService menuService;
    private final ITopMenuService topMenuService;
    private static /* synthetic */ Object $deserializeLambda$(SerializedLambda lambda) {
        String implMethodName = lambda.getImplMethodName();
        boolean z = true;
        switch (implMethodName.hashCode()) {
            case -75145708:
                if (implMethodName.equals("getSort")) {
                    z = false;
                    break;
                }
                break;
            case 2128411252:
                if (implMethodName.equals("getCategory")) {
                    z = true;
                    break;
                }
                break;
        }
        switch (z) {
            case false:
                if (lambda.getImplMethodKind() == 5 && lambda.getFunctionalInterfaceClass().equals("com/baomidou/mybatisplus/core/toolkit/support/SFunction") && lambda.getFunctionalInterfaceMethodName().equals("apply") && lambda.getFunctionalInterfaceMethodSignature().equals("(Ljava/lang/Object;)Ljava/lang/Object;") && lambda.getImplClass().equals("org/springblade/modules/system/entity/Menu") && lambda.getImplMethodSignature().equals("()Ljava/lang/Integer;")) {
                    return (v0) -> {
                        return v0.getSort();
                    };
                }
                if (lambda.getImplMethodKind() == 5 && lambda.getFunctionalInterfaceClass().equals("com/baomidou/mybatisplus/core/toolkit/support/SFunction") && lambda.getFunctionalInterfaceMethodName().equals("apply") && lambda.getFunctionalInterfaceMethodSignature().equals("(Ljava/lang/Object;)Ljava/lang/Object;") && lambda.getImplClass().equals("org/springblade/modules/system/entity/Menu") && lambda.getImplMethodSignature().equals("()Ljava/lang/Integer;")) {
                    return (v0) -> {
                        return v0.getSort();
                    };
                }
                if (lambda.getImplMethodKind() == 5 && lambda.getFunctionalInterfaceClass().equals("com/baomidou/mybatisplus/core/toolkit/support/SFunction") && lambda.getFunctionalInterfaceMethodName().equals("apply") && lambda.getFunctionalInterfaceMethodSignature().equals("(Ljava/lang/Object;)Ljava/lang/Object;") && lambda.getImplClass().equals("org/springblade/modules/system/entity/TopMenu") && lambda.getImplMethodSignature().equals("()Ljava/lang/Integer;")) {
                    return (v0) -> {
                        return v0.getSort();
                    };
                }
                if (lambda.getImplMethodKind() == 5 && lambda.getFunctionalInterfaceClass().equals("com/baomidou/mybatisplus/core/toolkit/support/SFunction") && lambda.getFunctionalInterfaceMethodName().equals("apply") && lambda.getFunctionalInterfaceMethodSignature().equals("(Ljava/lang/Object;)Ljava/lang/Object;") && lambda.getImplClass().equals("org/springblade/modules/system/entity/Menu") && lambda.getImplMethodSignature().equals("()Ljava/lang/Integer;")) {
                    return (v0) -> {
                        return v0.getSort();
                    };
                }
                break;
            case true:
                if (lambda.getImplMethodKind() == 5 && lambda.getFunctionalInterfaceClass().equals("com/baomidou/mybatisplus/core/toolkit/support/SFunction") && lambda.getFunctionalInterfaceMethodName().equals("apply") && lambda.getFunctionalInterfaceMethodSignature().equals("(Ljava/lang/Object;)Ljava/lang/Object;") && lambda.getImplClass().equals("org/springblade/modules/system/entity/Menu") && lambda.getImplMethodSignature().equals("()Ljava/lang/Integer;")) {
                    return (v0) -> {
                        return v0.getCategory();
                    };
                }
                if (lambda.getImplMethodKind() == 5 && lambda.getFunctionalInterfaceClass().equals("com/baomidou/mybatisplus/core/toolkit/support/SFunction") && lambda.getFunctionalInterfaceMethodName().equals("apply") && lambda.getFunctionalInterfaceMethodSignature().equals("(Ljava/lang/Object;)Ljava/lang/Object;") && lambda.getImplClass().equals("org/springblade/modules/system/entity/Menu") && lambda.getImplMethodSignature().equals("()Ljava/lang/Integer;")) {
                    return (v0) -> {
                        return v0.getCategory();
                    };
                }
                break;
        }
        throw new IllegalArgumentException("Invalid lambda deserialization");
    }
    public MenuController(final IMenuService menuService, final ITopMenuService topMenuService) {
        this.menuService = menuService;
@@ -127,7 +72,7 @@
    @GetResource({"/list"})
    @ApiOperation(value = "列表", notes = "传入menu")
    public R<List<MenuVO>> list(@RequestParam @ApiIgnore Map<String, Object> menu) {
        List<Menu> list = this.menuService.list((Wrapper) Condition.getQueryWrapper(menu, Menu.class).lambda().orderByAsc((v0) -> {
        List<Menu> list = this.menuService.list(Condition.getQueryWrapper(menu, Menu.class).lambda().orderByAsc((v0) -> {
            return v0.getSort();
        }));
        return R.data(MenuWrapper.build().listNodeVO(list));
@@ -147,11 +92,13 @@
    @GetResource({"/menu-list"})
    @ApiOperation(value = "菜单列表", notes = "传入menu")
    public R<List<MenuVO>> menuList(@RequestParam @ApiIgnore Map<String, Object> menu) {
       List<Menu> list = this.menuService.list(Condition.getQueryWrapper(menu, Menu.class).lambda().eq(Menu::getCategory, Integer.valueOf(1)).orderByAsc(Menu::getSort));
       /*
        List<Menu> list = this.menuService.list((Wrapper) ((LambdaQueryWrapper) Condition.getQueryWrapper(menu, Menu.class).lambda().eq((v0) -> {
            return v0.getCategory();
        }, 1)).orderByAsc((v0) -> {
            return v0.getSort();
        }));
        }));*/
        return R.data(MenuWrapper.build().listNodeVO(list));
    }
@@ -191,11 +138,11 @@
    @ApiOperation(value = "前端菜单数据", notes = "前端菜单数据")
    public R<List<MenuVO>> routes(BladeUser user, Long topMenuId, String appCode) {
        List<MenuVO> list = this.menuService.routes(user == null ? null : user.getRoleId(), topMenuId);
        List<MenuVO> vos = (List) list.stream().filter(menu -> {
        List<MenuVO> vos = list.stream().filter(menu -> {
            return MenuConstant.DESK.equals(menu.getCode()) || Func.isNotEmpty(menu.getChildren());
        }).collect(Collectors.toList());
        if (Func.isNotEmpty(appCode)) {
            vos = (List) vos.stream().filter(menuVO -> {
            vos =  vos.stream().filter(menuVO -> {
                return appCode.equals(menuVO.getBelongApplication());
            }).collect(Collectors.toList());
        }
@@ -275,9 +222,12 @@
        if (Func.isEmpty(user)) {
            return null;
        }
        List<TopMenu> list = this.topMenuService.list(Wrappers.<TopMenu>query().lambda().orderByAsc(TopMenu::getSort));
        /*
        List<TopMenu> list = this.topMenuService.list((Wrapper) Wrappers.query().lambda().orderByAsc((v0) -> {
            return v0.getSort();
        }));
        }));*/
        return R.data(list);
    }
@@ -296,11 +246,13 @@
    @GetResource({"/list-not-radio"})
    @ApiOperation(value = "列表(无按钮)", notes = "传入menu")
    public R<List<MenuVO>> listNotRadio(@RequestParam @ApiIgnore Map<String, Object> menu) {
       List<Menu> list = this.menuService.list(Condition.getQueryWrapper(menu, Menu.class).lambda().in(Menu::getCategory, MenuCategoryEnum.getMenus()).orderByAsc(Menu::getSort));
       /*
        List<Menu> list = this.menuService.list((Wrapper) ((LambdaQueryWrapper) Condition.getQueryWrapper(menu, Menu.class).lambda().in((v0) -> {
            return v0.getCategory();
        }, MenuCategoryEnum.getMenus())).orderByAsc((v0) -> {
            return v0.getSort();
        }));
        }));*/
        return R.data(MenuWrapper.build().listNodeVO(list));
    }