peter
2025-06-25 252184b1fff1b75e24032973996bfdc5b6126cb0
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
package com.yami.trading.bean.future.dto;
 
import javax.validation.constraints.DecimalMin;
import javax.validation.constraints.NotNull;
import java.math.BigDecimal;
import java.math.RoundingMode;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.yami.trading.common.dto.BaseDTO;
import com.yami.trading.common.query.Query;
import com.yami.trading.common.query.QueryType;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
 * 交割合约管理DTO
 * @author lucas
 * @version 2023-04-08
 */
@Data
@EqualsAndHashCode(callSuper = false)
public class FuturesParaDTO{
 
    private String uuid;
 
    @NotNull(message = "请选择合约代码")
    private String symbol;
 
    @NotNull(message = "时间必填")
    @DecimalMin(value = "1", message = "时间不能小于等于0")
    private Integer timenum;
    /**
     * TIMEUNIT
     */
    @NotNull(message = "请选择时间单位")
    private String timeunit;
    /**
     * UNIT_AMOUNT
     */
    @NotNull(message = "每手金额必填")
    @DecimalMin(value = "0.0001",  message = "每手金额不能小于等于0")
    private BigDecimal unitAmount;
    /**
     * UNIT_MAX_AMOUNT
     */
    //@NotNull(message = "最高购买金额必填")
    //@DecimalMin(value = "0.0001",  message = "最高购买金额不是浮点数")
    private BigDecimal unitMaxAmount;
    /**
     * PROFIT_RATIO
     */
    @NotNull(message = "最小收益率不是浮点数")
    @DecimalMin(value = "0.00001",  message = "最小收益率不能小于等于0")
    private BigDecimal profitRatio;
    /**
     * UNIT_FEE
     */
    private BigDecimal unitFee;
    /**
     * PROFIT_RATIO_MAX
     */
    @NotNull(message = "最大收益率必填")
    @DecimalMin(value = "0.00001",  message = "最大收益率不能小于等于0")
    private BigDecimal profitRatioMax;
 
    @NotNull(message = "资金密码")
    private String loginSafeword;
 
    public void mutiply(){
        this.setProfitRatio(profitRatio.multiply(BigDecimal.valueOf(100)));
        this.setProfitRatioMax(profitRatioMax.multiply(BigDecimal.valueOf(100)));
        this.setUnitFee(unitFee.multiply(BigDecimal.valueOf(100)));
    }
 
 
    public void divide(){
        this.setProfitRatio(profitRatio.divide(BigDecimal.valueOf(100), 2, RoundingMode.HALF_UP));
        this.setProfitRatioMax(profitRatioMax.divide(BigDecimal.valueOf(100),2, RoundingMode.HALF_UP));
        this.setUnitFee(unitFee.divide(BigDecimal.valueOf(100),2, RoundingMode.HALF_UP));
    }
 
}