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

import java.math.BigDecimal;

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/4/27 16:06
 * @description 积分
 * @since JDK 1.8
 */
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("merchant_integral")
@ApiModel(value = "MerchantIntegral", description = "积分")
public class MerchantIntegral extends PlatformIntegral 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 label;

    @ApiModelProperty(value = "名称")
    private String name;

    @ApiModelProperty(value = "标志")
    private String logo;

    @ApiModelProperty(value = "发行量")
    private BigDecimal issueNum;

    @ApiModelProperty(value = "余额")
    private BigDecimal balanceNum;

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

    @ApiModelProperty(value = "描述")
    private String description;

    @ApiModelProperty(value = "商户兑换比例基（分子）")
    private Integer merchantRatio;

    @ApiModelProperty(value = "平台兑换比例基（分母）")
    private Integer baseRatio;

    @ApiModelProperty(value = "类别（1.商户积分 2.平台积分）")
    private Integer type;

    @ApiModelProperty(value = "状态（0.删除 1.发行中 2.发行失败 3.待审核 4.可用 5.禁用）")
    private Integer status;

    @ApiModelProperty(value = "审核失败原因")
    private String failReason;

    @ApiModelProperty(value = "发行错误信息")
    private String errMsg;

    @ApiModelProperty(value = "是否删除（0.否 1.是）")
    @TableField("is_delete")
    private Integer isDel;

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

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


}
