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

Merge remote-tracking branch 'origin/master'

wanghao 3 месяцев назад
Родитель
Сommit
54b55d6852
11 измененных файлов с 130 добавлено и 55 удалено
  1. 4 1
      tenant/insurance/quotation-guoren/src/main/java/com/jzg/quotation/guoren/crawler/entity/request/GuoRenCrawlerProposalNoSaveRequest.java
  2. 6 6
      tenant/insurance/quotation-guoren/src/main/java/com/jzg/quotation/guoren/crawler/service/impl/GuoRenCrawlerQuoteProcessServiceImpl.java
  3. 16 2
      tenant/insurance/quotation-taikang/src/main/java/com/jzg/quotation/taikang/crawler/build/TkCrawlerQuoteResultsBuild.java
  4. 1 1
      tenant/insurance/quotation-taikang/src/main/java/com/jzg/quotation/taikang/crawler/service/TKSimpleService.java
  5. 1 1
      tenant/insurance/quotation-zhongmei/src/main/java/com/jzg/quotation/zhongmei/crawler/build/ZmCrawlerQuoteResultVoBuild.java
  6. 48 18
      tenant/insurance/quotation-zijin/src/main/java/com/jzg/quotation/zijin/crawler/build/ZiJinCrawlerQuoteResultsVoBuild.java
  7. 11 5
      tenant/insurance/quotation-zijin/src/main/java/com/jzg/quotation/zijin/crawler/build/ZiJinCrawlerSaveQuoteInfoRequestBuild.java
  8. 18 0
      tenant/insurance/quotation-zijin/src/main/java/com/jzg/quotation/zijin/crawler/entity/request/ZiJinCrawlerSaveQuoteInfoRequest.java
  9. 1 0
      tenant/insurance/quotation-zijin/src/main/java/com/jzg/quotation/zijin/crawler/enums/ResponseCode.java
  10. 10 5
      tenant/insurance/quotation-zijin/src/main/java/com/jzg/quotation/zijin/crawler/service/impl/ZiJinCrawlerOrderServiceImpl.java
  11. 14 16
      tenant/insurance/quotation-zijin/src/main/java/com/jzg/quotation/zijin/crawler/service/impl/ZiJinCrawlerRequestImpl.java

+ 4 - 1
tenant/insurance/quotation-guoren/src/main/java/com/jzg/quotation/guoren/crawler/entity/request/GuoRenCrawlerProposalNoSaveRequest.java

@@ -31,7 +31,10 @@ public class GuoRenCrawlerProposalNoSaveRequest implements Serializable {
     private GuoRenCrawlerCalculationPremiumData.CiDTO ci;
 
     public GuoRenCrawlerProposalNoSaveRequest(QuoteVo quoteVo, GuoRenCrawlerCalculationPremiumData guoRenCrawlerCalculationPremiumData, GuoRenCrawlerCalculationPremiumRequest calculationPremiumRequest) {
+        GuoRenCrawlerCalculationPremiumData.CiDTO ciDto = guoRenCrawlerCalculationPremiumData.getCi();
+        ciDto.setPrptengageList(calculationPremiumRequest.getCi().getPrptengageList());
         GuoRenCrawlerCalculationPremiumData.BiDTO biDto = guoRenCrawlerCalculationPremiumData.getBi();
+        biDto.setPrptengageList(calculationPremiumRequest.getBi().getPrptengageList());
         this.bc = calculationPremiumRequest.getBc();
         this.bc.getPrpTmain().setCaptcha("");
         this.bc.getPrpTmain().setEProposalFlag("1");
@@ -42,8 +45,8 @@ public class GuoRenCrawlerProposalNoSaveRequest implements Serializable {
             guoRenCrawlerCalculationPremiumData.getBi().getCiInsureDemand().setTonCount(quoteVo.getCarInfoVo().getTonCount());
             guoRenCrawlerCalculationPremiumData.getBi().getCiInsureDemand().setSeatCount(quoteVo.getCarInfoVo().getSeatCount());
         }
+        this.ci = ciDto;
         this.bi = biDto;
-        this.ci = guoRenCrawlerCalculationPremiumData.getCi();
         // 将试算响应中的报价ID回填到bc中
         fillProposalNoFromResponse(guoRenCrawlerCalculationPremiumData);
     }

+ 6 - 6
tenant/insurance/quotation-guoren/src/main/java/com/jzg/quotation/guoren/crawler/service/impl/GuoRenCrawlerQuoteProcessServiceImpl.java

@@ -214,23 +214,23 @@ public class GuoRenCrawlerQuoteProcessServiceImpl implements GuoRenCrawlerQuoteP
         crawlerCalculationPremiumRequest.getCi().getPrpTmain().setProposalNo(
                 calculationPremium.getCi().getPrpTmain().getProposalNo());
         crawlerCalculationPremiumRequest.getCi().setCiInsureDemand(calculationPremium.getCi().getCiInsureDemand());
-        crawlerCalculationPremiumRequest.getCi().setPrptengageList(calculationPremium.getCi().getPrptengageList());
+        crawlerCalculationPremiumRequest.getCi().getPrptengageList().addAll(calculationPremium.getCi().getPrptengageList());
         // BC也需要回填proposalNo/demandNo/certiNo/carsonlyid
         if (calculationPremium.getBc() != null && calculationPremium.getBc().getPrpTmain() != null) {
-            if (org.springframework.util.StringUtils.hasText(calculationPremium.getBc().getPrpTmain().getProposalNo())) {
+            if (StringUtils.hasText(calculationPremium.getBc().getPrpTmain().getProposalNo())) {
                 crawlerCalculationPremiumRequest.getBc().getPrpTmain().setProposalNo(
                         calculationPremium.getBc().getPrpTmain().getProposalNo());
             }
-            if (org.springframework.util.StringUtils.hasText(calculationPremium.getBc().getPrpTmain().getDemandNo())) {
+            if (StringUtils.hasText(calculationPremium.getBc().getPrpTmain().getDemandNo())) {
                 crawlerCalculationPremiumRequest.getBc().getPrpTmain().setDemandNo(
                         calculationPremium.getBc().getPrpTmain().getDemandNo());
             }
-            if (org.springframework.util.StringUtils.hasText(calculationPremium.getBc().getPrpTmain().getCertiNo())) {
+            if (StringUtils.hasText(calculationPremium.getBc().getPrpTmain().getCertiNo())) {
                 String certiNo = calculationPremium.getBc().getPrpTmain().getCertiNo();
                 crawlerCalculationPremiumRequest.getBc().getPrpTmain().setCertiNo(certiNo);
                 crawlerCalculationPremiumRequest.getBc().getPrpTmain().setCertino1(certiNo);
             }
-            if (org.springframework.util.StringUtils.hasText(calculationPremium.getBc().getPrpTmain().getCarsonlyid())) {
+            if (StringUtils.hasText(calculationPremium.getBc().getPrpTmain().getCarsonlyid())) {
                 crawlerCalculationPremiumRequest.getBc().getPrpTmain().setCarsonlyid(
                         calculationPremium.getBc().getPrpTmain().getCarsonlyid());
             }
@@ -242,7 +242,7 @@ public class GuoRenCrawlerQuoteProcessServiceImpl implements GuoRenCrawlerQuoteP
             crawlerCalculationPremiumRequest.getBi().getPrpTmain().setProposalNo(
                     calculationPremium.getBi().getPrpTmain().getProposalNo());
             crawlerCalculationPremiumRequest.getBi().setCiInsureDemand(calculationPremium.getBi().getCiInsureDemand());
-            crawlerCalculationPremiumRequest.getBi().setPrptengageList(calculationPremium.getBi().getPrptengageList());
+            crawlerCalculationPremiumRequest.getBi().getPrptengageList().addAll(calculationPremium.getCi().getPrptengageList());
         }
         return guoRenCrawlerRequestComponent.calculationPremium(crawlerCalculationPremiumRequest, headers).getData();
     }

+ 16 - 2
tenant/insurance/quotation-taikang/src/main/java/com/jzg/quotation/taikang/crawler/build/TkCrawlerQuoteResultsBuild.java

@@ -9,8 +9,9 @@ import com.jzg.commons.entity.quote.vo.RiskInfoVo;
 import com.jzg.commons.entity.quote.vo.TaxInfoVo;
 import com.jzg.commons.entity.quote.vo.aggregated.QuoteResultsVo;
 import com.jzg.commons.util.DateTimeUtils;
-import com.jzg.commons.util.ObjectUtil;
+import com.jzg.commons.util.StringUtils;
 import com.jzg.commons.util.idgen.IdGenerate;
+import com.jzg.quotation.commons.constant.enums.quote.RenewalEnum;
 import com.jzg.quotation.commons.utils.DateTimeUtil;
 import com.jzg.quotation.taikang.crawler.ConvertUtil;
 import com.jzg.quotation.taikang.crawler.cache.RedisCacheUtil;
@@ -20,7 +21,6 @@ import com.jzg.quotation.taikang.crawler.model.entity.TKDateInfo;
 import com.jzg.quotation.taikang.crawler.model.entity.TKOther;
 import com.jzg.quotation.taikang.crawler.model.entity.TKPremium;
 import lombok.extern.slf4j.Slf4j;
-import org.apache.commons.lang.ObjectUtils;
 import org.springframework.stereotype.Component;
 
 import java.math.BigDecimal;
@@ -143,6 +143,10 @@ public class TkCrawlerQuoteResultsBuild {
         // 折扣
         quoteResultsVo.getScoreVo().setJqAdjustRate(preciseInitResult.getCiDisCount() != null ? preciseInitResult.getCiDisCount().toString() : null);
         quoteResultsVo.getScoreVo().setSyAdjustRate(preciseInitResult.getBzDisCount() != null ? preciseInitResult.getBzDisCount().toString() : null);
+        // 交强续保
+        quoteResultsVo.getScoreVo().setJqRenewal(convertRenewalFlag(preciseInitResult.getFlag().getRenewalBZFlag()));
+        // 商业续保
+        quoteResultsVo.getScoreVo().setSyRenewal(convertRenewalFlag(preciseInitResult.getFlag().getRenewalCIFlag()));
         // 设置订单状态
         quoteResultsVo.setQuoteStatusEnum(InsOrderStatusEnum.WAIT_AUDIT);
         // 缓存报价书据数据
@@ -171,4 +175,14 @@ public class TkCrawlerQuoteResultsBuild {
         return quoteResultsVo;
     }
 
+    private static String convertRenewalFlag(String renewalFlag) {
+        if (!StringUtils.hasText(renewalFlag)) {
+            return null;
+        }
+        if (renewalFlag.equals("0")) {
+            return String.valueOf(RenewalEnum.Renewal.getCode());
+        } else {
+            return String.valueOf(RenewalEnum.Transfer.getCode());
+        }
+    }
 }

+ 1 - 1
tenant/insurance/quotation-taikang/src/main/java/com/jzg/quotation/taikang/crawler/service/TKSimpleService.java

@@ -507,7 +507,7 @@ public class TKSimpleService {
         TKAgent agent = new TKAgent();
         agent.setStatus("1");
         agent.setAgentCode(agentCode);
-        agent.setAgentName(agentQueryResult.getAgentName());
+        agent.setAgentName(agentQueryResult.getName());
         agent.setAgentPhone(agentQueryResult.getAgentPhone());
         agent.setAgencyCode(agentQueryResult.getComCode());
         agent.setAgencyName(agentQueryResult.getAgencyName());

+ 1 - 1
tenant/insurance/quotation-zhongmei/src/main/java/com/jzg/quotation/zhongmei/crawler/build/ZmCrawlerQuoteResultVoBuild.java

@@ -201,7 +201,7 @@ public final class ZmCrawlerQuoteResultVoBuild {
             scoreJson.add(new JSONObject()
                     .fluentPut("scoreName", "中煤分")
                     .fluentPut("scoreKey","zmScore")
-                    .fluentPut("score", apQtnResultXom.getGusunlightresultmainDto().getZmScore()));
+                    .fluentPut("score", apQtnResultXom.getGusunlightresultmainDto().getZmScoreTranche()));
         }
         if (quotedPriceResponse != null) {
             scoreJson.add(new JSONObject()

+ 48 - 18
tenant/insurance/quotation-zijin/src/main/java/com/jzg/quotation/zijin/crawler/build/ZiJinCrawlerQuoteResultsVoBuild.java

@@ -6,24 +6,20 @@ import com.alibaba.fastjson.JSONObject;
 import com.alibaba.nacos.common.utils.CollectionUtils;
 import com.jzg.commons.constants.dict.InsOrderStatusEnum;
 import com.jzg.commons.entity.po.InsFeeOrders;
-import com.jzg.commons.entity.quote.vo.ExpenseFactor;
 import com.jzg.commons.entity.quote.vo.KindInfoVo;
-import com.jzg.commons.entity.quote.vo.QuoteVo;
 import com.jzg.commons.entity.quote.vo.RiskInfoVo;
 import com.jzg.commons.entity.quote.vo.aggregated.QuoteResultsVo;
 import com.jzg.commons.util.DateTimeUtils;
 import com.jzg.commons.util.StringUtils;
+import com.jzg.quotation.commons.constant.enums.quote.RenewalEnum;
 import com.jzg.quotation.zijin.api.constant.enums.RiskCodeEnum;
 import com.jzg.quotation.zijin.crawler.entity.response.ZiJinCrawlerQuotationResponse;
 import com.jzg.quotation.zijin.crawler.entity.response.ZiJinCrawlerSaveProposalResponse;
 import lombok.extern.slf4j.Slf4j;
-import org.springframework.util.ObjectUtils;
 
 import java.math.BigDecimal;
+import java.util.ArrayList;
 import java.util.List;
-import java.util.Map;
-import java.util.Objects;
-import java.util.stream.Collectors;
 
 /**
  * @description: 紫金财险爬虫报价结果构建器
@@ -61,6 +57,12 @@ public class ZiJinCrawlerQuoteResultsVoBuild {
         QuoteResultsVo quoteResultsVo = new QuoteResultsVo();
         quoteResultsVo.setOrdersNo(ordersNo);
 
+
+        // if (ResponseCode.R_0003.getCode().equals(ziJinCrawlerSaveProposalResponse.getRtnCode())) {
+        //     handleQuoteFailure(quoteResultsVo, ziJinCrawlerSaveProposalResponse.getRtnMsg(), "保存投保单失败");
+        //     return quoteResultsVo;
+        // }
+
         if (ziJinCrawlerQuotationResponse.getItemKindList() != null) {
             // 设置交强险投保时间信息
             quoteResultsVo.setCiRiskInfoVo(buildCiRiskInfoVo(ziJinCrawlerQuotationResponse));
@@ -72,11 +74,8 @@ public class ZiJinCrawlerQuoteResultsVoBuild {
             quoteResultsVo.setKindInfoVo(buildKindInfoVoList(ziJinCrawlerQuotationResponse));
         }
 
-        // 交强保费 车船税 商业保费
-        buildPremium(quoteResultsVo, ziJinCrawlerQuotationResponse);
-
         // 设置投保单号
-        if (ziJinCrawlerSaveProposalResponse != null && ziJinCrawlerSaveProposalResponse.getData() != null) {
+        if (ziJinCrawlerSaveProposalResponse.getData() != null) {
             ZiJinCrawlerSaveProposalResponse.Data data = ziJinCrawlerSaveProposalResponse.getData();
             quoteResultsVo.setCiPolicyNumber(data.getProposalNoCI());
             quoteResultsVo.setBiPolicyNumber(data.getProposalNo());
@@ -84,20 +83,19 @@ public class ZiJinCrawlerQuoteResultsVoBuild {
             // 费用信息
             if (data.getFeeImformationDto() != null) {
                 InsFeeOrders insFeeOrders = new InsFeeOrders();
-                insFeeOrders.setJqCommissionPremium(new BigDecimal(data.getFeeImformationDto().getJqFeeRatio()));
-                insFeeOrders.setSyCommissionPremium(new BigDecimal(data.getFeeImformationDto().getSyFeeRatio()));
+                insFeeOrders.setJqCommissionPremium(data.getFeeImformationDto().getJqFeeRatio() == null ? BigDecimal.ZERO : new BigDecimal(data.getFeeImformationDto().getJqFeeRatio()));
+                insFeeOrders.setSyCommissionPremium(data.getFeeImformationDto().getSyFeeRatio() == null ? BigDecimal.ZERO : new BigDecimal(data.getFeeImformationDto().getSyFeeRatio()));
                 quoteResultsVo.setFeeOrders(insFeeOrders);
             }
         }
 
+        // 交强保费 车船税 商业保费
+        buildPremium(quoteResultsVo, ziJinCrawlerQuotationResponse);
+
         // 设置警告消息(预核保消息)
-        if (ziJinCrawlerQuotationResponse.getBasePart() != null) {
-            List<String> warnMessages = new java.util.ArrayList<>();
-            warnMessages.add(ziJinCrawlerQuotationResponse.getBasePart().getPreUnderwriteMessage());
-            quoteResultsVo.setWarnMessageList(warnMessages);
-        }
+        warnMessageList(ziJinCrawlerQuotationResponse, quoteResultsVo);
 
-        // 设置评分
+        // 设置评分、折扣、影响因子、转保标识
         quoteResultsVo.setScoreVo(ZiJinCrawlerQuoteResultsVoBuild.buildScoreVo(ziJinCrawlerQuotationResponse));
 
         // 构建因子
@@ -117,6 +115,19 @@ public class ZiJinCrawlerQuoteResultsVoBuild {
         return quoteResultsVo;
     }
 
+    private static void warnMessageList(ZiJinCrawlerQuotationResponse ziJinCrawlerQuotationResponse, QuoteResultsVo quoteResultsVo) {
+        ZiJinCrawlerQuotationResponse.BasePart basePart = ziJinCrawlerQuotationResponse.getBasePart();
+        List<String> warnMessages = new ArrayList<>();
+        if (StringUtils.isNotEmpty(basePart.getReinsureMessage())) {
+            warnMessages.add(basePart.getReinsureMessage());
+        }
+        if (StringUtils.isNotEmpty(basePart.getPreUnderwriteMessage())) {
+            warnMessages.add(basePart.getPreUnderwriteMessage());
+        }
+        // quoteResultsVo.setQuoteStatusEnum(InsOrderStatusEnum.QUOTE_FAIL);
+        quoteResultsVo.setWarnMessageList(warnMessages);
+    }
+
     /**
      * 处理交强险数据
      *
@@ -277,6 +288,13 @@ public class ZiJinCrawlerQuoteResultsVoBuild {
     // 构建评分
     private static QuoteResultsVo.ScoreVo buildScoreVo(ZiJinCrawlerQuotationResponse ziJinCrawlerQuotationResponse) {
         QuoteResultsVo.ScoreVo scoreVo = new QuoteResultsVo.ScoreVo();
+
+        ZiJinCrawlerQuotationResponse.BasePart basePart = ziJinCrawlerQuotationResponse.getBasePart();
+        // 交强续保
+        scoreVo.setJqRenewal(convertRenewalFlag(basePart.getXbFlagCI()));
+        // 商业续保
+        scoreVo.setSyRenewal(convertRenewalFlag(basePart.getXbFlag()));
+
         List<ZiJinCrawlerQuotationResponse.PriceInfoList> priceInfoList = ziJinCrawlerQuotationResponse.getPriceInfoList();// 定价信息列表
         if (CollectionUtils.isEmpty(priceInfoList)) {
             return scoreVo;
@@ -286,6 +304,7 @@ public class ZiJinCrawlerQuoteResultsVoBuild {
 
         scoreVo.setJqLossRation(priceInfo.getLrRecomAdjust());
         scoreVo.setSyLossRation(priceInfo.getLrRecom());
+        scoreVo.setTotalAdjustRate(priceInfo.getInitialELR());
 
         JSONArray scoreArray = new JSONArray();
         // 商业险定价信息
@@ -423,4 +442,15 @@ public class ZiJinCrawlerQuoteResultsVoBuild {
         scoreVo.setScoreJson(scoreArray);
         return scoreVo;
     }
+
+    private static String convertRenewalFlag(String renewalFlag) {
+        if (!StringUtils.hasText(renewalFlag)) {
+            return null;
+        }
+        if (renewalFlag.equals("0")) {
+            return String.valueOf(RenewalEnum.Renewal.getCode());
+        } else {
+            return String.valueOf(RenewalEnum.Transfer.getCode());
+        }
+    }
 }

+ 11 - 5
tenant/insurance/quotation-zijin/src/main/java/com/jzg/quotation/zijin/crawler/build/ZiJinCrawlerSaveQuoteInfoRequestBuild.java

@@ -244,6 +244,12 @@ public class ZiJinCrawlerSaveQuoteInfoRequestBuild {
                 .sumPayTax(carShipTax.getSumPayTax() == null ? "0.0" : String.valueOf(carShipTax.getSumPayTax()))
                 .taxpayerName(carShipTax.getTaxpayerName())
                 .taxpayerIdentifier(carShipTax.getTaxpayerIdentifier())
+                .taxDue(carShipTax.getTaxDue())
+                .taxComName(carShipTax.getTaxComName())
+                .extendChar2(carShipTax.getExtendChar2())
+                .relifReason(carShipTax.getRelifReason())
+                .freeRateText(carShipTax.getFreeRateText())
+                .taxRelief(carShipTax.getTaxRelief())
                 .identifyNumber(carShipTax.getIdentifyNumber())
                 .payLastYear(carShipTax.getPayLastYear())
                 .lastCIPaymentTime(carShipTax.getLastCIPaymentTime())
@@ -301,16 +307,16 @@ public class ZiJinCrawlerSaveQuoteInfoRequestBuild {
         List<ZiJinCrawlerSaveQuoteInfoRequest.ItemKindInfo> itemKindList = new ArrayList<>();
         if (org.apache.commons.collections4.CollectionUtils.isNotEmpty(ziJinCrawlerQuotationResponse.getItemKindList())) {
             for (ZiJinCrawlerQuotationResponse.ItemKindList kind : ziJinCrawlerQuotationResponse.getItemKindList()) {
-                String amount = kind.getAmount() != null ? kind.getAmount().toString() : "0.0";
-                String premium = kind.getBenchMarkPremium() != null ? kind.getBenchMarkPremium() : "0.0000";
+                String amount = kind.getAmount() != null ? kind.getAmount() : "0.0";
+                String benchMarkPremium = kind.getBenchMarkPremium() != null ? kind.getBenchMarkPremium() : "0.0000";
                 ZiJinCrawlerSaveQuoteInfoRequest.ItemKindInfo itemKind = ZiJinCrawlerSaveQuoteInfoRequest.ItemKindInfo.builder()
                         .amount(amount)
                         .kindCode(kind.getKindCode())
                         .kindName(kind.getKindName())
                         .riskCode(kind.getRiskCode())
-                        .premium(premium)
-                        .benchMarkPremium(premium)
-                        .basePremium(kind.getBasePremium() != null ? kind.getBasePremium() : premium)
+                        .premium(kind.getPremium() != null ? kind.getPremium() : benchMarkPremium)
+                        .benchMarkPremium(benchMarkPremium)
+                        .basePremium(kind.getBasePremium() != null ? kind.getBasePremium() : benchMarkPremium)
                         .serviceTimes(kind.getServiceTimes())
                         .build();
                 itemKindList.add(itemKind);

+ 18 - 0
tenant/insurance/quotation-zijin/src/main/java/com/jzg/quotation/zijin/crawler/entity/request/ZiJinCrawlerSaveQuoteInfoRequest.java

@@ -694,6 +694,24 @@ public class ZiJinCrawlerSaveQuoteInfoRequest implements Serializable {
         @JsonProperty("identifyNumber")
         private String identifyNumber;
 
+        @JsonProperty("taxComName")
+        private String taxComName;
+
+        @JsonProperty("taxDue")
+        private Double taxDue;
+
+        @JsonProperty("extendChar2")
+        private String extendChar2;
+
+        @JsonProperty("relifReason")
+        private String relifReason;
+
+        @JsonProperty("freeRateText")
+        private String freeRateText;
+
+        @JsonProperty("taxRelief")
+        private Double taxRelief;
+
         @JsonProperty("payLastYear")
         private String payLastYear;
 

+ 1 - 0
tenant/insurance/quotation-zijin/src/main/java/com/jzg/quotation/zijin/crawler/enums/ResponseCode.java

@@ -15,6 +15,7 @@ public enum ResponseCode {
     R_0000("0000", "成功"),
     R_0001("9980", "转保标志!"),
     R_0002("4001", "重复投保"),
+    R_0003("9999", "系统异常,请联系系统管理员!"),
     R_Z00002("Z00002", "再次调用此接口确认");
 
     private final String code;

+ 10 - 5
tenant/insurance/quotation-zijin/src/main/java/com/jzg/quotation/zijin/crawler/service/impl/ZiJinCrawlerOrderServiceImpl.java

@@ -6,6 +6,7 @@ import com.jzg.quotation.zijin.crawler.component.ZiJinCrawlerCacheComponent;
 import com.jzg.quotation.zijin.crawler.entity.po.ZiJinCrawlerOrder;
 import com.jzg.quotation.zijin.crawler.entity.response.ZiJinCrawlerQuotationResponse;
 import com.jzg.quotation.zijin.crawler.entity.response.ZiJinCrawlerSaveProposalResponse;
+import com.jzg.quotation.zijin.crawler.enums.ResponseCode;
 import com.jzg.quotation.zijin.crawler.repository.ZiJinCrawlerOrderRepository;
 import com.jzg.quotation.zijin.crawler.service.ZiJinCrawlerOrderService;
 import lombok.RequiredArgsConstructor;
@@ -36,16 +37,20 @@ public class ZiJinCrawlerOrderServiceImpl implements ZiJinCrawlerOrderService {
     @Override
     public void save(QuoteVo quoteVo, ZiJinCrawlerQuotationResponse ziJinCrawlerQuotationResponse, ZiJinCrawlerSaveProposalResponse ziJinCrawlerSaveProposalResponse, String orderNo, String orderId, boolean success) {
         ZiJinCrawlerOrder order = new ZiJinCrawlerOrder();
+
         order.setOrdersNo(quoteVo.getOrder().getOrdersNo());
         // 报价接口没有返回订单号, 报价保存方法save方法成功后返回订单号
         order.setOrderNo(orderNo);
         order.setBusUniqueId(orderId);
         order.setQuoteSuccess(success);
-        if (success) {
-            order.setCiApplyNo(ziJinCrawlerSaveProposalResponse.getData().getProposalNoCI());
-            order.setCiPolicyNo(ziJinCrawlerSaveProposalResponse.getData().getPolicyNoCI());
-            order.setSyApplyNo(ziJinCrawlerSaveProposalResponse.getData().getProposalNo());
-            order.setBiPolicyNo(ziJinCrawlerSaveProposalResponse.getData().getPolicyNo());
+
+        // 投保单号信息
+        if (success && ziJinCrawlerSaveProposalResponse.getData() != null) {
+            ZiJinCrawlerSaveProposalResponse.Data data = ziJinCrawlerSaveProposalResponse.getData();
+            order.setCiApplyNo(data.getProposalNoCI());
+            order.setCiPolicyNo(data.getPolicyNoCI());
+            order.setSyApplyNo(data.getProposalNo());
+            order.setBiPolicyNo(data.getPolicyNo());
         }
 
         order.setCreateTime(LocalDateTime.now());

+ 14 - 16
tenant/insurance/quotation-zijin/src/main/java/com/jzg/quotation/zijin/crawler/service/impl/ZiJinCrawlerRequestImpl.java

@@ -145,7 +145,7 @@ public class ZiJinCrawlerRequestImpl implements ZiJinCrawlerRequest {
             ZiJinCrawlerGetCarActualValueResponse ziJinCrawlerGetCarActualValueResponse = ziJinCrawlerRequestComponent.getCarActualValue(ziJinCrawlerGetCarActualValueRequest, headers);
             log.info("ziJinCrawlerGetCarActualValueResponse参数的值:{}", JSON.toJSONString(ziJinCrawlerGetCarActualValueResponse));
 
-            //  报价接口
+            // 报价接口
             ZiJinCrawlerQuotationRequest ziJinCrawlerQuotationRequest = new ZiJinCrawlerQuotationRequest();
             // 设置基础信息
             ziJinCrawlerQuotationRequest.setBaseInfo(buildBaseInfo(quoteVo, parameters, attributionInformationVo.getUsername()));
@@ -289,7 +289,7 @@ public class ZiJinCrawlerRequestImpl implements ZiJinCrawlerRequest {
 
         UnderwritingResultsVo underwritingResultsVo = new UnderwritingResultsVo();
         // 核保成功
-        if ("0000" .equals(ziJinCrawlerUnderwritingResponse.getRtnCode())) {
+        if ("0000".equals(ziJinCrawlerUnderwritingResponse.getRtnCode())) {
             underwritingResultsVo.setUnderwritingStatus(InsOrderStatusEnum.PAY_PENDING);
             underwritingResultsVo.setJqApplyNo(ziJinCrawlerUnderwritingResponse.getData().getResultObj().getProposalNoCI());
             underwritingResultsVo.setSyApplyNo(ziJinCrawlerUnderwritingResponse.getData().getResultObj().getProposalNo());
@@ -339,7 +339,7 @@ public class ZiJinCrawlerRequestImpl implements ZiJinCrawlerRequest {
             log.info("ziJinCrawlerPaymentLinkResponse参数的值:{}", JSON.toJSONString(ziJinCrawlerPaymentLinkResponse));
             PaymentLinkResultsVo paymentLinkResultsVo = new PaymentLinkResultsVo();
             // 支付链接获取成功
-            if ("0000" .equals(ziJinCrawlerPaymentLinkResponse.getRtnCode())) {
+            if ("0000".equals(ziJinCrawlerPaymentLinkResponse.getRtnCode())) {
                 paymentLinkResultsVo.setPayLinkStatus(true);
                 paymentLinkResultsVo.setPaymentLink(ziJinCrawlerPaymentLinkResponse.getWechatUrl());
             } else {
@@ -432,7 +432,7 @@ public class ZiJinCrawlerRequestImpl implements ZiJinCrawlerRequest {
                 ZiJinCrawlerImageUploadResponse ziJinCrawlerImageUploadResponse = ziJinCrawlerRequestComponent.uploadImage(ziJinCrawlerImageUploadRequest, headers);
                 log.info("影像上传响应,订单号:{},响应:{}", ziJinCrawlerOrder.getOrderNo(), JSON.toJSONString(ziJinCrawlerImageUploadResponse));
 
-                if ("0000" .equals(ziJinCrawlerImageUploadResponse.getRtnCode())) {
+                if ("0000".equals(ziJinCrawlerImageUploadResponse.getRtnCode())) {
 
                     ZiJinCrawlerUploadImageInfoListRequest.ItemFileDataListDTO fileInfo = ZiJinCrawlerUploadImageInfoListRequest.ItemFileDataListDTO.builder()
                             .fileId(ziJinCrawlerImageUploadResponse.getFileId())
@@ -527,11 +527,11 @@ public class ZiJinCrawlerRequestImpl implements ZiJinCrawlerRequest {
             log.info("订单状态:{},中文含义:{}", orderStatus, ziJinCrawlerQueryOrderStatusResponse.getData().getContent().get(0).getOrderStatusCN());
             // 将保司返回的订单状态转换为系统定义的订单状态枚举类型
             InsOrderStatusEnum orderStatusEnum = null;
-            if ("5" .equals(orderStatus)) {
+            if ("5".equals(orderStatus)) {
                 orderStatusEnum = InsOrderStatusEnum.valueOf("ORDER_CLOSE");
                 orderStatus = orderStatusEnum.getCode();
             }
-            if ("9" .equals(orderStatus)) {
+            if ("9".equals(orderStatus)) {
                 orderStatusEnum = InsOrderStatusEnum.valueOf("AUDIT_FAIL");
                 orderStatus = orderStatusEnum.getCode();
             }
@@ -778,7 +778,7 @@ public class ZiJinCrawlerRequestImpl implements ZiJinCrawlerRequest {
         ziJinCrawlerGetCarActualValueRequest.setUpdateEnrollDate(quoteVo.getCarInfoVo().getRegisterDate());
         ziJinCrawlerGetCarActualValueRequest.setPurchasePrice(quoteVo.getCarInfoVo().getPurchasePrice());
         ziJinCrawlerGetCarActualValueRequest.setSeatCount(Integer.valueOf(quoteVo.getCarInfoVo().getSeatCount()));
-        ziJinCrawlerGetCarActualValueRequest.setUseNatureCode("02" .equals(quoteVo.getCarInfoVo().getCarNatureCode()) ? "85" : quoteVo.getCarInfoVo().getCarNatureCode());
+        ziJinCrawlerGetCarActualValueRequest.setUseNatureCode("02".equals(quoteVo.getCarInfoVo().getCarNatureCode()) ? "85" : quoteVo.getCarInfoVo().getCarNatureCode());
         ziJinCrawlerGetCarActualValueRequest.setStartDate(quoteVo.getCiRiskInfoVo().getStartDate().substring(0, 10));
         ziJinCrawlerGetCarActualValueRequest.setNewEnergyFlag(quoteVo.getCarInfoVo().getEnergyTypeCode());
         ziJinCrawlerGetCarActualValueRequest.setModelEnergyType(ObjectUtils.isEmpty(quoteVo.getCarInfoVo().getModelEnergyType()) ? "D1" : quoteVo.getCarInfoVo().getModelEnergyType());
@@ -878,7 +878,7 @@ public class ZiJinCrawlerRequestImpl implements ZiJinCrawlerRequest {
             // 证件类型映射,参考Python get_owner_i方法
             // 个人类型(1) -> vehicleOwnerNature="1"
             // 企业类型(2) -> vehicleOwnerNature="5"
-            if ("2" .equals(personType)) {
+            if ("2".equals(personType)) {
                 // 企业
                 carOwnerInfo.setVehicleOwnerNature("5");
                 // 企业证件类型映射
@@ -1016,7 +1016,7 @@ public class ZiJinCrawlerRequestImpl implements ZiJinCrawlerRequest {
         // 证件类型映射
         String identifyType = customerInfo.getIdentifyType();
         String personType = customerInfo.getPersonType();
-        if ("2" .equals(personType)) {
+        if ("2".equals(personType)) {
             // 企业
             insuredItem.setIdentifyType(mapEnterpriseIdentifyType(identifyType));
         } else {
@@ -1026,12 +1026,12 @@ public class ZiJinCrawlerRequestImpl implements ZiJinCrawlerRequest {
 
         // 性别映射
         String gender = customerInfo.getGender();
-        insuredItem.setSex("男" .equals(gender) ? "1" : "2");
+        insuredItem.setSex("男".equals(gender) ? "1" : "2");
 
         // 根据车主性质设置投保人/被保人类型
         // 个人车主("1"): 投保人/被保人都是自然人
         // 企业车主("5"): 投保人是法人,被保人是自然人
-        if ("5" .equals(vehicleOwnerNature) && insuredFlag == 2) {
+        if ("5".equals(vehicleOwnerNature) && insuredFlag == 2) {
             // 企业车主的投保人
             insuredItem.setInsuredNature("4");// 4-法人或其他组织
             insuredItem.setInsuredType("2");
@@ -1608,10 +1608,8 @@ public class ZiJinCrawlerRequestImpl implements ZiJinCrawlerRequest {
         vehicleInfo.setIssueDate(carInfoVo.getIssueDate());
 
         // 过户日期处理
-        if (carInfoVo.isTransferBi()) {
-            vehicleInfo.setMakeDate(carInfoVo.getTransferDate());
-        }
         if (carInfoVo.isTransfer()) {
+            vehicleInfo.setMakeDate(carInfoVo.getTransferDate());
             vehicleInfo.setMakeDateJQ(carInfoVo.getTransferDate());
         }
 
@@ -1650,7 +1648,7 @@ public class ZiJinCrawlerRequestImpl implements ZiJinCrawlerRequest {
         vehicleInfo.setModelCode(modelCode);
 
         // 是否新车未上牌
-        vehicleInfo.setNoLicenseFlag("0" .equals(carInfoVo.getIsRegistered()) ? "0" : "1");
+        vehicleInfo.setNoLicenseFlag("0".equals(carInfoVo.getIsRegistered()) ? "0" : "1");
 
         vehicleInfo.setVehicleId("1");
         vehicleInfo.setVinNo(carInfoVo.getVinNo());
@@ -1659,7 +1657,7 @@ public class ZiJinCrawlerRequestImpl implements ZiJinCrawlerRequest {
         vehicleInfo.setSeatCount(ObjectUtils.isEmpty(carInfoVo.getSeatCount()) ? 0 : Integer.parseInt(carInfoVo.getSeatCount()));
 
         // 使用性质代码
-        vehicleInfo.setUseNatureCode("02" .equals(quoteVo.getCarInfoVo().getCarNatureCode()) ? "85" : quoteVo.getCarInfoVo().getCarNatureCode());
+        vehicleInfo.setUseNatureCode("02".equals(quoteVo.getCarInfoVo().getCarNatureCode()) ? "85" : quoteVo.getCarInfoVo().getCarNatureCode());
         vehicleInfo.setOriCarKindName(carInfoVo.getCarTypeCode());
 
         // 平台车辆代码