Przeglądaj źródła

fix 国任财险bug修改

liub 4 miesięcy temu
rodzic
commit
98e8e08b45

+ 13 - 19
tenant/insurance/quotation-guoren/src/main/java/com/jzg/quotation/guoren/crawler/component/GuoRenCrawlerRequestComponent.java

@@ -178,9 +178,7 @@ public class GuoRenCrawlerRequestComponent {
     public GuoRenCrawlerGetLoginComInfoResponse getLoginComInfo(String username, String comCode, HttpHeaders httpHeaders) {
         String url = guoRenCrawlerProperties.getBaseUrl() + RequestUrl.GET_LOGIN_COM_INFO.getUri();
         GuoRenCrawlerGetLoginComInfoRequest guoRenCrawlerGetLoginComInfoRequest = new GuoRenCrawlerGetLoginComInfoRequest(username);
-        HttpRequest request = HttpRequest.post(url)
-                .header(httpHeaders)
-                .body(JSON.toJSONString(guoRenCrawlerGetLoginComInfoRequest));
+        HttpRequest request = HttpRequest.post(url).header(httpHeaders).body(JSON.toJSONString(guoRenCrawlerGetLoginComInfoRequest));
         HttpResponse httpResponse = request.execute();
         String body = httpResponse.body();
 
@@ -189,10 +187,11 @@ public class GuoRenCrawlerRequestComponent {
         if (body.trim().startsWith("[")) {
             getLoginComInfoResponseList = JSON.parseArray(body, GuoRenCrawlerGetLoginComInfoResponse.class);
         } else {
-            GuoRenCrawlerBaseResponse<List<GuoRenCrawlerGetLoginComInfoResponse>> response = JSON.parseObject(body, new TypeReference<>() {});
+            GuoRenCrawlerBaseResponse<List<GuoRenCrawlerGetLoginComInfoResponse>> response = JSON.parseObject(body, new TypeReference<>() {
+            });
             // 检查登录失效,返回特殊code码
             if (response != null && response.getResultCode() == 40301) {
-                throw new  TokenExpireException();
+                throw new TokenExpireException();
             }
             getLoginComInfoResponseList = response.getData();
         }
@@ -295,6 +294,9 @@ public class GuoRenCrawlerRequestComponent {
         GuoRenCrawlerGetCarPriceRequest getCarPriceRequest = new GuoRenCrawlerGetCarPriceRequest(queryCarModelData, prpTmainDTO, quoteVo, ownersAddr, relationShip);
         GuoRenCrawlerBaseResponse<List<GuoRenCrawlerGetCarPriceData>> request = request(RequestUrl.GET_CAR_PRICE, getCarPriceRequest, new ParameterizedTypeReference<>() {
         }, httpHeaders);
+        if (request.getResultCode() == 1) {
+            throw new SystemException(request.getResultMsg());
+        }
         return new GuoRenPrpTitemCarDTO(getCarPriceRequest, request.getData().get(0));
     }
 
@@ -306,7 +308,7 @@ public class GuoRenCrawlerRequestComponent {
      * @return 保费计算响应
      */
     public GuoRenCrawlerBaseResponse<GuoRenCrawlerCalculationPremiumData> calculationPremium(GuoRenCrawlerCalculationPremiumRequest crawlerCalculationPremiumRequest, HttpHeaders httpHeaders) {
-        GuoRenCrawlerBaseResponse<GuoRenCrawlerCalculationPremiumData>  request = request(RequestUrl.CALCULATION_PREMIUM, crawlerCalculationPremiumRequest, new ParameterizedTypeReference<>() {
+        GuoRenCrawlerBaseResponse<GuoRenCrawlerCalculationPremiumData> request = request(RequestUrl.CALCULATION_PREMIUM, crawlerCalculationPremiumRequest, new ParameterizedTypeReference<>() {
         }, httpHeaders);
         if (request.getResultCode() == 1 && !request.getResultMsg().contains("重复投保")) {
             throw new SystemException(request.getResultMsg());
@@ -323,8 +325,8 @@ public class GuoRenCrawlerRequestComponent {
      * @param httpHeaders               请求头
      * @return 投保单号
      */
-    public GuoRenCrawlerProposalNoSaveData proposalNoSave(GuoRenCrawlerCalculationPremiumRequest calculationPremiumRequest, GuoRenCrawlerCalculationPremiumData calculationPremium, HttpHeaders httpHeaders) {
-        GuoRenCrawlerProposalNoSaveRequest guoRenCrawlerProposalNoSaveRequest = new GuoRenCrawlerProposalNoSaveRequest(calculationPremium, calculationPremiumRequest);
+    public GuoRenCrawlerProposalNoSaveData proposalNoSave(QuoteVo quoteVo, GuoRenCrawlerCalculationPremiumRequest calculationPremiumRequest, GuoRenCrawlerCalculationPremiumData calculationPremium, HttpHeaders httpHeaders) {
+        GuoRenCrawlerProposalNoSaveRequest guoRenCrawlerProposalNoSaveRequest = new GuoRenCrawlerProposalNoSaveRequest(quoteVo, calculationPremium, calculationPremiumRequest);
         GuoRenCrawlerBaseResponse<GuoRenCrawlerProposalNoSaveData> request = request(RequestUrl.PROPOSAL_NO_SAVE, guoRenCrawlerProposalNoSaveRequest, new ParameterizedTypeReference<>() {
         }, httpHeaders);
         if (request.getResultCode() != 0) {
@@ -393,14 +395,7 @@ public class GuoRenCrawlerRequestComponent {
                     // 根据影像类型确定fileGroup
                     String fileGroup = getFileGroup(insuranceImageVo);
 
-                    Part[] parts = {
-                            filePart,
-                            new StringPart("businessType", "T"),
-                            new StringPart("businessNo", businessNo),
-                            new StringPart("operatorCode", operatorCode),
-                            new StringPart("comCode", comCode),
-                            new StringPart("fileGroup", fileGroup)
-                    };
+                    Part[] parts = {filePart, new StringPart("businessType", "T"), new StringPart("businessNo", businessNo), new StringPart("operatorCode", operatorCode), new StringPart("comCode", comCode), new StringPart("fileGroup", fileGroup)};
 
                     // 发送请求
                     String result = HttpUtil.sendPostFromFile(parts, url);
@@ -435,9 +430,8 @@ public class GuoRenCrawlerRequestComponent {
      */
     public GuoRenCrawlerSubmitUnderwriteData submitUnderwrite(String proposalNoCI, String proposalNoBI, String userCode, HttpHeaders httpHeaders) {
         GuoRenCrawlerSubmitUnderwriteRequest guoRenCrawlerSubmitUnderwriteRequest = new GuoRenCrawlerSubmitUnderwriteRequest(proposalNoCI, proposalNoBI, userCode);
-        GuoRenCrawlerBaseResponse<List<GuoRenCrawlerSubmitUnderwriteData>> response = request(RequestUrl.SUBMIT_UNDERWRITE, guoRenCrawlerSubmitUnderwriteRequest,
-                new ParameterizedTypeReference<>() {
-                }, httpHeaders);
+        GuoRenCrawlerBaseResponse<List<GuoRenCrawlerSubmitUnderwriteData>> response = request(RequestUrl.SUBMIT_UNDERWRITE, guoRenCrawlerSubmitUnderwriteRequest, new ParameterizedTypeReference<>() {
+        }, httpHeaders);
         return response.getData().get(0);
     }
 

+ 7 - 1
tenant/insurance/quotation-guoren/src/main/java/com/jzg/quotation/guoren/crawler/entity/dto/CiInsureDemandDTO.java

@@ -1,6 +1,8 @@
 package com.jzg.quotation.guoren.crawler.entity.dto;
 
 import com.fasterxml.jackson.annotation.JsonProperty;
+import com.jzg.commons.entity.quote.vo.CarInfoVo;
+import com.jzg.commons.entity.quote.vo.QuoteVo;
 import lombok.Data;
 import lombok.NoArgsConstructor;
 
@@ -417,9 +419,13 @@ public class CiInsureDemandDTO  implements Serializable {
     @JsonProperty("carOwner")
     private String carOwner;
 
-    public CiInsureDemandDTO(String demandNo, String checkCode) {
+    public CiInsureDemandDTO(String demandNo, String checkCode, QuoteVo quoteVo) {
         this.demandNo = demandNo;
         this.checkCode = checkCode;
+
+        CarInfoVo carInfoVo = quoteVo.getCarInfoVo();
+        this.seatCount = carInfoVo.getSeatCount();
+        this.tonCount = carInfoVo.getLimitLoad();
     }
 
 }

+ 1 - 1
tenant/insurance/quotation-guoren/src/main/java/com/jzg/quotation/guoren/crawler/entity/dto/GuoRenBiDTO.java

@@ -126,7 +126,7 @@ public class GuoRenBiDTO {
             this.prpTmainRate = new GuoRenPrpTmainRateDTO();
         }
         this.prpTitemCar = prpTitemCar;
-        this.ciInsureDemand = new CiInsureDemandDTO("", "");
+        this.ciInsureDemand = new CiInsureDemandDTO("", "",quoteVo);
         this.ciInsureDemandPay = new ArrayList<>();
         this.ciInsureDemandWarningClaim = new ArrayList<>();
         this.prpTenGearAllocationFeeList = new ArrayList<>();

+ 1 - 1
tenant/insurance/quotation-guoren/src/main/java/com/jzg/quotation/guoren/crawler/entity/dto/GuoRenCiDTO.java

@@ -136,7 +136,7 @@ public class GuoRenCiDTO {
         this.prptengageList = new ArrayList<>();
         this.prpDclause = new ArrayList<>();
         this.prpTitemCarExt = new PrpTitemCarExtDTO();
-        this.ciInsureDemand = new CiInsureDemandDTO("", "");
+        this.ciInsureDemand = new CiInsureDemandDTO("", "",quoteVo);
         this.ciInsureDemandPay = new ArrayList<>();
         this.ciInsureDemandLoss = new ArrayList<>();
         this.ciInsureDemandWarningClaim = new ArrayList<>();

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

@@ -1,6 +1,7 @@
 package com.jzg.quotation.guoren.crawler.entity.request;
 
 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 lombok.Data;
@@ -28,12 +29,16 @@ public class GuoRenCrawlerProposalNoSaveRequest implements Serializable {
     @JsonProperty("ci")
     private GuoRenCrawlerCalculationPremiumData.CiDTO ci;
 
-    public GuoRenCrawlerProposalNoSaveRequest(GuoRenCrawlerCalculationPremiumData guoRenCrawlerCalculationPremiumData, GuoRenCrawlerCalculationPremiumRequest calculationPremiumRequest) {
+    public GuoRenCrawlerProposalNoSaveRequest(QuoteVo quoteVo, GuoRenCrawlerCalculationPremiumData guoRenCrawlerCalculationPremiumData, GuoRenCrawlerCalculationPremiumRequest calculationPremiumRequest) {
         this.bc = calculationPremiumRequest.getBc();
         this.bc.setPrpTmain(guoRenCrawlerCalculationPremiumData.getBc().getPrpTmain());
         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());
+        guoRenCrawlerCalculationPremiumData.getBi().getCiInsureDemand().setTonCount(quoteVo.getCarInfoVo().getTonCount());
+        guoRenCrawlerCalculationPremiumData.getBi().getCiInsureDemand().setSeatCount(quoteVo.getCarInfoVo().getSeatCount());
         this.bi = guoRenCrawlerCalculationPremiumData.getBi();
         this.ci = guoRenCrawlerCalculationPremiumData.getCi();
     }

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

@@ -132,7 +132,7 @@ public class GuoRenCrawlerRequestImpl implements GuoRenCrawlerRequest {
         // 投保验证码处理
         GuoRenCrawlerCalculationPremiumData calculationPremiumData = guoRenCrawlerQuoteProcessService.insuranceVerificationCodeProcessing(crawlerCalculationPremiumRequest, calculationPremium.getData(), headers);
         // 保存投保单号
-        GuoRenCrawlerProposalNoSaveData proposalNoSave = guoRenCrawlerRequestComponent.proposalNoSave(crawlerCalculationPremiumRequest, calculationPremiumData, headers);
+        GuoRenCrawlerProposalNoSaveData proposalNoSave = guoRenCrawlerRequestComponent.proposalNoSave(quoteVo, crawlerCalculationPremiumRequest, calculationPremiumData, headers);
         // 保存数据
         guoRenCrawlerOrderService.saveOrderInfo(quoteVo, proposalNoSave);
         return GuoRenCrawlerQuoteResultsVoBuild.buildQuoteResultsVo(quoteVo, calculationPremiumData, proposalNoSave);