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); } }