Просмотр исходного кода

修改bug:
车险订单-车险报价,紫金基础方案配置的时候 可以选择两款非车配置,但是报价不显示驾意险金额

jiakai 4 месяцев назад
Родитель
Сommit
451366d8ff

+ 14 - 3
tenant/insurance/quotation-zijin/src/main/java/com/jzg/quotation/zijin/api/build/ZiJinAPIQuoteResultsVoBuild.java

@@ -65,7 +65,7 @@ public final class ZiJinAPIQuoteResultsVoBuild {
 //        List<ExpenseFactor> expenseFactors = buildExpenseFactor(calculatePremiumResponse.getPriceInfoList());
 //        List<ExpenseFactor> expenseFactors = buildExpenseFactor(calculatePremiumResponse.getPriceInfoList());
 //        quoteResultsVo.setExpenseFactors(expenseFactors);
 //        quoteResultsVo.setExpenseFactors(expenseFactors);
         // 交强保费 车船税 商业保费
         // 交强保费 车船税 商业保费
-        buildPremium(quoteResultsVo, calculatePremiumResponse.getPlanList());
+        buildPremium(quoteResultsVo, calculatePremiumResponse);
 
 
         CalculatePremiumResponse.BasePartDTO basePart = calculatePremiumResponse.getBasePart();
         CalculatePremiumResponse.BasePartDTO basePart = calculatePremiumResponse.getBasePart();
         if (null != basePart){
         if (null != basePart){
@@ -107,21 +107,32 @@ public final class ZiJinAPIQuoteResultsVoBuild {
         return kindInfoVo;
         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
         Map<String, String> planMap = planList
                 .stream()
                 .stream()
                 .collect(Collectors.toMap(CalculatePremiumResponse.PlanListDTO::getRiskCode, CalculatePremiumResponse.PlanListDTO::getPlanFee));
                 .collect(Collectors.toMap(CalculatePremiumResponse.PlanListDTO::getRiskCode, CalculatePremiumResponse.PlanListDTO::getPlanFee));
         String ciPremiumStr = planMap.get(RiskCodeEnum.TRAFFIC_CODE);
         String ciPremiumStr = planMap.get(RiskCodeEnum.TRAFFIC_CODE);
         String biPremiumStr = planMap.get(RiskCodeEnum.BUSINESS_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);
         String vvTaxStr = planMap.get(RiskCodeEnum.ACCIDENT_CODE);
         BigDecimal ciPremium = StringUtil.isNotEmpty(ciPremiumStr)? new BigDecimal(ciPremiumStr) : new BigDecimal(0);
         BigDecimal ciPremium = StringUtil.isNotEmpty(ciPremiumStr)? new BigDecimal(ciPremiumStr) : new BigDecimal(0);
         BigDecimal biPremium = StringUtil.isNotEmpty(biPremiumStr)? new BigDecimal(biPremiumStr) : 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);
         BigDecimal vvTax = StringUtil.isNotEmpty(vvTaxStr)? new BigDecimal(vvTaxStr) : new BigDecimal(0);
         quoteResultsVo.getCosts().setCiPremium(ciPremiumStr);
         quoteResultsVo.getCosts().setCiPremium(ciPremiumStr);
         quoteResultsVo.getCosts().setBiPremium(biPremiumStr);
         quoteResultsVo.getCosts().setBiPremium(biPremiumStr);
+        quoteResultsVo.getCosts().setNiPremium(String.valueOf(niPremiumStr));
         quoteResultsVo.getCosts().setVvTax(vvTaxStr);
         quoteResultsVo.getCosts().setVvTax(vvTaxStr);
         quoteResultsVo.getCosts().setSumPremium(String.valueOf(
         quoteResultsVo.getCosts().setSumPremium(String.valueOf(
-                ciPremium.add(biPremium).add(vvTax)
+                ciPremium.add(biPremium).add(vvTax).add(niPremiumStr)
         ));
         ));
     }
     }
 
 

+ 4 - 0
tenant/insurance/quotation-zijin/src/main/java/com/jzg/quotation/zijin/api/entity/response/CalculatePremiumResponse.java

@@ -92,6 +92,10 @@ public class CalculatePremiumResponse extends BaseResponse implements Serializab
         private String isUseInsured;
         private String isUseInsured;
         @JsonProperty("actualPremium")
         @JsonProperty("actualPremium")
         private String actualPremium;
         private String actualPremium;
+        @JsonProperty("sumPremium")
+        private String sumPremium;
+        @JsonProperty("sumAmount")
+        private String sumAmount;
         @JsonProperty("commi")
         @JsonProperty("commi")
         private String commi;
         private String commi;
         @JsonProperty("commi2")
         @JsonProperty("commi2")