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

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;
import java.util.List;

@Builder
@Data
@AllArgsConstructor
@NoArgsConstructor
@ApiModel(value = "ContractSheetResultDetail对象", description = "详情返回")
public class ContractSheetResultDetail {
    @ApiModelProperty(value = "成交单号")
    private String tradeid;

    @ApiModelProperty(value = "交易模式")
    private Integer trademode;

    @ApiModelProperty(value = "成交日")
    private String tradedate;

    @ApiModelProperty(value = "账户id")
    private Long accountid;

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

    @ApiModelProperty(value = "账户名称")
    private String accountname;

    @ApiModelProperty(value = "类型")
    private Integer tradetype;

    @ApiModelProperty(value = "委托单号")
    private String orderid;

    @ApiModelProperty(value = "所属机构")
    private String parentusername;

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

    @ApiModelProperty(value = "商品名称")
    private String goodsname;

    @ApiModelProperty(value = "商品代码")
    private String goodscode;

    @ApiModelProperty(value = "成交单类型")
    private Integer buildtype;

    @ApiModelProperty(value = "方向")
    private Integer buyorsell;

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

    @ApiModelProperty(value = "期权类型")
    private Integer optiontype;

    @ApiModelProperty(value = "是否确认行权")
    private Integer isconfirmexercise;

    @ApiModelProperty(value = "定货金")
    private BigDecimal premium;

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

    @ApiModelProperty(value = "商品id")
    private Long goodsid;

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

    @ApiModelProperty(value = "平仓盈亏")
    private BigDecimal closepl;

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

    @ApiModelProperty(value = "对手账户id")
    private Long matchaccountid;

    @ApiModelProperty(value = "对手账户名称")
    private String matchaccountname;

    @ApiModelProperty(value = "参考商品")
    private Long refgoodsid;

    @ApiModelProperty(value = "掉期天数")
    private String swapdays;

    @ApiModelProperty(value = "建仓手续费")
    private BigDecimal opencharge;

    @ApiModelProperty(value = "收取方式")
    private Integer openfeealgorithm;

    @ApiModelProperty(value = "开仓交易所手续费设置值")
    private BigDecimal openexchagechargevalue;

    @ApiModelProperty(value = "开仓会员手续费设置值")
    private BigDecimal openmemberchargevalue;

    @ApiModelProperty(value = "平仓手续费")
    private BigDecimal closecharge;

    @ApiModelProperty(value = "收取方式")
    private Integer closefeealgorithm;

    @ApiModelProperty(value = "平仓交易所手续费设置值")
    private BigDecimal closeexchagechargevalue;

    @ApiModelProperty(value = "平仓会员手续费设置值")
    private BigDecimal closememberchargevalue;

    @ApiModelProperty(value = "平仓数量")
    private Integer closeqty;

    @ApiModelProperty(value = "开仓数量")
    private Integer openqty;

    private Integer tradetype3;

    private Integer nameType;

    private List<ContractTradeResult> resultList;
}
