Helius
2021-05-13 1b44a9a25a51324dba8e8640cb405440f2cf7d48
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
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-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);
    }
}