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

fix 国任财险加入驾意险在核心 不生效问题

liub пре 2 месеци
родитељ
комит
1a93ca5eb2

+ 3 - 0
tenant/insurance/quotation-guoren/src/main/java/com/jzg/quotation/guoren/crawler/entity/request/GuoRenCrawlerCreateOrderRequest.java

@@ -44,6 +44,9 @@ public class GuoRenCrawlerCreateOrderRequest implements Serializable {
     @JsonProperty("requestTime")
     private String requestTime;
 
+    @JsonProperty("orderCode")
+    private String orderCode;
+
     public GuoRenCrawlerCreateOrderRequest(QuoteVo quoteVo,
                                            GuoRenCrawlerCalculationPremiumRequest calculationPremiumRequest,
                                            List<GuoRenCrawlerQueryQuotationData.LiabDTO> queryLiabList) {

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

@@ -4,9 +4,9 @@ import com.fasterxml.jackson.annotation.JsonProperty;
 import com.jzg.commons.entity.quote.vo.QuoteVo;
 import com.jzg.quotation.guoren.crawler.entity.dto.GuoRenBcDTO;
 import com.jzg.quotation.guoren.crawler.entity.response.GuoRenCrawlerCalculationPremiumData;
-import org.springframework.util.StringUtils;
 import lombok.Data;
 import lombok.NoArgsConstructor;
+import org.springframework.util.StringUtils;
 
 import java.io.Serial;
 import java.io.Serializable;
@@ -32,19 +32,25 @@ public class GuoRenCrawlerProposalNoSaveRequest implements Serializable {
     @JsonProperty("ci")
     private GuoRenCrawlerCalculationPremiumData.CiDTO ci;
 
+    @JsonProperty("order")
+    private String order;
+
+
     public GuoRenCrawlerProposalNoSaveRequest(QuoteVo quoteVo, GuoRenCrawlerCalculationPremiumData guoRenCrawlerCalculationPremiumData, GuoRenCrawlerCalculationPremiumRequest calculationPremiumRequest, GuoRenCrawlerCreateOrderRequest createOrderRequest) {
         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");
         if (createOrderRequest != null) {
             List<GuoRenCrawlerCreateOrderRequest.OrderMainDTO> orderMainList = new ArrayList<>();
             orderMainList.add(createOrderRequest.getData().getOrderList().get(0).getOrderMain());
             calculationPremiumRequest.getBc().setOrderMainList(orderMainList);
+            this.order = createOrderRequest.getOrderCode();
+            this.bc.getPrpTmain().setOrderNo(createOrderRequest.getOrderCode());
         }
-        this.bc = calculationPremiumRequest.getBc();
-        this.bc.getPrpTmain().setCaptcha("");
-        this.bc.getPrpTmain().setEProposalFlag("1");
         this.basePartVo = calculationPremiumRequest.getBasePartVo();
         guoRenCrawlerCalculationPremiumData.getCi().getCiInsureDemand().setTonCount(quoteVo.getCarInfoVo().getTonCount());
         guoRenCrawlerCalculationPremiumData.getCi().getCiInsureDemand().setSeatCount(quoteVo.getCarInfoVo().getSeatCount());
@@ -106,8 +112,7 @@ public class GuoRenCrawlerProposalNoSaveRequest implements Serializable {
             }
             // 传播demandNo到ciCarShipTaxQGDemandSchema
             if (this.ci != null && this.ci.getCiCarShipTaxQGDemandSchema() != null) {
-                String effectiveDemandNo = StringUtils.hasText(ciDemandNo) ? ciDemandNo
-                        : (this.ci.getCiInsureDemand() != null ? this.ci.getCiInsureDemand().getDemandNo() : null);
+                String effectiveDemandNo = StringUtils.hasText(ciDemandNo) ? ciDemandNo : (this.ci.getCiInsureDemand() != null ? this.ci.getCiInsureDemand().getDemandNo() : null);
                 if (StringUtils.hasText(effectiveDemandNo)) {
                     this.ci.getCiCarShipTaxQGDemandSchema().setDemandNo(effectiveDemandNo);
                 }

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

@@ -110,8 +110,8 @@ public class GuoRenCrawlerQuoteProcessServiceImpl implements GuoRenCrawlerQuoteP
     @Override
     public HttpHeaders getHeaders(String username) {
         HttpHeaders headers = new HttpHeaders();
-        String token = guoRenCrawlerCacheComponent.getToken(username);
-//        String token = "eyJhbGciOiJSUzI1NiJ9.eyJzdWIiOiJXMzAwMDM5OSIsInVzZXJJZCI6IjQ5NjE4MSIsIm5hbWUiOiLmnY7mmKXmooUiLCJleHAiOjE3ODEyNDU1NDJ9.YsfJuQ58NaPa-7aUrYjh0SdvRkxhsiejP648H39j6h1PztC0b5Rdb8GOi5oGkVew_CI-T5j0VeaYfSFF-DrqrT_LReqtbl-iM0_OeN8acFLNcXbhfv80mRz1HqPZrUXrwngS-8Q6eF42gOJVxAX_nSFNdJpX5977A3_KJdmVbxs";
+//        String token = guoRenCrawlerCacheComponent.getToken(username);
+        String token = "eyJhbGciOiJSUzI1NiJ9.eyJzdWIiOiJXMzAwMDM5OSIsInVzZXJJZCI6IjQ5NjE4MSIsIm5hbWUiOiLmnY7mmKXmooUiLCJleHAiOjE3ODM2NzExMTZ9.M9ATzYxnqCtuqRmrChaHOoM0u67ULQK253xZFdZlPZIYqvloAEcU-FFXf0znSxoMD1xOqIbMgAvNlsHdNV33AQFndbvuA3A9t8wz5ys0ny-JZ7ik_mMW75RfkwwhB1pBWCGi4WcsVUqwXdGu_8if_Q-6X4aDq-kC2R1DK57FLd4";
         if (!StringUtils.hasText(token)) {
             throw new TokenExpireException("500", "国任财险账号登录过期,请重新登录");
         }

+ 28 - 26
tenant/insurance/quotation-guoren/src/main/java/com/jzg/quotation/guoren/crawler/service/impl/GuoRenCrawlerRequestImpl.java

@@ -139,32 +139,6 @@ public class GuoRenCrawlerRequestImpl implements GuoRenCrawlerRequest {
                 crawlerCalculationPremiumRequest.getBi().getPrpTmain().setOrderFlag("N");
             }
         }
-        // 驾意险(非车险)处理:查询 → 校验 → 投保
-        String niPolicyNumber = null;
-        GuoRenCrawlerCreateOrderRequest createOrderRequest = null;
-        if (CollUtil.isNotEmpty(quoteVo.getAccidentalDrivings())) {
-            // 驾意险查询:获取liabList用于订单创建
-            GuoRenCrawlerQueryQuotationRequest queryQuotationRequest = new GuoRenCrawlerQueryQuotationRequest(quoteVo,  crawlerCalculationPremiumRequest.getBc().getPrpTitemCar());
-            GuoRenCrawlerBaseResponse<GuoRenCrawlerQueryQuotationData> queryResponse = guoRenCrawlerRequestComponent.queryQuotation(queryQuotationRequest, headers);
-            List<GuoRenCrawlerQueryQuotationData.LiabDTO> queryLiabList = null;
-            if ("0000".equals(queryResponse.getCode()) && queryResponse.getData() != null) {
-                queryLiabList = queryResponse.getData().getLiabList();
-            }
-            createOrderRequest = new GuoRenCrawlerCreateOrderRequest(quoteVo, crawlerCalculationPremiumRequest, queryLiabList);
-            // 第一步:驾意险校验
-            GuoRenCrawlerBaseResponse<GuoRenCrawlerCreateOrderCheckData> checkResponse = guoRenCrawlerRequestComponent.createOrderCheck(createOrderRequest, headers);
-            if (!checkResponse.getCode().equals("0000")) {
-                throw new SystemException("驾意险订单校验失败:" + checkResponse.getMessage());
-            }
-            // 第二步:驾意险投保
-            GuoRenCrawlerBaseResponse<GuoRenCrawlerCreateOrderDataData> dataResponse = guoRenCrawlerRequestComponent.createOrderData(createOrderRequest, headers);
-            if (!dataResponse.getCode().equals("0000")) {
-                throw new SystemException("驾意险投保失败:" + dataResponse.getMessage());
-            }
-            if (dataResponse.getData() != null) {
-                niPolicyNumber = dataResponse.getData().getOrderCode();
-            }
-        }
 
         GuoRenCrawlerBaseResponse<GuoRenCrawlerCalculationPremiumData> calculationPremium = guoRenCrawlerRequestComponent.calculationPremium(crawlerCalculationPremiumRequest, headers);
         // 处理重复投保
@@ -219,6 +193,34 @@ public class GuoRenCrawlerRequestImpl implements GuoRenCrawlerRequest {
         } else if (calculationPremium.getResultCode() == 1) {
             return GuoRenCrawlerQuoteResultsVoBuild.buildFailQuoteResultsVo(quoteVo, calculationPremium);
         }
+        // 驾意险(非车险)处理:查询 → 校验 → 投保
+        String niPolicyNumber = null;
+        GuoRenCrawlerCreateOrderRequest createOrderRequest = null;
+        if (CollUtil.isNotEmpty(quoteVo.getAccidentalDrivings())) {
+            // 驾意险查询:获取liabList用于订单创建
+            GuoRenCrawlerQueryQuotationRequest queryQuotationRequest = new GuoRenCrawlerQueryQuotationRequest(quoteVo,  crawlerCalculationPremiumRequest.getBc().getPrpTitemCar());
+            GuoRenCrawlerBaseResponse<GuoRenCrawlerQueryQuotationData> queryResponse = guoRenCrawlerRequestComponent.queryQuotation(queryQuotationRequest, headers);
+            List<GuoRenCrawlerQueryQuotationData.LiabDTO> queryLiabList = null;
+            if ("0000".equals(queryResponse.getCode()) && queryResponse.getData() != null) {
+                queryLiabList = queryResponse.getData().getLiabList();
+            }
+            createOrderRequest = new GuoRenCrawlerCreateOrderRequest(quoteVo, crawlerCalculationPremiumRequest, queryLiabList);
+            // 第一步:驾意险校验
+            GuoRenCrawlerBaseResponse<GuoRenCrawlerCreateOrderCheckData> checkResponse = guoRenCrawlerRequestComponent.createOrderCheck(createOrderRequest, headers);
+            if (!checkResponse.getCode().equals("0000")) {
+                throw new SystemException("驾意险订单校验失败:" + checkResponse.getMessage());
+            }
+            // 第二步:驾意险投保
+            GuoRenCrawlerBaseResponse<GuoRenCrawlerCreateOrderDataData> dataResponse = guoRenCrawlerRequestComponent.createOrderData(createOrderRequest, headers);
+            if (!dataResponse.getCode().equals("0000")) {
+                throw new SystemException("驾意险投保失败:" + dataResponse.getMessage());
+            }
+            if (dataResponse.getData() != null) {
+                niPolicyNumber = dataResponse.getData().getOrderCode();
+                createOrderRequest.setOrderCode(niPolicyNumber);
+            }
+        }
+
 
         // 投保验证码处理
         GuoRenCrawlerCalculationPremiumData calculationPremiumData = guoRenCrawlerQuoteProcessService.insuranceVerificationCodeProcessing(crawlerCalculationPremiumRequest, calculationPremium.getData(), headers);