package com.xjrsoft.module.system.controller;
import cn.dev33.satoken.stp.StpUtil;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
import com.baomidou.mybatisplus.core.toolkit.StringPool;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.github.yulichang.toolkit.MPJWrappers;
import com.jdcloud.sdk.utils.StringUtils;
import com.xjrsoft.common.constant.GlobalConstant;
import com.xjrsoft.common.enums.*;
import com.xjrsoft.common.model.result.R;
import com.xjrsoft.common.model.result.RT;
import com.xjrsoft.common.utils.TreeUtil;
import com.xjrsoft.common.utils.VoToColumnUtil;
import com.xjrsoft.module.organization.service.IUserRoleRelationService;
import com.xjrsoft.module.system.dto.*;
import com.xjrsoft.module.system.entity.*;
import com.xjrsoft.module.system.service.*;
import com.xjrsoft.module.system.vo.*;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.AllArgsConstructor;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.*;
import javax.validation.Valid;
import javax.validation.constraints.NotNull;
import java.util.ArrayList;
import java.util.List;
/**
*
* 用户 前端控制器
*
*
* @author tzx
* @since 2022-03-16
*/
@RestController
@RequestMapping(GlobalConstant.SYSTEM_MODULE_PREFIX + "/menu")
@Api(value = GlobalConstant.SYSTEM_MODULE_PREFIX + "/menu", tags = "菜单模块")
@AllArgsConstructor
public class MenuController {
private final IMenuService menuService;
private final IMenuButtonService menuButtonService;
private final IMenuColumnService menuColumnService;
private final IMenuFormService menuFormService;
private final IAuthorizeService authorizeService;
private final IUserRoleRelationService userRoleRelationService;
@GetMapping("/list")
@ApiOperation(value = "获取所有菜单(不分页)")
public R list() {
List