zbb378@sohu.com
2024-11-04 b2bad51be3c8d3e78d7f81a19415faeac2d0297c
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
package com.nova.sankuai.domain.api.hengyidai.response;
 
import com.nova.sankuai.domain.vo.capitalflow.CapitalRepayPlanDetailVo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
 
@Data
@ApiModel("还款计划响应参数")
public class HyGetRepayPlanResponse {
 
    @ApiModelProperty(value = "待还款")
    public static Integer STATUS_WAIT = 801;
    @ApiModelProperty(value = "已还款")
    public static Integer STATUS_REPAID = 802;
    @ApiModelProperty(value = "还款中")
    public static Integer STATUS_IN_REPAY = 804;
    @ApiModelProperty(value = "已逾期")
    public static Integer STATUS_OVERDUE = 805;
 
    @ApiModelProperty("进件单号")
    private String orderNo;
 
    @ApiModelProperty("总期数")
    private Integer totalPeriodNum;
 
    @ApiModelProperty("当前期数")
    private Integer periodNum;
 
    @ApiModelProperty("应还总金额")
    private Long totalRepayAmount;
 
    @ApiModelProperty("应还本金")
    private Long repayPrincipalAmount;
 
    @ApiModelProperty("应还利息")
    private Long repayInterestAmount;
 
    @ApiModelProperty("应还罚息")
    private Long repayPenaltyAmount;
 
    @ApiModelProperty("应还其他费用")
    private Long repayOtherAmount;
 
    @ApiModelProperty("应还款时间")
    private String repayTime;
 
    @ApiModelProperty("成功还款时间")
    private String successRepayTime;
 
    @ApiModelProperty("还款类型")
    private Integer repayType;
 
    @ApiModelProperty("还款状态")
    private Integer status;
 
    public CapitalRepayPlanDetailVo parseVo() {
        CapitalRepayPlanDetailVo capitalRepayPlanDetailVo = new CapitalRepayPlanDetailVo();
        capitalRepayPlanDetailVo.setPeriodNum(this.periodNum);
        capitalRepayPlanDetailVo.setTotalRepayAmount(this.totalRepayAmount);
        capitalRepayPlanDetailVo.setRepayPrincipalAmount(this.repayPrincipalAmount);
        capitalRepayPlanDetailVo.setRepayInterestAmount(this.repayInterestAmount);
        capitalRepayPlanDetailVo.setRepayPenaltyAmount(this.repayPenaltyAmount);
        capitalRepayPlanDetailVo.setRepayOtherAmount(this.repayOtherAmount);
        capitalRepayPlanDetailVo.setRepayTime(this.repayTime);
        capitalRepayPlanDetailVo.setSuccessRepayTime(this.successRepayTime);
        capitalRepayPlanDetailVo.setStatus(this.status);
        capitalRepayPlanDetailVo.setTotalPeriodNum(this.totalPeriodNum);
        capitalRepayPlanDetailVo.setRemark(parseRemark(this));
        return capitalRepayPlanDetailVo;
    }
 
    private String parseRemark(HyGetRepayPlanResponse response) {
        StringBuilder sb = new StringBuilder();
        if (response.getRepayPrincipalAmount() != null) {
            sb.append("本金" + parseAmount(response.getRepayPrincipalAmount()));
        }
        if (response.getRepayInterestAmount() != null) {
            sb.append("+利息" + parseAmount(response.getRepayInterestAmount()));
        }
        if (response.getRepayPenaltyAmount() != null) {
            sb.append("+罚息" + parseAmount(response.getRepayPenaltyAmount()));
 
        }
        if (response.getRepayOtherAmount() != null) {
            sb.append("+其他费用" + parseAmount(response.getRepayOtherAmount()));
        }
        return sb.toString();
    }
 
    private String parseAmount(Long amount) {
        Double value = Double.valueOf(amount) / 100;
        return String.format("%.2f", value);
    }
}