Air
2024-11-04 cb3b3801255082c53145bd752230339eae5d3e5a
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
package com.nova.sankuai.domain.api.hengyidai.response;
 
import com.nova.sankuai.domain.vo.capitalflow.CapitalLoanTrialVo;
import com.nova.sankuai.domain.vo.RepayPlanVo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
 
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;
 
@Data
@ApiModel("试算查询响应参数")
public class HyGetTrialInfoResponse {
 
    @ApiModelProperty("进件单号")
    private String orderNo;
 
    @ApiModelProperty("申请金额 单位:分。取的是平台合同金额的值")
    private Long applyAmount;
 
    @ApiModelProperty("申请期数")
    private Integer applyPeriodNum;
 
    @ApiModelProperty("申请期限单位 1:天,2:月,暂时只支持:月")
    private Integer applyPeriodNumUnit;
 
    @ApiModelProperty("实际到账金额 单位:分。取的是平 台的放款金额")
    private Long actualAmount;
 
    @ApiModelProperty("应还总金额 单位:分。")
    private Long totalRepayAmount;
 
    @ApiModelProperty("应还总利息 单位:分。")
    private Long totalInterestAmount;
 
    @ApiModelProperty("应还总服务费 单位:分。")
    private Long totalFeeAmount;
 
    @ApiModelProperty("应还其他总费用 单位:分。默认0")
    private Long totalOtherAmount;
 
    @ApiModelProperty("年化利率 例如:12.23")
    private BigDecimal yearRate;
 
    @ApiModelProperty("金额说明 展示给用户看。如:本金 10000元 , 利 息 600元,服务费 2000")
    private String remark;
 
    @ApiModelProperty("还款计划 按时 间顺序 从早到完,单期产品按 1 期")
    private List<RepayPlans> repayPlans;
 
 
    public static CapitalLoanTrialVo parseVo(HyGetTrialInfoResponse response) {
        CapitalLoanTrialVo capitalLoanTrialVo = new CapitalLoanTrialVo();
        capitalLoanTrialVo.setPeriodNumUnit(response.getApplyPeriodNumUnit());
        capitalLoanTrialVo.setActualAmount(response.getActualAmount());
        capitalLoanTrialVo.setTotalRepayAmount(response.getTotalRepayAmount());
        capitalLoanTrialVo.setTotalFeeAmount(response.getTotalFeeAmount());
        capitalLoanTrialVo.setTotalOtherAmount(response.getTotalOtherAmount());
        capitalLoanTrialVo.setYearRate(response.getYearRate());
        capitalLoanTrialVo.setRemark(response.getRemark());
        List<RepayPlans> repayPlans = response.getRepayPlans();
        if (repayPlans != null && repayPlans.size() > 0) {
            List<RepayPlanVo> repayPlanVos = new ArrayList<>();
            for (RepayPlans repayPlan : repayPlans) {
                RepayPlanVo repayPlanVo = repayPlan.parseVo();
                repayPlanVos.add(repayPlanVo);
            }
            capitalLoanTrialVo.setRepayPlans(repayPlanVos);
        }
        return capitalLoanTrialVo;
    }
}