package com.xcong.excoin.modules.contract.parameter.vo; import com.fasterxml.jackson.annotation.JsonFormat; import com.xcong.excoin.utils.CommonUtils; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.math.BigDecimal; import java.util.Date; /** * @author wzy * @date 2020-06-05 **/ @Data @ApiModel(value = "OrderDetailVo", description = "历史委托订单详情接口返回参数类") public class OrderDetailVo { @ApiModelProperty("交易类型 1-市价2-限价") private int tradeType; @ApiModelProperty("仓位类型 1-逐仓 2-全仓") private int positionType; @ApiModelProperty("订单类型 -1撤单,1开多,2开空,3平多,4平空") private int orderType; @ApiModelProperty("订单编号") private String orderNo; @ApiModelProperty("委托开仓价") private BigDecimal entrustOpeningPrice; @ApiModelProperty("委托时间") private Date entrustTime; @ApiModelProperty("币种") private String symbol; @ApiModelProperty("张数") private int symbolCnt; @ApiModelProperty("平仓价") private BigDecimal closingPrice; @ApiModelProperty("平仓手续费") private BigDecimal closingFeeAmount; @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") @ApiModelProperty("平仓时间") private Date closingTime; @ApiModelProperty("平仓类型 2平多3平空4爆仓平多5爆仓平空6止盈平多7止盈平空8止损平多9止损平空") private int closingType; @ApiModelProperty("止损价") private BigDecimal stopLossPrice; @ApiModelProperty("止盈价") private BigDecimal stopProfitPrice; @ApiModelProperty("盈亏金额") private BigDecimal rewardAmount; @ApiModelProperty("盈亏比例") private BigDecimal rewardRatio; @ApiModelProperty("开仓价") private BigDecimal openingPrice; @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") @ApiModelProperty("开仓时间") private Date openingTime; @ApiModelProperty("开仓手续费") private BigDecimal openingFeeAmount; @ApiModelProperty("保证金") private BigDecimal bondAmount; @ApiModelProperty("持仓费") private BigDecimal holdAmount; @ApiModelProperty("杠杆") private int leverRatio; public String getClosingPrice() { return CommonUtils.amountDotFormat(this.symbol, closingPrice); } public String getClosingFeeAmount() { return closingFeeAmount == null ? "" : closingFeeAmount.setScale(2, BigDecimal.ROUND_DOWN).toPlainString(); } public String getRewardAmount() { return rewardAmount == null ? "" : rewardAmount.setScale(2, BigDecimal.ROUND_DOWN).toPlainString(); } public String getOpeningPrice() { return CommonUtils.amountDotFormat(this.symbol, openingPrice); } public String getOpeningFeeAmount() { return openingFeeAmount == null ? "" : openingFeeAmount.setScale(2, BigDecimal.ROUND_DOWN).toPlainString(); } public String getBondAmount() { return bondAmount == null ? "" : bondAmount.setScale(2, BigDecimal.ROUND_DOWN).toPlainString(); } public String getHoldAmount() { return holdAmount == null ? "" : holdAmount.setScale(2, BigDecimal.ROUND_DOWN).toPlainString(); } public String getStopLossPrice() { return CommonUtils.amountDotFormat(this.symbol, stopLossPrice); } public String getStopProfitPrice() { return CommonUtils.amountDotFormat(this.symbol, stopProfitPrice); } public String getEntrustOpeningPrice() { return CommonUtils.amountDotFormat(this.symbol, entrustOpeningPrice); } public void setClosingFeeAmount(BigDecimal closingFeeAmount, BigDecimal feeSpread) { this.closingFeeAmount = closingFeeAmount == null ? closingFeeAmount : closingFeeAmount.multiply(feeSpread).setScale(8, BigDecimal.ROUND_DOWN); } public void setOpeningFeeAmount(BigDecimal openingFeeAmount, BigDecimal feeSpread) { this.openingFeeAmount = openingFeeAmount == null ? openingFeeAmount : openingFeeAmount.multiply(feeSpread).setScale(8, BigDecimal.ROUND_DOWN); } }