content: package com.www.pojo;
  
  import com.baomidou.mybatisplus.annotation.IdType;
  import com.baomidou.mybatisplus.annotation.TableField;
  import com.baomidou.mybatisplus.annotation.TableId;
  import com.baomidou.mybatisplus.annotation.TableName;
  import java.io.Serializable;
  import java.util.ArrayList;
  import java.util.Date;
  import java.util.List;
  
  import lombok.Data;
  
  import javax.validation.constraints.NotBlank;
  import javax.validation.constraints.NotNull;
  
  /**
   * 菜单表
   * @TableName sys_menu
   */
  @Data
  @TableName(value ="sys_menu")
  public class SysMenu implements Serializable {
      /**
       * 主键ID
       */
      @TableId(type = IdType.AUTO)
      private Long id;
  
      /**
       * 父菜单ID，一级菜单为0
       */
      @NotNull(message = "上级菜单不能为空")
      private Long parentId;
  
      /**
       * 菜单名称
       */
      @NotBlank(message = "菜单名称不能为空")
      private String name;
  
      /**
       * 菜单URL
       */
      private String path;
  
      /**
       * 授权（多个用逗号分隔，如：user:list,user:create）
       */
      @NotBlank(message = "菜单授权码不能为空")
      private String perms;
  
      /**
       * 组成
       */
      private String component;
  
      /**
       * 类型 0：目录  1：菜单  2：按钮
       */
      @NotNull(message = "菜单类型不能为空")
      private Integer type;
  
      /**
       * 菜单图标
       */
      private String icon;
  
      /**
       * 排序
       */
      private Integer orderNum;
  
      /**
       * 创建时间
       */
      private Date created;
  
      /**
       * 更新时间
       */
      private Date updated;
  
      /**
       * 状态  1：正常     0：禁用
       */
      private Integer statu;
  
      @TableField(exist = false)
      private static final long serialVersionUID = 1L;
  
      @TableField(exist = false)
      private List<SysMenu> children = new ArrayList<>();
  }