content: package com.ruoyi.common.core.domain.entity;
  
  import java.util.ArrayList;
  import java.util.List;
  import javax.validation.constraints.NotBlank;
  import javax.validation.constraints.NotNull;
  import javax.validation.constraints.Size;
  import org.apache.commons.lang3.builder.ToStringBuilder;
  import org.apache.commons.lang3.builder.ToStringStyle;
  import com.ruoyi.common.core.domain.BaseEntity;
  
  /**
   * 菜单权限表 sys_menu
   *
   * @author ruoyi
   */
  public class SysMenu extends BaseEntity
  {
      private static final long serialVersionUID = 1L;
  
      /** 菜单ID */
      private Long menuId;
  
      /** 菜单名称 */
      private String menuName;
  
      /** 父菜单名称 */
      private String parentName;
  
      /** 父菜单ID */
      private Long parentId;
  
      /** 显示顺序 */
      private Integer orderNum;
  
      /** 路由地址 */
      private String path;
  
      /** 组件路径 */
      private String component;
  
      /** 路由参数 */
      private String query;
  
      /** 路由名称，默认和路由地址相同的驼峰格式（注意：因为vue3版本的router会删除名称相同路由，为避免名字的冲突，特殊情况可以自定义） */
      private String routeName;
  
      /** 是否为外链（0是 1否） */
      private String isFrame;
  
      /** 是否缓存（0缓存 1不缓存） */
      private String isCache;
  
      /** 类型（M目录 C菜单 F按钮） */
      private String menuType;
  
      /** 显示状态（0显示 1隐藏） */
      private String visible;
  
      /** 菜单状态（0正常 1停用） */
      private String status;
  
      /**
       * 查询流程(0=否,1=是)
       */
      private String isFlow;
  
      /** 权限字符串 */
      private String perms;
  
      /** 菜单图标 */
      private String icon;
  
      /** 子菜单 */
      private List<SysMenu> children = new ArrayList<SysMenu>();
  
      public Long getMenuId()
      {
          return menuId;
      }
  
      public void setMenuId(Long menuId)
      {
          this.menuId = menuId;
      }
  
      @NotBlank(message = "菜单名称不能为空")
      @Size(min = 0, max = 50, message = "菜单名称长度不能超过50个字符")
      public String getMenuName()
      {
          return menuName;
      }
  
      public void setMenuName(String menuName)
      {
          this.menuName = menuName;
      }
  
      public String getParentName()
      {
          return parentName;
      }
  
      public void setParentName(String parentName)
      {
          this.parentName = parentName;
      }
  
      public Long getParentId()
      {
          return parentId;
      }
  
      public void setParentId(Long parentId)
      {
          this.parentId = parentId;
      }
  
      @NotNull(message = "显示顺序不能为空")
      public Integer getOrderNum()
      {
          return orderNum;
      }
  
      public void setOrderNum(Integer orderNum)
      {
          this.orderNum = orderNum;
      }
  
      @Size(min = 0, max = 200, message = "路由地址不能超过200个字符")
      public String getPath()
      {
          return path;
      }
  
      public void setPath(String path)
      {
          this.path = path;
      }
  
      @Size(min = 0, max = 200, message = "组件路径不能超过255个字符")
      public String getComponent()
      {
          return component;
      }
  
      public void setComponent(String component)
      {
          this.component = component;
      }
  
      public String getQuery()
      {
          return query;
      }
  
      public void setQuery(String query)
      {
          this.query = query;
      }
  
      public String getRouteName()
      {
          return routeName;
      }
  
      public void setRouteName(String routeName)
      {
          this.routeName = routeName;
      }
  
      public String getIsFrame()
      {
          return isFrame;
      }
  
      public void setIsFrame(String isFrame)
      {
          this.isFrame = isFrame;
      }
  
      public String getIsCache()
      {
          return isCache;
      }
  
      public void setIsCache(String isCache)
      {
          this.isCache = isCache;
      }
  
      @NotBlank(message = "菜单类型不能为空")
      public String getMenuType()
      {
          return menuType;
      }
  
      public void setMenuType(String menuType)
      {
          this.menuType = menuType;
      }
  
      public String getVisible()
      {
          return visible;
      }
  
      public void setVisible(String visible)
      {
          this.visible = visible;
      }
  
      public String getStatus()
      {
          return status;
      }
  
      public void setStatus(String status)
      {
          this.status = status;
      }
  
      @Size(min = 0, max = 100, message = "权限标识长度不能超过100个字符")
      public String getPerms()
      {
          return perms;
      }
  
      public void setPerms(String perms)
      {
          this.perms = perms;
      }
  
      public String getIcon()
      {
          return icon;
      }
  
      public void setIcon(String icon)
      {
          this.icon = icon;
      }
  
      public List<SysMenu> getChildren()
      {
          return children;
      }
  
      public void setChildren(List<SysMenu> children)
      {
          this.children = children;
      }
  
      public String getIsFlow() {
          return isFlow;
      }
  
      public void setIsFlow(String isFlow) {
          this.isFlow = isFlow;
      }
  
      @Override
      public String toString() {
          return "SysMenu{" +
                  "menuId=" + menuId +
                  ", menuName='" + menuName + '\'' +
                  ", parentName='" + parentName + '\'' +
                  ", parentId=" + parentId +
                  ", orderNum=" + orderNum +
                  ", path='" + path + '\'' +
                  ", component='" + component + '\'' +
                  ", query='" + query + '\'' +
                  ", routeName='" + routeName + '\'' +
                  ", isFrame='" + isFrame + '\'' +
                  ", isCache='" + isCache + '\'' +
                  ", menuType='" + menuType + '\'' +
                  ", visible='" + visible + '\'' +
                  ", status='" + status + '\'' +
                  ", isFlow='" + isFlow + '\'' +
                  ", perms='" + perms + '\'' +
                  ", icon='" + icon + '\'' +
                  ", children=" + children +
                  '}';
      }
  }
  