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

修改bug:
解决紫金报价的空指针异常

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

+ 2 - 1
tenant/insurance/quotation-summary/src/main/java/com/jzg/quotation/summary/controller/UnifyOrderManager.java

@@ -1,5 +1,6 @@
 package com.jzg.quotation.summary.controller;
 
+import cn.hutool.core.bean.BeanUtil;
 import cn.hutool.core.collection.CollUtil;
 import cn.hutool.core.date.DateTime;
 import cn.hutool.core.util.ArrayUtil;
@@ -274,7 +275,7 @@ public class UnifyOrderManager {
             quoteResultsVo = quoteService.quote(quoteVo);
             // 格式化保费为两位小数
             QuoteResultsVo.CostsVo costs = quoteResultsVo.getCosts();
-            if (costs != null) {
+            if (BeanUtil.isNotEmpty(costs)) {
                 costs.setCiPremium(formatPremium(costs.getCiPremium()));       // 交强险
                 costs.setBiPremium(formatPremium(costs.getBiPremium()));       // 商业险
                 costs.setNiPremium(formatPremium(costs.getNiPremium()));       // 非车险

+ 18 - 9
tenant/insurance/quotation-summary/src/main/java/com/jzg/quotation/summary/service/impl/InsOrdersServiceImpl.java

@@ -764,15 +764,24 @@ public class InsOrdersServiceImpl extends ServiceImpl<InsOrdersMapper, InsOrders
                 ordersCosts = new InsOrdersCosts();
                 ordersCosts.setOrderNo(ordersNo);
             }
-            BigDecimal ciPremium = quoteResponse.getCosts().getCiPremium() == null ? new BigDecimal("0.00") : new BigDecimal(quoteResponse.getCosts().getCiPremium());
-            BigDecimal biPremium = quoteResponse.getCosts().getBiPremium() == null ? new BigDecimal("0.00") : new BigDecimal(quoteResponse.getCosts().getBiPremium());
-            BigDecimal niPremium = quoteResponse.getCosts().getNiPremium() == null ? new BigDecimal("0.00") : new BigDecimal(quoteResponse.getCosts().getNiPremium());
-            BigDecimal vvTax = new BigDecimal(quoteResponse.getCosts().getVvTax());
-            ordersCosts.setJqPremium(ciPremium);
-            ordersCosts.setSyPremium(biPremium);
-            ordersCosts.setJyPremium(niPremium);
-            ordersCosts.setTaxPremium(vvTax);
-            ordersCosts.setSumPremium(ciPremium.add(biPremium).add(niPremium).add(vvTax));
+            if (BeanUtil.isNotEmpty(quoteResponse) && BeanUtil.isNotEmpty(quoteResponse.getCosts())){
+                BigDecimal ciPremium = quoteResponse.getCosts().getCiPremium() == null ? new BigDecimal("0.00") : new BigDecimal(quoteResponse.getCosts().getCiPremium());
+                BigDecimal biPremium = quoteResponse.getCosts().getBiPremium() == null ? new BigDecimal("0.00") : new BigDecimal(quoteResponse.getCosts().getBiPremium());
+                BigDecimal niPremium = quoteResponse.getCosts().getNiPremium() == null ? new BigDecimal("0.00") : new BigDecimal(quoteResponse.getCosts().getNiPremium());
+                BigDecimal vvTax = new BigDecimal(quoteResponse.getCosts().getVvTax());
+                ordersCosts.setJqPremium(ciPremium);
+                ordersCosts.setSyPremium(biPremium);
+                ordersCosts.setJyPremium(niPremium);
+                ordersCosts.setTaxPremium(vvTax);
+                ordersCosts.setSumPremium(ciPremium.add(biPremium).add(niPremium).add(vvTax));
+            }else{
+                BigDecimal bigDecimal = new BigDecimal("0.00");
+                ordersCosts.setJqPremium(bigDecimal);
+                ordersCosts.setSyPremium(bigDecimal);
+                ordersCosts.setJyPremium(bigDecimal);
+                ordersCosts.setTaxPremium(bigDecimal);
+                ordersCosts.setSumPremium(bigDecimal);
+            }
             insOrdersCostsService.saveOrUpdate(ordersCosts);
 
             //更新评分