Преглед изворни кода

fix 国任财险 api 返回 车辆评分信息 恒邦 返回 车辆评分信息

liub пре 4 месеци
родитељ
комит
bfa66e3860

+ 29 - 0
tenant/insurance/quotation-guoren/src/main/java/com/jzg/quotation/guoren/api/build/GuoRenApiQuoteResultsVoBuild.java

@@ -1,5 +1,7 @@
 package com.jzg.quotation.guoren.api.build;
 
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
 import com.jzg.commons.constants.dict.InsOrderStatusEnum;
 import com.jzg.commons.entity.quote.vo.KindInfoVo;
 import com.jzg.commons.entity.quote.vo.RiskInfoVo;
@@ -33,6 +35,33 @@ public class GuoRenApiQuoteResultsVoBuild {
 
         // 交强保费 车船税 商业保费
         buildPremium(quoteResultsVo, premiumResponse,nonAutoInsOrderResponse);
+
+        QuoteResultsVo.ScoreVo scoreVo = new QuoteResultsVo.ScoreVo();
+        scoreVo.setLossRation(premiumResponse.getData().getAutoPriceOutputXOMRespVo().getBillELR());
+        scoreVo.setJqLossRation(premiumResponse.getData().getAutoPriceOutputXOMRespVo().getBillCTPELR());
+        scoreVo.setSyLossRation(premiumResponse.getData().getAutoPriceOutputXOMRespVo().getBillCOMELR());
+        scoreVo.setCiClaims(premiumResponse.getData().getCiInsureDemandDTOS().get(0).getClaimTimes());
+        scoreVo.setBiClaims(premiumResponse.getData().getCiInsureDemandDTOS().get(0).getClaimTimes());
+        scoreVo.setTotalAdjustRate(premiumResponse.getData().getSignDiscount());
+
+        // 保司评分
+        JSONArray scoreJson = new JSONArray();
+        //光博评分
+        scoreJson.add(new JSONObject()
+                .fluentPut("scoreName", "交强光博分")
+                .fluentPut("scoreKey", "score")
+                .fluentPut("score", premiumResponse.getData().getCirate().getBillcomeGroup()));
+
+        if (premiumResponse.getData().getBirate() != null) {
+            scoreJson.add(new JSONObject()
+                    .fluentPut("scoreName", "商业光博分")
+                    .fluentPut("scoreKey", "score")
+                    .fluentPut("score", premiumResponse.getData().getBirate().getBillcomeGroup()));
+        }
+
+        scoreVo.setScoreJson(scoreJson);
+        quoteResultsVo.setScoreVo(scoreVo);
+
         return quoteResultsVo;
     }
 

+ 41 - 8
tenant/insurance/quotation-hengbang/src/main/java/com/jzg/quotation/hengbang/crawler/build/HbCrawlerQuoteResultVoBuild.java

@@ -1,6 +1,8 @@
 package com.jzg.quotation.hengbang.crawler.build;
 
 import cn.hutool.core.collection.CollUtil;
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
 import com.jzg.commons.constants.dict.InsOrderStatusEnum;
 import com.jzg.commons.entity.quote.vo.KindInfoVo;
 import com.jzg.commons.entity.quote.vo.RiskInfoVo;
@@ -19,13 +21,15 @@ import java.util.stream.Collectors;
  * @date: 2025/4/10 11:48
  **/
 public final class HbCrawlerQuoteResultVoBuild {
-    private HbCrawlerQuoteResultVoBuild() {throw new IllegalStateException("Utility class");}
+    private HbCrawlerQuoteResultVoBuild() {
+        throw new IllegalStateException("Utility class");
+    }
 
     public static QuoteResultsVo build(QuoteVo quoteVo, HbCrawlerProposalResponse proposalResponse, String calculationResult) {
         QuoteResultsVo quoteResultsVo = new QuoteResultsVo();
         quoteResultsVo.setOrdersNo(quoteVo.getOrder().getOrdersNo());
         quoteResultsVo.setQuoteStatusEnum(InsOrderStatusEnum.WAIT_AUDIT);
-        if(!calculationResult.equals("成功")){
+        if (!calculationResult.equals("成功")) {
             quoteResultsVo.setQuoteStatusEnum(InsOrderStatusEnum.QUOTE_FAIL);
             quoteResultsVo.setErrorMessage(calculationResult);
             return quoteResultsVo;
@@ -35,6 +39,35 @@ public final class HbCrawlerQuoteResultVoBuild {
         //商业险
         quoteResultsVo.setBiRiskInfoVo(buildbiInfo(proposalResponse));
         quoteResultsVo.setKindInfoVo(buildKindInfoList(proposalResponse, quoteVo));
+
+        QuoteResultsVo.ScoreVo scoreVo = new QuoteResultsVo.ScoreVo();
+        // 保司评分
+        JSONArray scoreJson = new JSONArray();
+        if (proposalResponse.getForceLiability() != null && proposalResponse.getCarInsureLiabilityList().size() > 0) {
+            //光博评分
+            scoreJson.add(new JSONObject()
+                    .fluentPut("scoreName", "交强光博分")
+                    .fluentPut("scoreKey", "score")
+                    .fluentPut("score", proposalResponse.getBusiCarInsureRisk().getBillelr2()));
+        } else if (proposalResponse.getForceLiability() != null) {
+            //光博评分
+            scoreJson.add(new JSONObject()
+                    .fluentPut("scoreName", "交强光博分")
+                    .fluentPut("scoreKey", "score")
+                    .fluentPut("score", proposalResponse.getForceCarInsureRisk().getBillelr2()));
+        } else if (proposalResponse.getCarInsureLiabilityList().size() > 0) {
+            //光博评分
+            scoreJson.add(new JSONObject()
+                    .fluentPut("scoreName", "交强光博分")
+                    .fluentPut("scoreKey", "score")
+                    .fluentPut("score", proposalResponse.getBusiCarInsureRisk().getBillelr2()));
+
+        }
+
+        scoreVo.setScoreJson(scoreJson);
+        quoteResultsVo.setScoreVo(scoreVo);
+
+
         //设置保费,车船税,投保单号
         buildParams(proposalResponse, quoteResultsVo);
         return quoteResultsVo;
@@ -43,7 +76,7 @@ public final class HbCrawlerQuoteResultVoBuild {
     public static RiskInfoVo buildCiInfo(HbCrawlerProposalResponse proposalResponse) {
         RiskInfoVo ciRiskInfoVo = new RiskInfoVo();
         HbCrawlerProposalResponse.ForceCarInsureRiskDTO forceCarInsureRisk = proposalResponse.getForceCarInsureRisk();
-        if(Objects.nonNull(forceCarInsureRisk)){
+        if (Objects.nonNull(forceCarInsureRisk)) {
             ciRiskInfoVo.setRiskCode(forceCarInsureRisk.getRiskcode());
             ciRiskInfoVo.setStartDate(forceCarInsureRisk.getBegintime());
             ciRiskInfoVo.setEndDate(forceCarInsureRisk.getEndtime());
@@ -55,7 +88,7 @@ public final class HbCrawlerQuoteResultVoBuild {
     public static RiskInfoVo buildbiInfo(HbCrawlerProposalResponse proposalResponse) {
         RiskInfoVo biRiskInfoVo = new RiskInfoVo();
         HbCrawlerProposalResponse.BusiCarInsureRiskDTO busiCarInsureRisk = proposalResponse.getBusiCarInsureRisk();
-        if(Objects.nonNull(busiCarInsureRisk)){
+        if (Objects.nonNull(busiCarInsureRisk)) {
             biRiskInfoVo.setRiskCode(busiCarInsureRisk.getRiskcode());
             biRiskInfoVo.setStartDate(busiCarInsureRisk.getBegintime());
             biRiskInfoVo.setEndDate(busiCarInsureRisk.getEndtime());
@@ -65,7 +98,7 @@ public final class HbCrawlerQuoteResultVoBuild {
 
     public static List<KindInfoVo> buildKindInfoList(HbCrawlerProposalResponse proposalResponse, QuoteVo quoteVo) {
         List<KindInfoVo> kindInfoVoList = quoteVo.getKindInfoVo();
-        if(CollUtil.isNotEmpty(kindInfoVoList)){
+        if (CollUtil.isNotEmpty(kindInfoVoList)) {
             List<HbCrawlerProposalResponse.CarInsureLiabilityDTO> carInsureLiabilityList = proposalResponse.getCarInsureLiabilityList();
             Map<String, HbCrawlerProposalResponse.CarInsureLiabilityDTO> carInsureLiabilityDTOMap = carInsureLiabilityList.stream().collect(Collectors.toMap(HbCrawlerProposalResponse.CarInsureLiabilityDTO::getKindcode, carInsureLiabilityDTO -> carInsureLiabilityDTO));
             kindInfoVoList.forEach(kindInfoVo -> {
@@ -86,13 +119,13 @@ public final class HbCrawlerQuoteResultVoBuild {
         //商业险数据
         HbCrawlerProposalResponse.BusiCarInsureRiskDTO busiCarInsureRisk = proposalResponse.getBusiCarInsureRisk();
         HbCrawlerProposalResponse.CarInsureShiptaxDTO carInsureShiptax = proposalResponse.getCarInsureShiptax();
-        if(Objects.nonNull(busiCarInsureRisk)){
+        if (Objects.nonNull(busiCarInsureRisk)) {
             quoteResultsVo.getCosts().setBiPremium(busiCarInsureRisk.getSumPremium());
         }
-        if(Objects.nonNull(forceCarInsureRisk)){
+        if (Objects.nonNull(forceCarInsureRisk)) {
             quoteResultsVo.getCosts().setCiPremium(forceCarInsureRisk.getSumPremium());
         }
-        if(Objects.nonNull(carInsureShiptax)){
+        if (Objects.nonNull(carInsureShiptax)) {
             quoteResultsVo.getCosts().setVvTax(carInsureShiptax.getSumtax());
         }
         //设置非车保费

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

@@ -283,8 +283,6 @@ public class UnifyOrderManager {
                 costs.setVvTax(formatPremium(costs.getVvTax()));               // 车船税
                 costs.setSumPremium(formatPremium(costs.getSumPremium()));     // 总保费
             }
-            quoteResultsVo.setCiRiskInfoVo(quoteVo.getCiRiskInfoVo());
-            quoteResultsVo.setBiRiskInfoVo(quoteVo.getBiRiskInfoVo());
             quoteResultsVo.setQuoteStatus(quoteResultsVo.getQuoteStatusEnum().getCode());
             quoteResultsVo.setOrdersNo(ordersNo);
             // 报价后更新订单