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

import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.ColumnWidth;
import com.muchinfo.mtp3pojos.exportconverter.BuyOrSellConverter;
import com.muchinfo.mtp3pojos.exportconverter.HandleStatusConverter;
import com.muchinfo.mtp3pojos.exportconverter.ListTypeConverter;
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 = "WarehouseContractResult对象", description = "仓单类--成交单查询响应")
public class WarehouseContractResult {

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

    @ExcelProperty("委托单号")
    @ColumnWidth(20)
    @ApiModelProperty(value = "成交单号")
    private Long wrtradedetailid;

    @ExcelProperty("会员或交易商")
    @ColumnWidth(20)
    @ApiModelProperty(value = "会员或交易商")
    private String userid;

    @ExcelProperty("市场")
    @ColumnWidth(20)
    @ApiModelProperty(value = "市场")
    private String marketname;

    @ExcelProperty(value = "委托类型", converter = ListTypeConverter.class)
    @ColumnWidth(20)
    @ApiModelProperty(value = "委托类型")
    private String wrtradetype;

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

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

    @ExcelProperty("属性")
    @ColumnWidth(20)
    @ApiModelProperty(value = "属性")
    private String wrfactortypename;

    @ExcelProperty("数量")
    @ColumnWidth(20)
    @ApiModelProperty(value = "数量 ")
    private String orderqtyname;

    @ExcelProperty("实际数量")
    @ColumnWidth(20)
    @ApiModelProperty(value = "实际数量 ")
    private String realtradeqtyname;

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

    @ExcelProperty("实际金额")
    @ColumnWidth(20)
    @ApiModelProperty(value = "实际金额 ")
    private BigDecimal realtradeamount;

    @ExcelProperty("履约编号")
    @ColumnWidth(20)
    @ApiModelProperty(value = "履约编号")
    private Long performanceplanid;

    @ExcelProperty(value = "方向", converter = HandleStatusConverter.class)
    @ColumnWidth(20)
    @ApiModelProperty(value = "履约状态")
    private Integer handlestatus;

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

    @ExcelProperty("交易日")
    @ColumnWidth(20)
    @ApiModelProperty(value = "交易日")
    private String tradedate;

    private Integer ishis;

    private String wrstandardcode;
}
