package com.muchinfo.mtp3pojos.vo.query.contract;

import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.ColumnWidth;
import com.muchinfo.mtp3pojos.exportconverter.BuildTypeConverter;
import com.muchinfo.mtp3pojos.exportconverter.BuyOrSellConverter;
import com.muchinfo.mtp3pojos.exportconverter.TradeTypeConverter;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.math.BigDecimal;
import java.util.Date;

@Builder
@Data
@AllArgsConstructor
@NoArgsConstructor
@ApiModel(value = "ContractSheetParam对象", description = "成交单查询响应 /成交单导出(掉期)")
public class ContractSheetResult {

    @ExcelProperty("成交单号")
    @ColumnWidth(30)
    @ApiModelProperty(value = "成交单号")
    private String tradeid;

    @ExcelProperty("登录账号")
    @ColumnWidth(20)
    @ApiModelProperty(value = "登录账号")
    private String loginid;

    @ExcelProperty("资金账户")
    @ColumnWidth(20)
    @ApiModelProperty(value = "资金账户")
    private String accountid;

    @ExcelProperty("账户")
    @ColumnWidth(20)
    @ApiModelProperty(value = "账户")
    private String currentname;

    @ExcelProperty("所属会员")
    @ColumnWidth(20)
    @ApiModelProperty(value = "所属会员")
    private String membername;

    @ExcelProperty("商品代码/名称")
    @ColumnWidth(20)
    @ApiModelProperty(value = "商品代码/名称")
    private String goodsCodeName;

    @ExcelProperty(value = "方向", converter = BuyOrSellConverter.class)
    @ColumnWidth(20)
    @ApiModelProperty(value = "方向")
    private Integer buyorsell;

    @ExcelProperty(value = "类型", converter = BuildTypeConverter.class)
    @ColumnWidth(20)
    @ApiModelProperty(value = "类型")
    private Integer buildtype;

    @ExcelProperty(value = "成交类别", converter = TradeTypeConverter.class)
    @ColumnWidth(20)
    @ApiModelProperty(value = "成交类别")
    private Integer tradetype;

    @ExcelProperty("成交价格")
    @ColumnWidth(20)
    @ApiModelProperty(value = "成交价格")
    private BigDecimal tradeprice;

    @ExcelProperty("点差")
    @ColumnWidth(20)
    @ApiModelProperty(value = "点差 tradeMode = 46")
    private BigDecimal marketmaxsub;

    @ExcelProperty("成交数量")
    @ColumnWidth(20)
    @ApiModelProperty(value = "成交数量")
    private Integer tradeqty;

    @ExcelProperty("成交金额")
    @ColumnWidth(20)
    @ApiModelProperty(value = "成交金额")
    private BigDecimal tradeamount;

    @ExcelProperty("手续费")
    @ColumnWidth(20)
    @ApiModelProperty(value = "手续费")
    private BigDecimal chargevalue;

    @ExcelProperty("转让损益")
    @ColumnWidth(20)
    @ApiModelProperty(value = "转让损益")
    private BigDecimal closepl;

    @ExcelProperty("成交时间")
    @ColumnWidth(20)
    @ApiModelProperty(value = "成交时间")
    private Date tradetime;

    @ApiModelProperty(value = "查询类型 1历史 0当前")
    private Integer ishis;

    private String goodscode;
}
