疯狂的狮子li
2022-07-07 0b077806196ceb8a68af93f00880ccc70aee50c2
ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysMenu.java
@@ -1,154 +1,120 @@
package com.ruoyi.common.core.domain.entity;
import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.ruoyi.common.core.domain.TreeEntity;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
import lombok.EqualsAndHashCode;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import java.io.Serializable;
import java.util.*;
/**
 * 菜单权限表 sys_menu
 *
 * @author ruoyi
 * @author Lion Li
 */
@Data
@NoArgsConstructor
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = true)
@TableName("sys_menu")
public class SysMenu implements Serializable {
   private static final long serialVersionUID = 1L;
@Schema(name = "菜单权限业务对象")
public class SysMenu extends TreeEntity<SysMenu> {
   /**
    * 菜单ID
    */
   @TableId(value = "menu_id", type = IdType.AUTO)
   private Long menuId;
    /**
     * 菜单ID
     */
    @Schema(name = "菜单ID")
    @TableId(value = "menu_id")
    private Long menuId;
   /**
    * 菜单名称
    */
   @NotBlank(message = "菜单名称不能为空")
   @Size(min = 0, max = 50, message = "菜单名称长度不能超过50个字符")
   private String menuName;
    /**
     * 菜单名称
     */
    @Schema(name = "菜单名称")
    @NotBlank(message = "菜单名称不能为空")
    @Size(min = 0, max = 50, message = "菜单名称长度不能超过50个字符")
    private String menuName;
   /**
    * 父菜单名称
    */
   @TableField(exist = false)
   private String parentName;
    /**
     * 显示顺序
     */
    @Schema(name = "显示顺序")
    @NotNull(message = "显示顺序不能为空")
    private Integer orderNum;
   /**
    * 父菜单ID
    */
   private Long parentId;
    /**
     * 路由地址
     */
    @Schema(name = "路由地址")
    @Size(min = 0, max = 200, message = "路由地址不能超过200个字符")
    private String path;
   /**
    * 显示顺序
    */
   @NotBlank(message = "显示顺序不能为空")
   private String orderNum;
   /**
    * 路由地址
    */
   @Size(min = 0, max = 200, message = "路由地址不能超过200个字符")
   private String path;
   /**
    * 组件路径
    */
   @Size(min = 0, max = 200, message = "组件路径不能超过255个字符")
   private String component;
    /**
     * 组件路径
     */
    @Schema(name = "组件路径")
    @Size(min = 0, max = 200, message = "组件路径不能超过255个字符")
    private String component;
    /**
     * 路由参数
     */
    private String query;
    @Schema(name = "路由参数")
    private String queryParam;
   /**
    * 是否为外链(0是 1否)
    */
   private String isFrame;
    /**
     * 是否为外链(0是 1否)
     */
    @Schema(name = "是否为外链(0是 1否)")
    private String isFrame;
   /**
    * 是否缓存(0缓存 1不缓存)
    */
   private String isCache;
    /**
     * 是否缓存(0缓存 1不缓存)
     */
    @Schema(name = "是否缓存(0缓存 1不缓存)")
    private String isCache;
   /**
    * 类型(M目录 C菜单 F按钮)
    */
   @NotBlank(message = "菜单类型不能为空")
   private String menuType;
    /**
     * 类型(M目录 C菜单 F按钮)
     */
    @Schema(name = "类型(M目录 C菜单 F按钮)")
    @NotBlank(message = "菜单类型不能为空")
    private String menuType;
   /**
    * 显示状态(0显示 1隐藏)
    */
   private String visible;
    /**
     * 显示状态(0显示 1隐藏)
     */
    @Schema(name = "显示状态(0显示 1隐藏)")
    private String visible;
   /**
    * 菜单状态(0显示 1隐藏)
    */
   private String status;
    /**
     * 菜单状态(0显示 1隐藏)
     */
    @Schema(name = "菜单状态(0显示 1隐藏)")
    private String status;
   /**
    * 权限字符串
    */
   @Size(min = 0, max = 100, message = "权限标识长度不能超过100个字符")
   private String perms;
    /**
     * 权限字符串
     */
    @Schema(name = "权限字符串")
    @JsonInclude(JsonInclude.Include.NON_NULL)
    @Size(min = 0, max = 100, message = "权限标识长度不能超过100个字符")
    private String perms;
   /**
    * 菜单图标
    */
   private String icon;
    /**
     * 菜单图标
     */
    @Schema(name = "菜单图标")
    private String icon;
   /**
    * 创建者
    */
   @TableField(fill = FieldFill.INSERT)
   private String createBy;
   /**
    * 创建时间
    */
   @TableField(fill = FieldFill.INSERT)
   @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
   private Date createTime;
   /**
    * 更新者
    */
   @TableField(fill = FieldFill.INSERT_UPDATE)
   private String updateBy;
   /**
    * 更新时间
    */
   @TableField(fill = FieldFill.INSERT_UPDATE)
   @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
   private Date updateTime;
   /**
    * 备注
    */
   private String remark;
   /**
    * 请求参数
    */
   @TableField(exist = false)
   private Map<String, Object> params = new HashMap<>();
   /**
    * 子菜单
    */
   @TableField(exist = false)
   private List<SysMenu> children = new ArrayList<SysMenu>();
    /**
     * 备注
     */
    @Schema(name = "备注")
    private String remark;
}