|
|
@@ -65,7 +65,7 @@ public final class ZiJinAPIQuoteResultsVoBuild {
|
|
|
// List<ExpenseFactor> expenseFactors = buildExpenseFactor(calculatePremiumResponse.getPriceInfoList());
|
|
|
// quoteResultsVo.setExpenseFactors(expenseFactors);
|
|
|
// 交强保费 车船税 商业保费
|
|
|
- buildPremium(quoteResultsVo, calculatePremiumResponse.getPlanList());
|
|
|
+ buildPremium(quoteResultsVo, calculatePremiumResponse);
|
|
|
|
|
|
CalculatePremiumResponse.BasePartDTO basePart = calculatePremiumResponse.getBasePart();
|
|
|
if (null != basePart){
|
|
|
@@ -107,21 +107,32 @@ public final class ZiJinAPIQuoteResultsVoBuild {
|
|
|
return kindInfoVo;
|
|
|
}
|
|
|
|
|
|
- private static void buildPremium(QuoteResultsVo quoteResultsVo, List<CalculatePremiumResponse.PlanListDTO> planList) {
|
|
|
+ private static void buildPremium(QuoteResultsVo quoteResultsVo, CalculatePremiumResponse response) {
|
|
|
+ List<CalculatePremiumResponse.PlanListDTO> planList = response.getPlanList();
|
|
|
Map<String, String> planMap = planList
|
|
|
.stream()
|
|
|
.collect(Collectors.toMap(CalculatePremiumResponse.PlanListDTO::getRiskCode, CalculatePremiumResponse.PlanListDTO::getPlanFee));
|
|
|
String ciPremiumStr = planMap.get(RiskCodeEnum.TRAFFIC_CODE);
|
|
|
String biPremiumStr = planMap.get(RiskCodeEnum.BUSINESS_CODE);
|
|
|
+ // 计算驾意险总保费金额
|
|
|
+ BigDecimal niPremiumStr = new BigDecimal("0");
|
|
|
+ for (CalculatePremiumResponse.CarPolicySubInfoListDTO carPolicySubInfoListDTO : response.getCarPolicySubInfoList()) {
|
|
|
+ if (StrUtil.isNotBlank(carPolicySubInfoListDTO.getActualPremium())){
|
|
|
+ niPremiumStr = niPremiumStr.add(new BigDecimal(carPolicySubInfoListDTO.getActualPremium()));
|
|
|
+ }else if (StrUtil.isNotBlank(carPolicySubInfoListDTO.getSumPremium())){
|
|
|
+ niPremiumStr = niPremiumStr.add(new BigDecimal(carPolicySubInfoListDTO.getSumPremium()));
|
|
|
+ }
|
|
|
+ }
|
|
|
String vvTaxStr = planMap.get(RiskCodeEnum.ACCIDENT_CODE);
|
|
|
BigDecimal ciPremium = StringUtil.isNotEmpty(ciPremiumStr)? new BigDecimal(ciPremiumStr) : new BigDecimal(0);
|
|
|
BigDecimal biPremium = StringUtil.isNotEmpty(biPremiumStr)? new BigDecimal(biPremiumStr) : new BigDecimal(0);
|
|
|
BigDecimal vvTax = StringUtil.isNotEmpty(vvTaxStr)? new BigDecimal(vvTaxStr) : new BigDecimal(0);
|
|
|
quoteResultsVo.getCosts().setCiPremium(ciPremiumStr);
|
|
|
quoteResultsVo.getCosts().setBiPremium(biPremiumStr);
|
|
|
+ quoteResultsVo.getCosts().setNiPremium(String.valueOf(niPremiumStr));
|
|
|
quoteResultsVo.getCosts().setVvTax(vvTaxStr);
|
|
|
quoteResultsVo.getCosts().setSumPremium(String.valueOf(
|
|
|
- ciPremium.add(biPremium).add(vvTax)
|
|
|
+ ciPremium.add(biPremium).add(vvTax).add(niPremiumStr)
|
|
|
));
|
|
|
}
|
|
|
|