package com.fzm.mall.server.admin.home_page.model;

import com.baomidou.mybatisplus.annotation.*;

import java.io.Serializable;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

/**
 * @author wangp
 * @date 2021/3/2 13:42
 * @description 商户
 * @since JDK 1.8
 */
@Data
@EqualsAndHashCode(callSuper = false)
@ApiModel(value = "Merchant对象", description = "")
@TableName("merchant")
public class Merchant implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "自增主键")
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    @ApiModelProperty(value = "商户号")
    private String merchantId;

    @ApiModelProperty(value = "前缀")
    private String prefix;

    @ApiModelProperty(value = "注册手机号")
    private String registerPhone;

    @ApiModelProperty(value = "注册区域")
    private String registerArea;

    @ApiModelProperty(value = "申请人联系方式")
    private String applyPhone;

    @ApiModelProperty(value = "申请人姓名")
    private String applyName;

    @ApiModelProperty(value = "申请人身份证号")
    private String idCard;

    @ApiModelProperty(value = "申请人证件照_正面")
    private String frontCardImg;

    @ApiModelProperty(value = "申请人证件照_反面")
    private String afterCardImg;

    @ApiModelProperty(value = "申请人邮寄地址")
    private String postAddress;

    @ApiModelProperty(value = "商户类型(1-个人 2-企业)")
    private Integer type;

    @ApiModelProperty(value = "企业名称")
    private String enterpriseName;

    @ApiModelProperty(value = "社会统一信用码")
    private String creditCode;

    @ApiModelProperty(value = "营业执照")
    private String businessLicense;

    @ApiModelProperty(value = "TOKEN发行地址")
    private String tokenIssueAddr;

    @ApiModelProperty(value = "TOKEN回收地址")
    private String tokenRecoverAddr;

    @ApiModelProperty(value = "商户通证地址")
    private String externalTokenAddr;

    @ApiModelProperty(value = "商户通证地址二维码")
    private String qrUrl;

    @ApiModelProperty(value = "nft地址")
    private String nftAddr;

    @ApiModelProperty(value = "发行地址私钥")
    private String issueAddrKey;

    @ApiModelProperty(value = "状态(0-正常 1-锁定 2-待完善 3-审核中 4-审核失败 5-待缴费 6-缴费失败 7-完成)")
    private Integer status;

    @ApiModelProperty(value = "是否删除(0--否 1--是 )")
    @TableField("is_delete")
    private Integer del;

    @ApiModelProperty(value = "延迟提货(0--否 1--是)")
    private Integer delayDelivery;

    @ApiModelProperty(value = "审核成功或失败原因")
    private String reason;

    @ApiModelProperty(value = "最新登录时间")
    private Long lastLogin;

    @ApiModelProperty(value = "创建时间")
    @TableField(fill = FieldFill.INSERT)
    private Long createTime;

    @ApiModelProperty(value = "更新时间")
    @TableField(fill = FieldFill.INSERT_UPDATE)
    private Long updateTime;

    public Merchant() {
    }

    public Merchant(String merchantId, String prefix, String registerPhone, String enterpriseName, Integer status, Integer del) {
        this.merchantId = merchantId;
        this.prefix = prefix;
        this.registerPhone = registerPhone;
        this.enterpriseName = enterpriseName;
        this.status = status;
        this.del = del;
    }
}
