package com.storlead.system.pojo.entity;

import com.alibaba.fastjson.annotation.JSONField;
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 com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.storlead.framework.mybatis.entity.SysBaseField;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.time.LocalDateTime;

@Data
@TableName("menu")
public class MenuEntity extends SysBaseField {

    private static final long serialVersionUID = 1L;

    @TableId(value = "id",type = IdType.AUTO)
    @ApiModelProperty(value = "菜单资源ID")
    private Long id;

    @ApiModelProperty(value = "菜单名称")
    private String  menuName;

    @ApiModelProperty(value = "父级ID(仅type=1时为0 或>1时 为其对应上级菜单ID)")
    private Long pid;

    @ApiModelProperty(value = "所属服务: 0：主应用，10：智能贸易，20：销售，30：otr，40：工资，50：项目，60：领存平台")
    private Long appId;

    @ApiModelProperty(value = "菜单的请求路径")
    private String path;

    @ApiModelProperty(value = "UI组件路径")
    private String component;

    @ApiModelProperty(value = "UI路由名称")
    private String routerName;

    @ApiModelProperty(value = "UI菜单的图标")
    private String icon;

    @ApiModelProperty(value = "菜单类型(1:目录 2:菜单 3:按钮 4:快捷方式(左侧菜单不显示))")
    private Integer menuType;

    @ApiModelProperty(value = "所属服务类型: 0 ,后端，1：移动端")
    private Integer serviceModeType;

    @ApiModelProperty(value = "权限标识")
    private String perms;

    @ApiModelProperty(value = "是否隐藏(0:否 1:是)[默认0]")
    private Boolean visible;

    @ApiModelProperty(value = "是否为外链（0是 1否）")
    private Integer isFrame;

    @ApiModelProperty(value = "是否缓存（0缓存 1不缓存）")
    private Integer isCache;

    @ApiModelProperty(value = "备注")
    private String remark;

    @ApiModelProperty(value = "菜单CODE")
    private String menuCode;

//    @ApiModelProperty(value = "显示位置: 0：哪里都不显示，1：tabbar 显示,2: 首页显示，3：工作台显示：tab显示")
//    private Integer menuShowPosition;
}
