package com.muchinfo.mtp3pojos.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.*;
import lombok.experimental.Accessors;

import java.io.Serializable;

/**
 * <p>
 * 功能菜单表
 * </p>
 *
 * @author XKF
 * @since 2024-04-10
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("FUNCMENULIST")
@ApiModel(value="Funcmenulist对象", description="功能菜单表")
@AllArgsConstructor
@NoArgsConstructor
@Builder
public class Funcmenulist extends Model<Funcmenulist> implements Serializable{

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "资源代码 ")
    @TableField("RESOURCECODE")
    private String resourcecode;

    @ApiModelProperty(value = "资源名(Title)")
    @TableField("RESOURCENAME")
    private String resourcename;

    @ApiModelProperty(value = "级别 1-一级 2-二级 3-三级4-四级")
    @TableField("RESOURCELEVEL")
    private Integer resourcelevel;

    @ApiModelProperty(value = "菜单类型 - 1:管理端 2:PC(C#) 3:移动(云平台) 4:终端(交易所) 5:PC(云平台)")
    @TableField("MENUTYPE")
    private Integer menutype;

    @ApiModelProperty(value = "上级资源代码")
    @TableField("PARENTCODE")
    private String parentcode;

    @ApiModelProperty(value = "Url")
    @TableField("URL")
    private String url;

    @ApiModelProperty(value = "排序")
    @TableField("SORT")
    private Integer sort;

    @ApiModelProperty(value = "菜单图标")
    @TableField("ICONAME")
    private String iconame;

    @ApiModelProperty(value = "Remark")
    @TableField("REMARK")
    private String remark;

    @ApiModelProperty(value = "权限类型 - 1:菜单 2:组件 3:按钮")
    @TableField("AUTHTYPE")
    private Integer authtype;

    @ApiModelProperty(value = "地址类型 - 1:路由 2:外链 3:内联框架")
    @TableField("URLTYPE")
    private Integer urltype;

    @ApiModelProperty(value = "组件名或组件地址")
    @TableField("COMPONENT")
    private String component;

    @ApiModelProperty(value = "按钮类型 - 存按钮样式")
    @TableField("BUTTONTYPE")
    private String buttontype;

    @ApiModelProperty(value = "是否隐藏 - 1:显示 0:隐藏 ")
    @TableField("HIDDEN")
    private Integer hidden;

    @ApiModelProperty(value = "按钮名称")
    @TableField("BUTTONNAME")
    private String buttonname;


    @Override
    public Serializable pkVal() {
        return this.resourcecode;
    }

}
