package cn.sh.stc.sict.cloud.upms.model;

import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModelProperty;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.io.Serializable;
import java.util.Date;

/**
 * 系统菜单表
 *
 * @author F_xh
 * @date 2021-01-07 09:26:00
 */
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("hp_menu")
public class HpMenu extends Model<HpMenu> {
    private static final long serialVersionUID = 1L;

    /**
     *
     */
    @TableId
    @ApiModelProperty(value = "")
    private Long id;
    /**
     * 模块名称
     */
    @ApiModelProperty(value = "模块名称")
    private String moduleName;
    /**
     *
     */
    @ApiModelProperty(value = "")
    private Long parentId;
    /**
     * 菜单名称
     */
    @ApiModelProperty(value = "菜单名称")
    private String name;
    /**
     * 排序
     */
    @ApiModelProperty(value = "排序")
    private Integer sortIdx;
    /**
     * 请求接口地址
     */
    @ApiModelProperty(value = "请求接口地址")
    private String apiUri;

    @ApiModelProperty(value = "前端路径")
    private String path;

    @ApiModelProperty(value = "是否缓存")
    private Boolean keepAlive;

    @ApiModelProperty(value = "component")
    private String component;
    /**
     * 菜单路由
     */
    @ApiModelProperty(value = "菜单路由")
    private String route;
    /**
     * 菜单类型：1-目录，2-菜单，3-按钮
     */
    @ApiModelProperty(value = "菜单类型：1-目录，2-菜单，3-按钮")
    private Byte menuType;
    /**
     * 权限标识
     */
    @ApiModelProperty(value = "权限标识")
    private String perms;
    /**
     * 菜单状态：0-显示，1-隐藏
     */
    @ApiModelProperty(value = "菜单状态：0-显示，1-隐藏")
    private Byte status;
    /**
     * 图标
     */
    @ApiModelProperty(value = "图标")
    private String icon;
    /**
     * 备注
     */
    @ApiModelProperty(value = "备注")
    private String note;
    /**
     *
     */
    @TableField(fill = FieldFill.INSERT)
    @ApiModelProperty(hidden = true, value = "")
    private Long createUserId;
    /**
     *
     */
    @TableField(fill = FieldFill.INSERT)
    @ApiModelProperty(hidden = true, value = "")
    private String createUserName;
    /**
     *
     */
    @TableField(fill = FieldFill.INSERT)
    @ApiModelProperty(hidden = true, value = "")
    private Date createTime;
    /**
     *
     */
    @TableField(fill = FieldFill.UPDATE)
    @ApiModelProperty(hidden = true, value = "")
    private Long updateUserId;
    /**
     *
     */
    @TableField(fill = FieldFill.UPDATE)
    @ApiModelProperty(hidden = true, value = "")
    private String updateUserName;
    /**
     *
     */
    @TableField(fill = FieldFill.UPDATE)
    @ApiModelProperty(hidden = true, value = "")
    private Date updateTime;

    /**
     * 主键值
     */
    @Override
    protected Serializable pkVal() {
        return this.id;
    }
}
