KKSU
2024-04-17 829f629756e5402bcd3e9f6ef1f9c6dbffbabb11
src/main/java/com/xcong/excoin/modules/contract/parameter/vo/OrderDetailVo.java
@@ -1,11 +1,135 @@
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-01
 * @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);
    }
}