/*
 * Author: wangjian
 * 生成entity
 */
package com.tofly.base.entity;

import com.baomidou.mybatisplus.annotation.*;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.tofly.common.core.annotation.Excel;
import com.tofly.common.core.constant.ToflySqlCondition;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springframework.format.annotation.DateTimeFormat;

import java.util.Date;

/**
 * 菜单表
 *
 * @author wangjian
 * @date Mon Oct 21 00:00:00 CST 2019
 */
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("TF_SMPN_MENU_X")
@KeySequence("TF_SMPN_MENU_X")
@ApiModel
public class Menu extends Model<Menu> {
    private static final long serialVersionUID = 1L;

        /**
     * 菜单ID，主键
     */
        @TableId(value = "ID",type= IdType.INPUT)
        @ApiModelProperty(value = "菜单ID，主键")
            private Long id;
        /**
     * 菜单名称
     */
        @ApiModelProperty(value = "菜单名称")
        @TableField(condition = ToflySqlCondition.LIKE)
        @Excel(name="name")
            private String name;
        /**
     * 菜单权限标识（保留字段）
     */
        @ApiModelProperty(value = "菜单权限标识（保留字段）")
            private String permission;
        /**
     * 前端URL
     */
        @ApiModelProperty(value = "前端URL")
        @Excel(name="path")
            private String path;
        /**
     * 父菜单ID
     */
        @ApiModelProperty(value = "父菜单ID")
        @Excel(name="parentId")
            private Long parentId;
        /**
     * 默认图标
     */
        @ApiModelProperty(value = "默认图标")
        @Excel(name="icon")
            private String icon;
        /**
     * 排序
     */
        @ApiModelProperty(value = "排序")
        @Excel(name="sort")
            private Integer sort;
        /**
     * 开启关闭 1开启，0关闭
     */
        @ApiModelProperty(value = "开启关闭 1开启，0关闭")
        @Excel(name="keepAlive")
            private String keepAlive;
        /**
     * 菜单类型 0菜单 1功能 2按钮
     */
        @ApiModelProperty(value = "菜单类型 0菜单 1功能 2按钮")
        @Excel(name="type")
            private String type;
        /**
     * 创建时间
     */
        @ApiModelProperty(value = "创建时间")
        @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
            @TableField(value = "CREATE_TIME",fill = FieldFill.INSERT)
        private Date createTime;
        /**
     * 修改时间
     */
        @ApiModelProperty(value = "修改时间")
        @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
            @TableField(value = "UPDATE_TIME",fill = FieldFill.INSERT_UPDATE)
        private Date updateTime;
        /**
     * 是否启用禁用 1启用，0禁用
     */
        @ApiModelProperty(value = "是否启用禁用 1启用，0禁用")
        @Excel(name="statusFlag")
            private String statusFlag;
        /**
     * 菜单编码（自定义菜单）
     */
        @ApiModelProperty(value = "菜单编码（自定义菜单）")
        @Excel(name="code")
            private String code;
        /**
     * 鼠标经过图标
     */
        @ApiModelProperty(value = "鼠标经过图标")
        @Excel(name="mouseIcon")
            private String mouseIcon;
        /**
     * 是否放置在模板内  1放置在模板内，0不放置。
     */
        @ApiModelProperty(value = "是否放置在模板内  1放置在模板内，0不放置。")
        @Excel(name="inpanel")
            private String inpanel;
        /**
     * 放置模板
     */
        @ApiModelProperty(value = "放置模板")
        @Excel(name="panel")
            private String panel;
        /**
     * 是否跟随系统启动 1启动 2不启动
     */
        @ApiModelProperty(value = "是否跟随系统启动 1启动 2不启动")
        @Excel(name="autorun")
            private String autorun;
        /**
     * 所属子系统
     */
        @ApiModelProperty(value = "所属子系统")
        @Excel(name="sysId")
            private Long sysId;
        /**
     * 创建人
     */
        @ApiModelProperty(value = "创建人")
            @TableField(value = "CREATE_USER",fill = FieldFill.INSERT)
        private Long createUser;
    
}
