package com.bizzan.bitrade.entity;

import com.bizzan.bitrade.constant.BooleanEnum;

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

import javax.persistence.*;
import javax.validation.constraints.NotNull;

import java.io.Serializable;
import java.math.BigDecimal;

@Entity
@Data
@Table
public class ExchangeCoin implements Serializable {
	private static final Long serialVersionUID = 102L;

    @GeneratedValue(strategy = GenerationType.IDENTITY)
    @Id
    private Long id; 

    private String symbol;//交易币种名称，格式：BTC/USDT
    private String coinSymbol;// 交易币种符号，如BTC
    private String baseSymbol;// 结算币种符号，如USDT

    private int coinScale;//交易币小数精度
    private int baseCoinScale;//基币小数精度
    
    private Integer enable;

    @ApiModelProperty(value = "买手续费")
    private BigDecimal fee;
    
    @ApiModelProperty(value = "卖手续费")
    private BigDecimal sellFee;

    @ApiModelProperty(value = "排列顺序")
    private Integer sort;

    @ApiModelProperty(value = "是否启用市价买")
    private Integer enableMarketBuy;

    @ApiModelProperty(value = "是否启用市价卖")
    private Integer enableMarketSell;

    @ApiModelProperty(value = "最低挂单卖价")
    private BigDecimal minSellPrice;

    @ApiModelProperty(value = "默认为0，1表示推荐")
    private Integer flag;

    @ApiModelProperty(value = "最大允许同时交易的订单数，0表示不限制")
    private Integer maxTradingOrder;

    @ApiModelProperty(value = "委托超时自动下架时间，单位为秒，0表示不过期")
    private Integer maxTradingTime;

    @ApiModelProperty(value = "交易类型，B2C2特有")
    private String instrument;

    @ApiModelProperty(value = "最小挂单成交额")
    private BigDecimal minTurnover;

    @ApiModelProperty(value = "最大下单量")
    private BigDecimal maxVolume;

    @ApiModelProperty(value = "最小下单量")
    private BigDecimal minVolume;

    private Integer zone;

    @ApiModelProperty(value = "清盘时间")
    private String clearTime;

    @ApiModelProperty(value = "结束时间")
    private String endTime;

    @ApiModelProperty(value = " 分摊发行价格")
    private BigDecimal publishPrice;

    @ApiModelProperty(value = "发行活动类型 1:无活动,2:抢购发行,3:分摊发行")
    private Integer publishType;

    @ApiModelProperty(value = "开始时间")
    private String startTime;

    @ApiModelProperty(value = " 是否可交易")
    private Integer exchangeable;

    @ApiModelProperty(value = " 活动发行数量")
    private BigDecimal publishAmount;

    @ApiModelProperty(value = " 前台可见状态")
    private Integer visible;

    @ApiModelProperty(value = "最高买单价")
    private BigDecimal maxBuyPrice;

    @ApiModelProperty(value = "机器人类型")
    private Integer robotType;

    @ApiModelProperty(value = "是否允许买")
    private Integer enableBuy;

    @ApiModelProperty(value = "是否允许卖")
    private Integer enableSell;
}
