package com.simuwang.base.pojo.dos;

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 lombok.Data;

import java.util.Date;

/**
 * FileName: SysMenuDO
 * Author:   chenjianhua
 * Date:     2024/9/8 12:45
 * Description: ${DESCRIPTION}
 */
@Data
@TableName("sys_menu")
public class SysMenuDO
{
    /** 菜单ID */
    @TableId(value = "menu_id",type = IdType.AUTO)
    private Long menuId;

    /** 菜单名称 */
    @TableId(value = "menu_name")
    private String menuName;

    /** 父菜单ID */
    @TableId(value = "parent_id")
    private Long parentId;

    /** 显示顺序 */
    @TableId(value = "order_num")
    private Integer orderNum;

    /** 路由地址 */
    @TableId(value = "path")
    private String path;

    /** 组件路径 */
    @TableId(value = "component")
    private String component;

    /** 路由参数 */
    @TableId(value = "query")
    private String query;

    /** 是否为外链（0是 1否） */
    @TableId(value = "is_frame")
    private String isFrame;

    /** 是否缓存（0缓存 1不缓存） */
    @TableId(value = "is_cache")
    private String isCache;

    /** 类型（M目录 C菜单 F按钮） */
    @TableId(value = "menu_type")
    private String menuType;

    /** 显示状态（0显示 1隐藏） */
    @TableId(value = "visible")
    private String visible;
    
    /** 菜单状态（0正常 1停用） */
    @TableId(value = "status")
    private String status;

    /** 权限字符串 */
    @TableId(value = "perms")
    private String perms;

    /** 菜单图标 */
    @TableId(value = "icon")
    private String icon;
    /** 备注 */
    @TableId(value = "remark")
    private String remark;
    /**
     * 创建者Id;第一次创建时与Creator值相同，修改时与修改人值相同
     */
    @TableField(value = "creatorid")
    private Integer creatorId;
    /**
     * 修改者Id;第一次创建时与Creator值相同，修改时与修改人值相同
     */
    @TableField(value = "updaterid")
    private Integer updaterId;
    /**
     * 创建时间,默认第一次创建的getdate()时间
     */
    @TableField(value = "createtime")
    private Date createTime;
    /**
     * 修改时间;第一次创建时与CreatTime值相同，修改时与修改时间相同
     */
    @TableField(value = "updatetime")
    private Date updateTime;
}
