using SqlSugar;
using System.Collections.Generic;
using System.ComponentModel;
using System.ComponentModel.DataAnnotations;
namespace Magic.Core.Entity;
///
/// 菜单表
///
[SugarTable("sys_menu")]
[Description("菜单表")]
public class SysMenu : DEntityBase
{
///
/// 父Id
///
[SugarColumn(ColumnDescription = "父Id")]
public long Pid { get; set; }
///
/// 父Ids
///
[SugarColumn(ColumnDescription = "父Ids")]
public string Pids { get; set; }
///
/// 名称
///
[Required, MaxLength(20)]
[SugarColumn(ColumnDescription = "名称")]
public string Name { get; set; }
///
/// 编码
///
[Required, MaxLength(50)]
[SugarColumn(ColumnDescription = "编码")]
public string Code { get; set; }
///
/// 菜单类型(字典 0目录 1菜单 2按钮)
///
[SugarColumn(ColumnDescription = "菜单类型(字典 0目录 1菜单 2按钮)")]
public int Type { get; set; }
///
/// 图标
///
[MaxLength(20)]
[SugarColumn(ColumnDescription = "图标", IsNullable = true)]
public string Icon { get; set; }
///
/// 路由地址
///
[MaxLength(100)]
[SugarColumn(ColumnDescription = "路由地址", IsNullable = true)]
public string Router { get; set; }
///
/// 组件地址
///
[MaxLength(100)]
[SugarColumn(ColumnDescription = "组件地址", IsNullable = true)]
public string Component { get; set; }
///
/// 权限标识
///
[MaxLength(100)]
[SugarColumn(ColumnDescription = "权限标识", IsNullable = true)]
public string Permission { get; set; }
///
/// 应用分类(应用编码)
///
[MaxLength(50)]
[SugarColumn(ColumnDescription = "应用分类(应用编码)", IsNullable = true)]
public string Application { get; set; }
///
/// 打开方式(字典 0无 1组件 2内链 3外链)
///
[SugarColumn(ColumnDescription = "打开方式(字典 0无 1组件 2内链 3外链)")]
public int OpenType { get; set; } = 0;
///
/// 是否可见(Y-是,N-否)
///
[MaxLength(5)]
[SugarColumn(ColumnDescription = "是否可见(Y-是,N-否)", IsNullable = true)]
public string Visible { get; set; } = "Y";
///
/// 内链地址
///
[MaxLength(100)]
[SugarColumn(ColumnDescription = "内链地址", IsNullable = true)]
public string Link { get; set; }
///
/// 重定向地址
///
[MaxLength(100)]
[SugarColumn(ColumnDescription = "重定向地址", IsNullable = true)]
public string Redirect { get; set; }
///
/// 权重(字典 1系统权重 2业务权重)
///
[SugarColumn(ColumnDescription = "权重(字典 1系统权重 2业务权重)")]
public int Weight { get; set; } = 2;
///
/// 排序
///
[SugarColumn(ColumnDescription = "排序")]
public int Sort { get; set; } = 100;
///
/// 备注
///
[MaxLength(100)]
[SugarColumn(ColumnDescription = "备注", IsNullable = true)]
public string Remark { get; set; }
///
/// 状态(字典 0正常 1停用 2删除)
///
[SugarColumn(ColumnDescription = "状态(字典 0正常 1停用 2删除)")]
public CommonStatus Status { get; set; } = CommonStatus.ENABLE;
}