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

import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.ColumnWidth;
import com.muchinfo.mtp3pojos.exportconverter.BuyOrSellConverter;
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;

@Builder
@Data
@AllArgsConstructor
@NoArgsConstructor
@ApiModel(value = "PositionSumSheetResult对象", description = "持仓单汇总查询响应")
public class PositionSumSheetResult {

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

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

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

    @ExcelProperty("买持仓总数量")
    @ColumnWidth(20)
    @ApiModelProperty(value = "买持仓总数量")
    private Integer buycurpositionqty;

    @ExcelProperty("买持仓总金额")
    @ColumnWidth(20)
    @ApiModelProperty(value = "买持仓总金额")
    private BigDecimal buycurholderamount;

    @ExcelProperty("买持仓均价")
    @ColumnWidth(20)
    @ApiModelProperty(value = "买持仓均价")
    private BigDecimal buycuravgprice;

    @ExcelProperty("持仓损益(买)")
    @ColumnWidth(20)
    @ApiModelProperty(value = "持仓损益(买)")
    private BigDecimal buyFloatPL;

    @ExcelProperty("卖持仓总数量")
    @ColumnWidth(20)
    @ApiModelProperty(value = "卖持仓总数量")
    private Integer sellcurpositionqty;

    @ExcelProperty("卖持仓总金额")
    @ColumnWidth(20)
    @ApiModelProperty(value = "卖持仓总金额")
    private BigDecimal sellcurholderamount;

    @ExcelProperty("卖持仓均价")
    @ColumnWidth(20)
    @ApiModelProperty(value = "卖持仓均价")
    private BigDecimal sellcuravgprice;

    @ExcelProperty("持仓损益(卖)")
    @ColumnWidth(20)
    @ApiModelProperty(value = "持仓损益(卖)")
    private BigDecimal sellFloatPL;

    @ExcelProperty("净持仓量")
    @ColumnWidth(20)
    @ApiModelProperty(value = "净持仓量")
    private Integer qty;

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

    @ExcelProperty("持仓损益(总)")
    @ColumnWidth(20)
    @ApiModelProperty(value = "持仓损益(总)")
    private BigDecimal floatPL;

    private String goodscode;

    private BigDecimal agreeunit;
}
