Эх сурвалжийг харах

Merge branch 'master' of http://39.101.143.165:8090/785834757/jzg

lipf 2 сар өмнө
parent
commit
fd67f6b0a3

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

@@ -250,8 +250,8 @@ public class AnShengCrawlerRequestImpl implements AnShengCrawlerRequest {
         paymentLinkResultsVo = loopAcquisitionPaymentLink(paymentLinkVo);
         // 支付链接为空直接失败返回
         if (StringUtils.isEmpty(paymentLinkResultsVo.getPaymentLink())) {
-            underwritingResultsVo.setUnderwritingResult(applyApplicationResponse.getMessage());
-            underwritingResultsVo.setUnderwritingStatus(InsOrderStatusEnum.AUDIT_FAIL);
+            underwritingResultsVo.setUnderwritingResult("核保失败,转人工");
+            underwritingResultsVo.setUnderwritingStatus(InsOrderStatusEnum.STAFF_PROCESS);
             return underwritingResultsVo;
         }
         // 正常赋值逻辑

+ 2 - 0
tenant/insurance/quotation-hengbang/src/main/java/com/jzg/quotation/hengbang/crawler/service/Impl/HengBangCrawlerRequestImpl.java

@@ -189,6 +189,8 @@ public class HengBangCrawlerRequestImpl implements HengBangCrawlerRequest {
         if (errorMsg.contains("该车是转保车,请输入对应的转保验证码")) {
             String responseBody = resJsonObj.getString("responseBody");
             HbCrawlerRecordResponse recordResponse = JSONObject.parseObject(responseBody, HbCrawlerRecordResponse.class);
+            recordResponse.getCheckcodeJq().replace("0","o");
+            recordResponse.getCheckcodeSy().replace("0","o");
             calculationRequest.setTransferVehicle(recordResponse);
 
             resJson = hbCrawlerRequestComponent.getCalculationResult(calculationRequest, headers);

+ 7 - 4
tenant/insurance/quotation-huatai/src/main/java/com/jzg/quotation/huatai/crawler/build/HuaTaiCrawlerQuoteResultsVoBuild.java

@@ -2,6 +2,7 @@ package com.jzg.quotation.huatai.crawler.build;
 
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
+import com.jzg.commons.constants.ProductsType;
 import com.jzg.commons.constants.dict.InsOrderStatusEnum;
 import com.jzg.commons.entity.quote.vo.KindInfoVo;
 import com.jzg.commons.entity.quote.vo.RiskInfoVo;
@@ -9,6 +10,7 @@ import com.jzg.commons.entity.quote.vo.aggregated.QuoteResultsVo;
 import com.jzg.commons.entity.quote.vo.QuoteVo;
 import com.jzg.commons.entity.quote.vo.base.OrderBase;
 import com.jzg.commons.util.StringUtils;
+import com.jzg.quotation.commons.constant.enums.quote.RenewalEnum;
 import com.jzg.quotation.huatai.api.constant.enums.ContractEnum;
 import com.jzg.quotation.huatai.crawler.entity.Response.HtCrawlerQuoteResponse;
 
@@ -53,10 +55,11 @@ public class HuaTaiCrawlerQuoteResultsVoBuild {
                 .fluentPut("score",quoteResponseData.getApplicationdto().getBicategory()));
         quoteResultsVo.getScoreVo().setScoreJson(scoreJson);
 
-        //续保标志0否1是 (跟python 一致)
-        quoteResultsVo.getScoreVo().setJqRenewal("转入".equals(quoteResponseData.getApplicationdto().getCustombusinesstype_ci()) ? "0" : "1");
-        quoteResultsVo.getScoreVo().setSyRenewal("转入".equals(quoteResponseData.getApplicationdto().getCustombusinesstype_bi()) ? "0" : "1");
-
+        //续保标志
+        quoteResultsVo.getScoreVo().setJqRenewal("转入".equals(quoteResponseData.getApplicationdto().getCustombusinesstype_ci()) ? String.valueOf(RenewalEnum.Transfer.getCode()) : quoteResponseData.getApplicationdto().getCustombusinesstype_ci());
+        if (!ProductsType.PT_0330.getCode().equals(quoteVo.getOrder().getProductId())) {
+            quoteResultsVo.getScoreVo().setSyRenewal("转入".equals(quoteResponseData.getApplicationdto().getCustombusinesstype_bi()) ? String.valueOf(RenewalEnum.Transfer.getCode()) : quoteResponseData.getApplicationdto().getCustombusinesstype_ci());
+        }
         quoteResultsVo.setQuoteStatusEnum(InsOrderStatusEnum.WAIT_AUDIT);
         return quoteResultsVo;
     }

+ 18 - 11
tenant/insurance/quotation-huatai/src/main/java/com/jzg/quotation/huatai/crawler/entity/Request/HtCrawlerOrderStateRequest.java

@@ -5,6 +5,7 @@ import lombok.Data;
 
 import java.io.Serial;
 import java.io.Serializable;
+import java.time.LocalDate;
 
 /**
  * @description: 华泰财险 查询订单状态 请求参数
@@ -20,9 +21,13 @@ public class HtCrawlerOrderStateRequest implements Serializable {
         this.quotationNo = quotationRelaNo;
         this.comcode = parameters.getComCode();
     }
-
+    private String telemarketnum = "";
     private String telemarketFlag = "0";
-    private String renewalTwoSwitch = "1";
+    private String renewalTwoSwitch = "";
+    private String insuredName = "";
+    private String certiCode = "";
+    private String flag = "";
+    private String status = "";
     /**
      * 报价单号
      */
@@ -30,20 +35,20 @@ public class HtCrawlerOrderStateRequest implements Serializable {
     /**
      * 车牌号
      */
-    private String licensePlateNo;
+    private String licensePlateNo = "";
     /**
      * 开始时间
      */
-    private String createDate1;
+    private String createDate1 = LocalDate.now().minusDays(30).toString();
     /**
      * 结束时间
      */
-    private String createDate2;
+    private String createDate2 = LocalDate.now().toString();
     private String comcode;
     /**
      * 出单系统:集成
      */
-    private String Single_system = "8";
+    private String Single_system = "10000";
     /**
      * 状态:有效
      */
@@ -56,10 +61,12 @@ public class HtCrawlerOrderStateRequest implements Serializable {
      * 业务类型:全部
      */
     private String businesstype = "0";
-    private String iFlag = "3";
-    private Integer VENUS_PAGE_NO_KEY = 1;
-    private Integer VENUS_PAGE_COUNT_KEY = 1;
-    private Integer VENUS_PAGE_SIZE_KEY = 15;
-    private Integer VENUS_PAGE_NO_KEY_INPUT = 1;
+    private String agentno_fdl = "";
+    private String agentno_dl = "";
+    private String iFlag = "2";
+    private String VENUS_PAGE_NO_KEY = "1";
+    private String VENUS_PAGE_COUNT_KEY = "476";
+    private String VENUS_PAGE_SIZE_KEY = "15";
+    private String VENUS_PAGE_NO_KEY_INPUT = "1";
 
 }

+ 16 - 10
tenant/insurance/quotation-huatai/src/main/java/com/jzg/quotation/huatai/crawler/service/Impl/HuaTaiCrawlerRequestImpl.java

@@ -994,6 +994,7 @@ public class HuaTaiCrawlerRequestImpl implements HuaTaiCrawlerRequest {
         String body = post(BASE_URL + "/htcsp/DocumentPrintAction.do?cmd=electronicPolicyEndorseDownload",
                 buildDocumentHeaders(req.getCookie()), fd);
         HtCrawlerDownloadPolicyResponse res = JSONObject.parseObject(body, HtCrawlerDownloadPolicyResponse.class);
+        log.info("下载保单响应结果,{}", JSONObject.toJSONString(res));
         DownloadPolicyResultVo r = new DownloadPolicyResultVo();
         for (var ftp : res.getFtpdownloadJson()) {
             if (jq) { r.setJqUrl(ftp.getDownurl()); r.setJqFlagUrl(ftp.getBzdownurl()); }
@@ -1010,16 +1011,21 @@ public class HuaTaiCrawlerRequestImpl implements HuaTaiCrawlerRequest {
         HtCrawlerConfigureParameters params = ConfigureParametersConversion.conversionEntity(
                 HtCrawlerConfigureParameters.class, attr.getConfigInfo());
         HtCrawlerOrder order = orderService.findByOrdersNo(vo.getOrder().getOrdersNo());
-        String html = req.queryOrderStatus(new HtCrawlerOrderStateRequest(params, order.getQuotationRelaNo()), req.getHeaders());
-        Document doc = Jsoup.parse(html);
-        Elements tds = doc.select("table[id='table'] tbody tr td");
-        // TODO: 完善字段映射
-        tds.get(1).firstElementChild().text(); // 客户名称
-        tds.get(2).firstElementChild().text(); // 保险起保日期
-        tds.get(3).firstElementChild().text(); // 车牌号
-        tds.get(4).firstElementChild().text(); // 报价单创建日期
-        tds.get(7).firstElementChild().text(); // 订单状态
-        return null;
+        String orderStatus = req.queryOrderStatus(new HtCrawlerOrderStateRequest(params, order.getQuotationRelaNo()), req.getHeaders());
+        String regex = "<div style=\"display: inline-block;width:50px;text-align: center; \">(.*?)</div>";
+        Pattern pattern = Pattern.compile(regex);
+        Matcher matcher = pattern.matcher(orderStatus);
+        if (matcher.find()) orderStatus = matcher.group(1);
+        InsOrderStatusEnum orderStatusEnum = null;
+        if ("已通过核保已实收".equals(orderStatus)) {
+            orderStatusEnum = InsOrderStatusEnum.valueOf("QUOTE_ING");
+            orderStatus = orderStatusEnum.getCode();
+        }
+        OrderStatusResultVo orderStatusResultVo = new OrderStatusResultVo();
+        //将订单状态转换为枚举类型
+        orderStatusResultVo.setOrderStatus(orderStatusEnum);
+        orderStatusResultVo.setOrderStatusStr(orderStatus);
+        return orderStatusResultVo;
     }
 
     // ====================== Headers 统一构建 ======================