Procházet zdrojové kódy

太平财险 报价信息

wks před 1 rokem
rodič
revize
a3e19ffad3
24 změnil soubory, kde provedl 1218 přidání a 718 odebrání
  1. 12 0
      tenant/insurance/quotation-commons/src/main/java/com/jzg/quotation/commons/entity/vo/quote/CustomerInfoVo.java
  2. 15 1
      tenant/insurance/quotation-commons/src/main/java/com/jzg/quotation/commons/filter/CarModelsFilter.java
  3. 102 8
      tenant/insurance/quotation-taiping/src/main/java/com/jzg/quotation/taiping/crawler/component/TaiPingCrawlerRequestComponent.java
  4. 11 5
      tenant/insurance/quotation-taiping/src/main/java/com/jzg/quotation/taiping/crawler/constant/enums/RequestUrl.java
  5. 12 1
      tenant/insurance/quotation-taiping/src/main/java/com/jzg/quotation/taiping/crawler/entity/TaipingCrawlerConfigureParameters.java
  6. 11 0
      tenant/insurance/quotation-taiping/src/main/java/com/jzg/quotation/taiping/crawler/entity/request/TaiPingCrawlerAuthRequest.java
  7. 28 2
      tenant/insurance/quotation-taiping/src/main/java/com/jzg/quotation/taiping/crawler/entity/request/TaiPingCrawlerBrandNameQueryRequest.java
  8. 46 0
      tenant/insurance/quotation-taiping/src/main/java/com/jzg/quotation/taiping/crawler/entity/request/TaiPingCrawlerFindSolutionCodeRequest.java
  9. 35 0
      tenant/insurance/quotation-taiping/src/main/java/com/jzg/quotation/taiping/crawler/entity/request/TaiPingCrawlerImageIntoOneFileRequest.java
  10. 24 0
      tenant/insurance/quotation-taiping/src/main/java/com/jzg/quotation/taiping/crawler/entity/request/TaiPingCrawlerOCRResultConfirmRequest.java
  11. 395 635
      tenant/insurance/quotation-taiping/src/main/java/com/jzg/quotation/taiping/crawler/entity/request/TaiPingCrawlerPremiumCalculateRequest.java
  12. 3 0
      tenant/insurance/quotation-taiping/src/main/java/com/jzg/quotation/taiping/crawler/entity/request/TaiPingCrawlerQueryListRequest.java
  13. 36 0
      tenant/insurance/quotation-taiping/src/main/java/com/jzg/quotation/taiping/crawler/entity/request/TaiPingCrawlerSendSMSRequest.java
  14. 17 0
      tenant/insurance/quotation-taiping/src/main/java/com/jzg/quotation/taiping/crawler/entity/request/TaiPingCrawlersSubmitToAuditRequest.java
  15. 85 65
      tenant/insurance/quotation-taiping/src/main/java/com/jzg/quotation/taiping/crawler/entity/response/TaiPingCrawlerBrandNameQueryData.java
  16. 66 0
      tenant/insurance/quotation-taiping/src/main/java/com/jzg/quotation/taiping/crawler/entity/response/TaiPingCrawlerFindSolutionCodeData.java
  17. 24 0
      tenant/insurance/quotation-taiping/src/main/java/com/jzg/quotation/taiping/crawler/entity/response/TaiPingCrawlerOCRResultConfirmData.java
  18. 42 0
      tenant/insurance/quotation-taiping/src/main/java/com/jzg/quotation/taiping/crawler/entity/response/TaiPingCrawlerOrderCreateData.java
  19. 117 0
      tenant/insurance/quotation-taiping/src/main/java/com/jzg/quotation/taiping/crawler/entity/response/TaiPingCrawlerSendSMSData.java
  20. 5 0
      tenant/insurance/quotation-taiping/src/main/java/com/jzg/quotation/taiping/crawler/entity/response/TaiPingCrawlerSubmitValidateData.java
  21. 71 0
      tenant/insurance/quotation-taiping/src/main/java/com/jzg/quotation/taiping/crawler/entity/response/TaiPingCrawlersSubmitToAuditData.java
  22. 13 0
      tenant/insurance/quotation-taiping/src/main/java/com/jzg/quotation/taiping/crawler/service/TaiPingApiQuoteProcessService.java
  23. 18 1
      tenant/insurance/quotation-taiping/src/main/java/com/jzg/quotation/taiping/crawler/service/impl/TaiPingApiOrderServiceImpl.java
  24. 30 0
      tenant/insurance/quotation-taiping/src/main/java/com/jzg/quotation/taiping/crawler/service/impl/TaiPingApiQuoteProcessServiceImpl.java

+ 12 - 0
tenant/insurance/quotation-commons/src/main/java/com/jzg/quotation/commons/entity/vo/quote/CustomerInfoVo.java

@@ -29,6 +29,18 @@ public class CustomerInfoVo implements Serializable {
      * 身份证号
      * 身份证号
      */
      */
     private String identifyNumber;
     private String identifyNumber;
+    /**
+     * 生日
+     */
+    private String birthday;
+    /**
+     * 年龄
+     */
+    private String age;
+    /**
+     * 性别
+     */
+    private String gender;
     /**
     /**
      * 身份证有效起期
      * 身份证有效起期
      */
      */

+ 15 - 1
tenant/insurance/quotation-commons/src/main/java/com/jzg/quotation/commons/filter/CarModelsFilter.java

@@ -1,10 +1,24 @@
 package com.jzg.quotation.commons.filter;
 package com.jzg.quotation.commons.filter;
 
 
-
+/**
+ * @description: 过滤车型
+ * @author: wenks
+ * @date: 2025/3/14 15:55
+ **/
 public interface CarModelsFilter {
 public interface CarModelsFilter {
 
 
+    /**
+     * 获取车辆年款
+     *
+     * @return 年款
+     */
     String getCarYear();
     String getCarYear();
 
 
+    /**
+     * 获取新车购置价
+     *
+     * @return 新车购置价
+     */
     String getPurchasePrice();
     String getPurchasePrice();
 
 
 }
 }

+ 102 - 8
tenant/insurance/quotation-taiping/src/main/java/com/jzg/quotation/taiping/crawler/component/TaiPingCrawlerRequestComponent.java

@@ -6,10 +6,8 @@ import com.jzg.commons.exception.SystemException;
 import com.jzg.quotation.commons.component.RequestComponent;
 import com.jzg.quotation.commons.component.RequestComponent;
 import com.jzg.quotation.commons.entity.vo.base.R;
 import com.jzg.quotation.commons.entity.vo.base.R;
 import com.jzg.quotation.taiping.crawler.constant.enums.RequestUrl;
 import com.jzg.quotation.taiping.crawler.constant.enums.RequestUrl;
-import com.jzg.quotation.taiping.crawler.entity.request.TaiPingCrawlerAuthRequest;
-import com.jzg.quotation.taiping.crawler.entity.response.TaiPingCrawlerAuthData;
-import com.jzg.quotation.taiping.crawler.entity.response.TaiPingCrawlerBaseResponse;
-import com.jzg.quotation.taiping.crawler.entity.response.TaiPingCrawlerLoginData;
+import com.jzg.quotation.taiping.crawler.entity.request.*;
+import com.jzg.quotation.taiping.crawler.entity.response.*;
 import com.jzg.quotation.taiping.crawler.properties.TaiPingCrawlerProperties;
 import com.jzg.quotation.taiping.crawler.properties.TaiPingCrawlerProperties;
 import com.jzg.quotation.taiping.crawler.utils.AESEncryption;
 import com.jzg.quotation.taiping.crawler.utils.AESEncryption;
 import com.jzg.quotation.taiping.crawler.utils.VerifyCodeCreate;
 import com.jzg.quotation.taiping.crawler.utils.VerifyCodeCreate;
@@ -45,7 +43,7 @@ public class TaiPingCrawlerRequestComponent {
         return AESEncryption.decrypt(responseBody, tTypeReference);
         return AESEncryption.decrypt(responseBody, tTypeReference);
     }
     }
 
 
-    private <Response> Response requestCookie(RequestUrl requestUrl, ParameterizedTypeReference<Response> parameterizedTypeReference) {
+    public <Response> Response requestCookie(RequestUrl requestUrl, ParameterizedTypeReference<Response> parameterizedTypeReference) {
         String url = requestUrl.getRequestUrl(taiPingCrawlerProperties.getCookieUrl());
         String url = requestUrl.getRequestUrl(taiPingCrawlerProperties.getCookieUrl());
         return requestComponent.get(url, Map.of(), requestUrl.getDescription(), new ParameterizedTypeReference<>() {
         return requestComponent.get(url, Map.of(), requestUrl.getDescription(), new ParameterizedTypeReference<>() {
         }, new HttpHeaders());
         }, new HttpHeaders());
@@ -85,7 +83,7 @@ public class TaiPingCrawlerRequestComponent {
      *
      *
      * @return 验证码实体
      * @return 验证码实体
      */
      */
-    private TaiPingCrawlerBaseResponse<String> verifyCode() {
+    public TaiPingCrawlerBaseResponse<String> verifyCode() {
         String verifyCode = VerifyCodeCreate.getVerifyCode();
         String verifyCode = VerifyCodeCreate.getVerifyCode();
         String url = taiPingCrawlerProperties.getUrl() + RequestUrl.VERIFY_CODE.getUri() + verifyCode;
         String url = taiPingCrawlerProperties.getUrl() + RequestUrl.VERIFY_CODE.getUri() + verifyCode;
         return requestComponent.get(url, Map.of(), RequestUrl.VERIFY_CODE.getDescription(), new ParameterizedTypeReference<>() {
         return requestComponent.get(url, Map.of(), RequestUrl.VERIFY_CODE.getDescription(), new ParameterizedTypeReference<>() {
@@ -98,7 +96,7 @@ public class TaiPingCrawlerRequestComponent {
      * @param taiPingCrawlerAuthRequest 鉴权信息
      * @param taiPingCrawlerAuthRequest 鉴权信息
      * @return 鉴权实体
      * @return 鉴权实体
      */
      */
-    private TaiPingCrawlerBaseResponse<TaiPingCrawlerAuthData> auth(TaiPingCrawlerAuthRequest taiPingCrawlerAuthRequest) {
+    public TaiPingCrawlerBaseResponse<TaiPingCrawlerAuthData> auth(TaiPingCrawlerAuthRequest taiPingCrawlerAuthRequest) {
         return requestPostStrDecrypt(RequestUrl.AUTH, taiPingCrawlerAuthRequest, new TypeReference<>() {
         return requestPostStrDecrypt(RequestUrl.AUTH, taiPingCrawlerAuthRequest, new TypeReference<>() {
         }, new HttpHeaders());
         }, new HttpHeaders());
     }
     }
@@ -109,7 +107,7 @@ public class TaiPingCrawlerRequestComponent {
      * @param ticket 鉴权返回的唯一id
      * @param ticket 鉴权返回的唯一id
      * @return 登录返回信息
      * @return 登录返回信息
      */
      */
-    private TaiPingCrawlerBaseResponse<TaiPingCrawlerLoginData> login(String ticket) {
+    public TaiPingCrawlerBaseResponse<TaiPingCrawlerLoginData> login(String ticket) {
         // 报文信息
         // 报文信息
         LinkedMultiValueMap<String, Object> multiValueMap = new LinkedMultiValueMap<>();
         LinkedMultiValueMap<String, Object> multiValueMap = new LinkedMultiValueMap<>();
         multiValueMap.add("oTicket", null);
         multiValueMap.add("oTicket", null);
@@ -133,6 +131,102 @@ public class TaiPingCrawlerRequestComponent {
         return responseEntity.getBody();
         return responseEntity.getBody();
     }
     }
 
 
+    /**
+     * 获取销售信息子代码
+     *
+     * @param request      获取销售信息子代码请求
+     * @param solutionCode 销售信息子代码
+     * @param httpHeaders  请求头
+     * @return 销售信息子代码列表
+     */
+    public TaiPingCrawlerFindSolutionCodeData.RecordsDTO findSolutionCode(TaiPingCrawlerFindSolutionCodeRequest request, String solutionCode, HttpHeaders httpHeaders) {
+        TaiPingCrawlerBaseResponse<TaiPingCrawlerFindSolutionCodeData> response = requestPostStrDecrypt(RequestUrl.FIND_SOLUTION_CODE, request, new TypeReference<>() {
+        }, httpHeaders);
+        return response.getData()
+                .getRecords()
+                .stream()
+                .filter(x -> x.getSolutionCode().equals(solutionCode))
+                .findFirst()
+                .orElseThrow(() -> new SystemException("销售信息子代码不存在"));
+    }
+
+    /**
+     * 创建订单号
+     *
+     * @param request     订单号请求
+     * @param httpHeaders 请求头
+     * @return 订单号
+     */
+    public String orderCreate(TaiPingCrawlerFindSolutionCodeRequest request, HttpHeaders httpHeaders) {
+        TaiPingCrawlerBaseResponse<String> response = requestPostStrDecrypt(RequestUrl.CREATE_ORDER, request, new TypeReference<>() {
+        }, httpHeaders);
+        return response.getData();
+    }
+
+    /**
+     * 车型查询
+     *
+     * @param requestUrl  车型查询链接
+     * @param request     车型查询请求
+     * @param httpHeaders 请求头
+     * @return 车型查询响应体
+     */
+    public TaiPingCrawlerBaseResponse<TaiPingCrawlerBrandNameQueryData> queryBrand(RequestUrl requestUrl, TaiPingCrawlerBrandNameQueryRequest request, HttpHeaders httpHeaders) {
+        return requestPostStrDecrypt(requestUrl, request, new TypeReference<>() {
+        }, httpHeaders);
+    }
+
+    /**
+     * 保费计算
+     *
+     * @param request     保费计算请求
+     * @param httpHeaders 请求头
+     * @return 保费计算响应
+     */
+    public TaiPingCrawlerBaseResponse<TaiPingCrawlerPremiumCalculateData> premiumCalculate(TaiPingCrawlerPremiumCalculateRequest request, HttpHeaders httpHeaders) {
+        return requestPostStrDecrypt(RequestUrl.PREMIUM_CALCULATE, request, new TypeReference<>() {
+        }, httpHeaders);
+    }
+
+
+
+
+    /**
+     * 提交验证
+     *
+     * @param request     报价返回信息
+     * @param httpHeaders 请求头
+     * @return 验证响应
+     */
+    public TaiPingCrawlerBaseResponse<String> submitValidate(TaiPingCrawlerPremiumCalculateData request, HttpHeaders httpHeaders) {
+        return requestPostStrDecrypt(RequestUrl.SUBMIT_VALIDATE, request, new TypeReference<>() {
+        }, httpHeaders);
+    }
+
+    /**
+     * 提交核保
+     *
+     * @param request     提核请求
+     * @param httpHeaders 请求头
+     * @return 提交核保响应
+     */
+    public TaiPingCrawlerBaseResponse<TaiPingCrawlerSubmitValidateData> submitToAudit(TaiPingCrawlersSubmitToAuditRequest request, HttpHeaders httpHeaders) {
+        return requestPostStrDecrypt(RequestUrl.SUBMIT_TO_AUDIT, request, new TypeReference<>() {
+        }, httpHeaders);
+    }
+
+
+    /**
+     * 获取支付二维码
+     *
+     * @param request     支付二维码请求
+     * @param httpHeaders 请求头
+     * @return 支付二维码
+     */
+    public TaiPingCrawlerBaseResponse<TaiPingCrawlerSendSMSData> sendSMS(TaiPingCrawlerSendSMSRequest request, HttpHeaders httpHeaders) {
+        return requestPostStrDecrypt(RequestUrl.SEND_SMS, request, new TypeReference<>() {
+        }, httpHeaders);
+    }
 
 
 
 
 }
 }

+ 11 - 5
tenant/insurance/quotation-taiping/src/main/java/com/jzg/quotation/taiping/crawler/constant/enums/RequestUrl.java

@@ -7,6 +7,7 @@ import lombok.Getter;
 @Getter
 @Getter
 @AllArgsConstructor
 @AllArgsConstructor
 public enum RequestUrl implements CrawlerRequestUrlStandard {
 public enum RequestUrl implements CrawlerRequestUrlStandard {
+
     //获取cookie
     //获取cookie
     GET_COOKIE("/rs/get-cookie", "获取cookie"),
     GET_COOKIE("/rs/get-cookie", "获取cookie"),
     UPDATE_COOKIE("/rs/update-cookie", "更新cookie"),
     UPDATE_COOKIE("/rs/update-cookie", "更新cookie"),
@@ -16,18 +17,23 @@ public enum RequestUrl implements CrawlerRequestUrlStandard {
     LOGIN("/system/jwt/login", "登陆"),
     LOGIN("/system/jwt/login", "登陆"),
     // 报价
     // 报价
     FIND_SOLUTION_CODE("/sales/lbtsales/findSolutionCode", "查询销售信息子代码"),
     FIND_SOLUTION_CODE("/sales/lbtsales/findSolutionCode", "查询销售信息子代码"),
+    CREATE_ORDER("/proposalform/order/create", "创建订单"),
     BRAND_NAME_QUERY("/proposalform/intelligentRetrieval/process2/BrandNameQuery", "车型查询"),
     BRAND_NAME_QUERY("/proposalform/intelligentRetrieval/process2/BrandNameQuery", "车型查询"),
+    QUERY_RENEWAL("/proposalform/intelligentRetrieval/process2/QueryRenewal", "车架号查询"),
+    VEHICLE_FOR_PRP_QUERY("api/proposalform/vehicleForPRPQuery", "精准查车查询"),
     PREMIUM_CALCULATE("/proposalform/premiumCalculate/premiumCalculateEntrace", "保费计算"),
     PREMIUM_CALCULATE("/proposalform/premiumCalculate/premiumCalculateEntrace", "保费计算"),
-
-    // 提交核保
-    SUBMIT_VALIDATE("/proposalform/proposalSubmit/submitValidate", "提交核保"),
-
     //上传影像
     //上传影像
+    IMAGE_INTO_ONE_FILE("/image/imgServer/imageIntoOneFile", "上传影像"),
+    OCR_RESULT_CONFIRM("/image/imgServer/OCRResultConfirm", "ocr识别"),
 
 
+    // 提交核保
+    SUBMIT_VALIDATE("/proposalform/proposalSubmit/submitValidate", "提交验证"),
+    SUBMIT_TO_AUDIT("/submitaudit/proposalSubmitAudit/submitToAudit", "提交核保"),
+    //支付二维码
+    SEND_SMS("/proposalform/elecInsurance/sendSMS", "支付二维码"),
     //保单查询
     //保单查询
 
 
     //订单状态查询
     //订单状态查询
-
     QUERY_LIST("/proposalform/proposal/queryList/", "订单查询"),
     QUERY_LIST("/proposalform/proposal/queryList/", "订单查询"),
     ;
     ;
 
 

+ 12 - 1
tenant/insurance/quotation-taiping/src/main/java/com/jzg/quotation/taiping/crawler/entity/TaipingCrawlerConfigureParameters.java

@@ -19,5 +19,16 @@ public class TaipingCrawlerConfigureParameters implements Serializable {
      * 系统编码
      * 系统编码
      */
      */
     private String systemCode;
     private String systemCode;
-
+    /**
+     * 业务员
+     */
+    private String salesManCode;
+    /**
+     * 业务归属机构
+     */
+    private String companyCode;
+    /**
+     * 决策单元代码
+     */
+    private String solutionCode;
 }
 }

+ 11 - 0
tenant/insurance/quotation-taiping/src/main/java/com/jzg/quotation/taiping/crawler/entity/request/TaiPingCrawlerAuthRequest.java

@@ -1,6 +1,7 @@
 package com.jzg.quotation.taiping.crawler.entity.request;
 package com.jzg.quotation.taiping.crawler.entity.request;
 
 
 import com.fasterxml.jackson.annotation.JsonProperty;
 import com.fasterxml.jackson.annotation.JsonProperty;
+import com.jzg.quotation.taiping.crawler.entity.response.TaiPingCrawlerBaseResponse;
 import lombok.Data;
 import lombok.Data;
 import lombok.NoArgsConstructor;
 import lombok.NoArgsConstructor;
 
 
@@ -40,4 +41,14 @@ public class TaiPingCrawlerAuthRequest {
     @JsonProperty("reqTimestamp")
     @JsonProperty("reqTimestamp")
     private String reqTimestamp;
     private String reqTimestamp;
 
 
+
+    public TaiPingCrawlerAuthRequest(TaiPingCrawlerBaseResponse<String> verifyCode, String username, String password) {
+        this.userCode = username;
+        this.password = password;
+        this.smsCode = "";
+        this.verifyCode = verifyCode.getData();
+        this.verifyKey = verifyCode.getExcId();
+        this.personInd = personInd;
+        this.reqTimestamp = reqTimestamp;
+    }
 }
 }

+ 28 - 2
tenant/insurance/quotation-taiping/src/main/java/com/jzg/quotation/taiping/crawler/entity/request/TaiPingCrawlerBrandNameQueryRequest.java

@@ -1,8 +1,12 @@
 package com.jzg.quotation.taiping.crawler.entity.request;
 package com.jzg.quotation.taiping.crawler.entity.request;
 
 
 import com.fasterxml.jackson.annotation.JsonProperty;
 import com.fasterxml.jackson.annotation.JsonProperty;
+import com.jzg.quotation.commons.entity.vo.quote.CarInfoVo;
+import com.jzg.quotation.taiping.crawler.utils.VerifyCodeCreate;
+import jodd.util.StringUtil;
 import lombok.Data;
 import lombok.Data;
 import lombok.NoArgsConstructor;
 import lombok.NoArgsConstructor;
+import org.springframework.util.StringUtils;
 
 
 
 
 /**
 /**
@@ -15,7 +19,6 @@ import lombok.NoArgsConstructor;
 @Data
 @Data
 public class TaiPingCrawlerBrandNameQueryRequest {
 public class TaiPingCrawlerBrandNameQueryRequest {
 
 
-
     @JsonProperty("productType")
     @JsonProperty("productType")
     private String productType;
     private String productType;
 
 
@@ -23,7 +26,7 @@ public class TaiPingCrawlerBrandNameQueryRequest {
     private Boolean firstYear;
     private Boolean firstYear;
 
 
     @JsonProperty("newCarFlag")
     @JsonProperty("newCarFlag")
-    private String newCarFlag;
+    private Boolean newCarFlag;
     /**
     /**
      * 品牌型号
      * 品牌型号
      */
      */
@@ -63,4 +66,27 @@ public class TaiPingCrawlerBrandNameQueryRequest {
 
 
     @JsonProperty("licenseTypeCode")
     @JsonProperty("licenseTypeCode")
     private String licenseTypeCode;
     private String licenseTypeCode;
+
+    public TaiPingCrawlerBrandNameQueryRequest(CarInfoVo carInfoVo, String orderNo, String companyCode, String licenseTypeCode) {
+        this.productType = "1";
+        if(StringUtils.hasText(carInfoVo.getLicenseNo())){
+            this.firstYear = true;
+            this.newCarFlag = true;
+        }else {
+            this.firstYear = false;
+            this.newCarFlag = false;
+            this.brandName = carInfoVo.getBrandName();
+            this.licenseNo = carInfoVo.getLicenseNo();
+        }
+        this.companyCode = companyCode;
+        this.frameNo = carInfoVo.getVinNo();
+        this.orderNo = orderNo;
+        this.irBatchNo = VerifyCodeCreate.getVerifyCode();
+        this.queryType = "1";
+        this.vehicleQueryType = "1";
+        this.subType = "";
+        this.intermediaryCode = "02";
+        this.licenseTypeCode = licenseTypeCode;
+    }
+
 }
 }

+ 46 - 0
tenant/insurance/quotation-taiping/src/main/java/com/jzg/quotation/taiping/crawler/entity/request/TaiPingCrawlerFindSolutionCodeRequest.java

@@ -0,0 +1,46 @@
+package com.jzg.quotation.taiping.crawler.entity.request;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+@NoArgsConstructor
+@Data
+public class TaiPingCrawlerFindSolutionCodeRequest {
+
+
+    @JsonProperty("businessType")
+    private String businessType;
+
+    @JsonProperty("companyCode")
+    private String companyCode;
+
+    @JsonProperty("riskCode")
+    private String riskCode;
+
+    @JsonProperty("salesManCode")
+    private String salesManCode;
+
+    @JsonProperty("userCode")
+    private String userCode;
+
+    @JsonProperty("pageNo")
+    private Integer pageNo;
+
+    @JsonProperty("pageSize")
+    private Integer pageSize;
+
+    @JsonProperty("personInd")
+    private String personInd;
+
+    public TaiPingCrawlerFindSolutionCodeRequest(String companyCode, String salesManCode, String userCode) {
+        this.businessType = "2";
+        this.companyCode = companyCode;
+        this.riskCode = "1359";
+        this.salesManCode = salesManCode;
+        this.userCode = userCode;
+        this.pageNo = 1;
+        this.pageSize = 20;
+        this.personInd = "C";
+    }
+}

+ 35 - 0
tenant/insurance/quotation-taiping/src/main/java/com/jzg/quotation/taiping/crawler/entity/request/TaiPingCrawlerImageIntoOneFileRequest.java

@@ -0,0 +1,35 @@
+package com.jzg.quotation.taiping.crawler.entity.request;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.util.List;
+
+@NoArgsConstructor
+@Data
+public class TaiPingCrawlerImageIntoOneFileRequest {
+
+    @JsonProperty("certiType")
+    private String certiType;
+
+    @JsonProperty("orderNo")
+    private String orderNo;
+
+    @JsonProperty("fileEcmType")
+    private String fileEcmType;
+
+    @JsonProperty("fileType")
+    private String fileType;
+
+    @JsonProperty("fileAllType")
+    private List<String> fileAllType;
+
+
+    @JsonProperty("imageSuffix")
+    private String imageSuffix;
+
+    @JsonProperty("imageBase64")
+    private String imageBase64;
+
+}

+ 24 - 0
tenant/insurance/quotation-taiping/src/main/java/com/jzg/quotation/taiping/crawler/entity/request/TaiPingCrawlerOCRResultConfirmRequest.java

@@ -0,0 +1,24 @@
+package com.jzg.quotation.taiping.crawler.entity.request;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+
+/**
+ * @description: OCR 识别
+ * @author: wenks
+ * @date: 2025/3/14 18:00
+ **/
+@NoArgsConstructor
+@Data
+public class TaiPingCrawlerOCRResultConfirmRequest {
+
+    @JsonProperty("infoMainId")
+    private String infoMainId;
+
+    @JsonProperty("userMarkState")
+    private String userMarkState;
+
+}
+

Rozdílová data souboru nebyla zobrazena, protože soubor je příliš velký
+ 395 - 635
tenant/insurance/quotation-taiping/src/main/java/com/jzg/quotation/taiping/crawler/entity/request/TaiPingCrawlerPremiumCalculateRequest.java


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

@@ -89,10 +89,13 @@ public class TaiPingCrawlerQueryListRequest {
         private String isAddMaterial;
         private String isAddMaterial;
         @JsonProperty("inputDateForQueryStart")
         @JsonProperty("inputDateForQueryStart")
         private String inputDateForQueryStart;
         private String inputDateForQueryStart;
+
         @JsonProperty("inputDateForQueryEnd")
         @JsonProperty("inputDateForQueryEnd")
         private String inputDateForQueryEnd;
         private String inputDateForQueryEnd;
+
         @JsonProperty("riskCodes")
         @JsonProperty("riskCodes")
         private List<String> riskCodes;
         private List<String> riskCodes;
+
         @JsonProperty("personInd")
         @JsonProperty("personInd")
         private String personInd;
         private String personInd;
 
 

+ 36 - 0
tenant/insurance/quotation-taiping/src/main/java/com/jzg/quotation/taiping/crawler/entity/request/TaiPingCrawlerSendSMSRequest.java

@@ -0,0 +1,36 @@
+package com.jzg.quotation.taiping.crawler.entity.request;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+@NoArgsConstructor
+@Data
+public class TaiPingCrawlerSendSMSRequest {
+
+    @JsonProperty("orderNo")
+    private String orderNo;
+    @JsonProperty("proposalNo")
+    private String proposalNo;
+    @JsonProperty("phoneNo")
+    private String phoneNo;
+    @JsonProperty("phoneNoOrigin")
+    private String phoneNoOrigin;
+    @JsonProperty("mpInsuredSwitch")
+    private String mpInsuredSwitch;
+    @JsonProperty("userCode")
+    private String userCode;
+    @JsonProperty("insuranceType")
+    private String insuranceType;
+
+    public TaiPingCrawlerSendSMSRequest(String orderNo, String proposalNo, String userCode) {
+        this.orderNo = orderNo;
+        this.proposalNo = proposalNo;
+        this.phoneNo = "";
+        this.phoneNoOrigin = "0";
+        this.mpInsuredSwitch = "1";
+        this.userCode = userCode;
+        this.insuranceType = "3";
+    }
+
+}

+ 17 - 0
tenant/insurance/quotation-taiping/src/main/java/com/jzg/quotation/taiping/crawler/entity/request/TaiPingCrawlersSubmitToAuditRequest.java

@@ -0,0 +1,17 @@
+package com.jzg.quotation.taiping.crawler.entity.request;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+@NoArgsConstructor
+@Data
+public class TaiPingCrawlersSubmitToAuditRequest {
+
+    @JsonProperty("orderNo")
+    private String orderNo;
+
+    @JsonProperty("personInd")
+    private String personInd;
+
+}

+ 85 - 65
tenant/insurance/quotation-taiping/src/main/java/com/jzg/quotation/taiping/crawler/entity/response/TaiPingCrawlerBrandNameQueryData.java

@@ -1,9 +1,12 @@
 package com.jzg.quotation.taiping.crawler.entity.response;
 package com.jzg.quotation.taiping.crawler.entity.response;
 
 
 import com.fasterxml.jackson.annotation.JsonProperty;
 import com.fasterxml.jackson.annotation.JsonProperty;
+import com.jzg.quotation.commons.filter.CarModelsFilter;
 import lombok.Data;
 import lombok.Data;
 import lombok.NoArgsConstructor;
 import lombok.NoArgsConstructor;
 
 
+import java.io.Serial;
+import java.io.Serializable;
 import java.util.List;
 import java.util.List;
 
 
 
 
@@ -14,7 +17,10 @@ import java.util.List;
  **/
  **/
 @NoArgsConstructor
 @NoArgsConstructor
 @Data
 @Data
-public class TaiPingCrawlerBrandNameQueryData {
+public class TaiPingCrawlerBrandNameQueryData implements Serializable {
+
+    @Serial
+    private static final long serialVersionUID = 2826282729401353122L;
 
 
     @JsonProperty("tipMsg")
     @JsonProperty("tipMsg")
     private String tipMsg;
     private String tipMsg;
@@ -51,27 +57,38 @@ public class TaiPingCrawlerBrandNameQueryData {
 
 
     @NoArgsConstructor
     @NoArgsConstructor
     @Data
     @Data
-    public static class ButtonMapDTO {
+    public static class ButtonMapDTO implements Serializable {
+        @Serial
+        private static final long serialVersionUID = 6598989982434830440L;
+
         @JsonProperty("nextProcess")
         @JsonProperty("nextProcess")
         private String nextProcess;
         private String nextProcess;
     }
     }
 
 
     @NoArgsConstructor
     @NoArgsConstructor
     @Data
     @Data
-    public static class ButtonPathMapDTO {
+    public static class ButtonPathMapDTO  implements Serializable {
+        @Serial
+        private static final long serialVersionUID = -5522343682120122957L;
+
         @JsonProperty("nextProcess")
         @JsonProperty("nextProcess")
         private String nextProcess;
         private String nextProcess;
     }
     }
 
 
     @NoArgsConstructor
     @NoArgsConstructor
     @Data
     @Data
-    public static class ItemMotorDtoListDTO {
+    public static class ItemMotorDtoListDTO implements Serializable, CarModelsFilter {
+
+
+        @Serial
+        private static final long serialVersionUID = 7223203626043524051L;
+
         @JsonProperty("loancarCompany")
         @JsonProperty("loancarCompany")
         private Object loancarCompany;
         private Object loancarCompany;
         @JsonProperty("whiteListFlag")
         @JsonProperty("whiteListFlag")
-        private Object whiteListFlag;
+        private String whiteListFlag;
         @JsonProperty("whiteListElecContactNo")
         @JsonProperty("whiteListElecContactNo")
-        private Object whiteListElecContactNo;
+        private String whiteListElecContactNo;
         @JsonProperty("cxtPrice")
         @JsonProperty("cxtPrice")
         private Object cxtPrice;
         private Object cxtPrice;
         @JsonProperty("tonCountJy")
         @JsonProperty("tonCountJy")
@@ -89,9 +106,9 @@ public class TaiPingCrawlerBrandNameQueryData {
         @JsonProperty("fleetName")
         @JsonProperty("fleetName")
         private Object fleetName;
         private Object fleetName;
         @JsonProperty("classificationOfCDW")
         @JsonProperty("classificationOfCDW")
-        private Object classificationOfCDW;
+        private String classificationOfCDW;
         @JsonProperty("clauseType")
         @JsonProperty("clauseType")
-        private Object clauseType;
+        private String clauseType;
         @JsonProperty("agreeDriverInd")
         @JsonProperty("agreeDriverInd")
         private Object agreeDriverInd;
         private Object agreeDriverInd;
         @JsonProperty("newDeviceInd")
         @JsonProperty("newDeviceInd")
@@ -101,7 +118,7 @@ public class TaiPingCrawlerBrandNameQueryData {
         @JsonProperty("taxiInd")
         @JsonProperty("taxiInd")
         private Object taxiInd;
         private Object taxiInd;
         @JsonProperty("licenseNo")
         @JsonProperty("licenseNo")
-        private Object licenseNo;
+        private String licenseNo;
         @JsonProperty("licenseNoA")
         @JsonProperty("licenseNoA")
         private Object licenseNoA;
         private Object licenseNoA;
         @JsonProperty("licenseColorCode")
         @JsonProperty("licenseColorCode")
@@ -109,7 +126,7 @@ public class TaiPingCrawlerBrandNameQueryData {
         @JsonProperty("carKindCode")
         @JsonProperty("carKindCode")
         private String carKindCode;
         private String carKindCode;
         @JsonProperty("hkFlag")
         @JsonProperty("hkFlag")
-        private Object hkFlag;
+        private String hkFlag;
         @JsonProperty("hkLicenseNo")
         @JsonProperty("hkLicenseNo")
         private Object hkLicenseNo;
         private Object hkLicenseNo;
         @JsonProperty("engineNo")
         @JsonProperty("engineNo")
@@ -123,9 +140,9 @@ public class TaiPingCrawlerBrandNameQueryData {
         @JsonProperty("withinChinaInd")
         @JsonProperty("withinChinaInd")
         private Object withinChinaInd;
         private Object withinChinaInd;
         @JsonProperty("runAreaCode")
         @JsonProperty("runAreaCode")
-        private Object runAreaCode;
+        private String runAreaCode;
         @JsonProperty("runAreaName")
         @JsonProperty("runAreaName")
-        private Object runAreaName;
+        private String runAreaName;
         @JsonProperty("runMiles")
         @JsonProperty("runMiles")
         private Object runMiles;
         private Object runMiles;
         @JsonProperty("enrollDate")
         @JsonProperty("enrollDate")
@@ -167,7 +184,7 @@ public class TaiPingCrawlerBrandNameQueryData {
         @JsonProperty("doorCount")
         @JsonProperty("doorCount")
         private Object doorCount;
         private Object doorCount;
         @JsonProperty("colorCode")
         @JsonProperty("colorCode")
-        private Object colorCode;
+        private String colorCode;
         @JsonProperty("safeDevice")
         @JsonProperty("safeDevice")
         private Object safeDevice;
         private Object safeDevice;
         @JsonProperty("parkSite")
         @JsonProperty("parkSite")
@@ -197,7 +214,7 @@ public class TaiPingCrawlerBrandNameQueryData {
         @JsonProperty("estimateValue")
         @JsonProperty("estimateValue")
         private Object estimateValue;
         private Object estimateValue;
         @JsonProperty("purchasePrice")
         @JsonProperty("purchasePrice")
-        private Double purchasePrice;
+        private String purchasePrice;
         @JsonProperty("actualValue")
         @JsonProperty("actualValue")
         private Object actualValue;
         private Object actualValue;
         @JsonProperty("invoiceNo")
         @JsonProperty("invoiceNo")
@@ -223,7 +240,7 @@ public class TaiPingCrawlerBrandNameQueryData {
         @JsonProperty("hirePurchase")
         @JsonProperty("hirePurchase")
         private Object hirePurchase;
         private Object hirePurchase;
         @JsonProperty("localVehicleInd")
         @JsonProperty("localVehicleInd")
-        private Object localVehicleInd;
+        private String localVehicleInd;
         @JsonProperty("glassType")
         @JsonProperty("glassType")
         private String glassType;
         private String glassType;
         @JsonProperty("peccancyRecord")
         @JsonProperty("peccancyRecord")
@@ -281,15 +298,15 @@ public class TaiPingCrawlerBrandNameQueryData {
         @JsonProperty("settleAddressCode")
         @JsonProperty("settleAddressCode")
         private Object settleAddressCode;
         private Object settleAddressCode;
         @JsonProperty("useNatureShow")
         @JsonProperty("useNatureShow")
-        private Object useNatureShow;
+        private String useNatureShow;
         @JsonProperty("attachNature")
         @JsonProperty("attachNature")
         private Object attachNature;
         private Object attachNature;
         @JsonProperty("carUseType")
         @JsonProperty("carUseType")
-        private Object carUseType;
+        private String carUseType;
         @JsonProperty("carTypeCode")
         @JsonProperty("carTypeCode")
         private Object carTypeCode;
         private Object carTypeCode;
         @JsonProperty("carKindCodeShow")
         @JsonProperty("carKindCodeShow")
-        private Object carKindCodeShow;
+        private String carKindCodeShow;
         @JsonProperty("carNewOldFlag")
         @JsonProperty("carNewOldFlag")
         private Object carNewOldFlag;
         private Object carNewOldFlag;
         @JsonProperty("subProposalNo")
         @JsonProperty("subProposalNo")
@@ -319,7 +336,7 @@ public class TaiPingCrawlerBrandNameQueryData {
         @JsonProperty("familyCode")
         @JsonProperty("familyCode")
         private String familyCode;
         private String familyCode;
         @JsonProperty("frameNoHeteroType")
         @JsonProperty("frameNoHeteroType")
-        private Object frameNoHeteroType;
+        private String frameNoHeteroType;
         @JsonProperty("updateTime")
         @JsonProperty("updateTime")
         private Object updateTime;
         private Object updateTime;
         @JsonProperty("hazardType")
         @JsonProperty("hazardType")
@@ -327,7 +344,7 @@ public class TaiPingCrawlerBrandNameQueryData {
         @JsonProperty("vehicleCategory")
         @JsonProperty("vehicleCategory")
         private String vehicleCategory;
         private String vehicleCategory;
         @JsonProperty("colorName")
         @JsonProperty("colorName")
-        private Object colorName;
+        private String colorName;
         @JsonProperty("previousPrpallCompany")
         @JsonProperty("previousPrpallCompany")
         private Object previousPrpallCompany;
         private Object previousPrpallCompany;
         @JsonProperty("planCode")
         @JsonProperty("planCode")
@@ -335,21 +352,21 @@ public class TaiPingCrawlerBrandNameQueryData {
         @JsonProperty("riskCode")
         @JsonProperty("riskCode")
         private Object riskCode;
         private Object riskCode;
         @JsonProperty("groupCode")
         @JsonProperty("groupCode")
-        private Object groupCode;
+        private String groupCode;
         @JsonProperty("simpleFrameNo")
         @JsonProperty("simpleFrameNo")
         private Object simpleFrameNo;
         private Object simpleFrameNo;
         @JsonProperty("chgOwnerFlag")
         @JsonProperty("chgOwnerFlag")
-        private Object chgOwnerFlag;
+        private String chgOwnerFlag;
         @JsonProperty("carKindShowSub")
         @JsonProperty("carKindShowSub")
         private Object carKindShowSub;
         private Object carKindShowSub;
         @JsonProperty("transferDate")
         @JsonProperty("transferDate")
         private Object transferDate;
         private Object transferDate;
         @JsonProperty("loanVehicleFlag")
         @JsonProperty("loanVehicleFlag")
-        private Object loanVehicleFlag;
+        private String loanVehicleFlag;
         @JsonProperty("singeinDate")
         @JsonProperty("singeinDate")
         private Object singeinDate;
         private Object singeinDate;
         @JsonProperty("specialCarFlag")
         @JsonProperty("specialCarFlag")
-        private Object specialCarFlag;
+        private String specialCarFlag;
         @JsonProperty("vehicleCode")
         @JsonProperty("vehicleCode")
         private Object vehicleCode;
         private Object vehicleCode;
         @JsonProperty("ciModelCode")
         @JsonProperty("ciModelCode")
@@ -363,11 +380,11 @@ public class TaiPingCrawlerBrandNameQueryData {
         @JsonProperty("negotiatedActualValue")
         @JsonProperty("negotiatedActualValue")
         private Object negotiatedActualValue;
         private Object negotiatedActualValue;
         @JsonProperty("isSpecialCarFlag")
         @JsonProperty("isSpecialCarFlag")
-        private Object isSpecialCarFlag;
+        private String isSpecialCarFlag;
         @JsonProperty("carCheckValidTime")
         @JsonProperty("carCheckValidTime")
         private Object carCheckValidTime;
         private Object carCheckValidTime;
         @JsonProperty("engineModel")
         @JsonProperty("engineModel")
-        private Object engineModel;
+        private String engineModel;
         @JsonProperty("configModel")
         @JsonProperty("configModel")
         private Object configModel;
         private Object configModel;
         @JsonProperty("carYear")
         @JsonProperty("carYear")
@@ -391,7 +408,7 @@ public class TaiPingCrawlerBrandNameQueryData {
         @JsonProperty("hfName")
         @JsonProperty("hfName")
         private String hfName;
         private String hfName;
         @JsonProperty("carID")
         @JsonProperty("carID")
-        private Object carID;
+        private String carID;
         @JsonProperty("carIDCheckInd")
         @JsonProperty("carIDCheckInd")
         private Object carIDCheckInd;
         private Object carIDCheckInd;
         @JsonProperty("carIDVersionNo")
         @JsonProperty("carIDVersionNo")
@@ -405,7 +422,7 @@ public class TaiPingCrawlerBrandNameQueryData {
         @JsonProperty("shVehicleCode")
         @JsonProperty("shVehicleCode")
         private Object shVehicleCode;
         private Object shVehicleCode;
         @JsonProperty("jgVehicleCheckCode")
         @JsonProperty("jgVehicleCheckCode")
-        private Object jgVehicleCheckCode;
+        private String jgVehicleCheckCode;
         @JsonProperty("driveUseAttribute")
         @JsonProperty("driveUseAttribute")
         private Object driveUseAttribute;
         private Object driveUseAttribute;
         @JsonProperty("platformBlacklistNum")
         @JsonProperty("platformBlacklistNum")
@@ -413,19 +430,19 @@ public class TaiPingCrawlerBrandNameQueryData {
         @JsonProperty("carBlacklistInd")
         @JsonProperty("carBlacklistInd")
         private Object carBlacklistInd;
         private Object carBlacklistInd;
         @JsonProperty("commercialCarGrade")
         @JsonProperty("commercialCarGrade")
-        private Object commercialCarGrade;
+        private String commercialCarGrade;
         @JsonProperty("commercialCarGradeSource")
         @JsonProperty("commercialCarGradeSource")
-        private Object commercialCarGradeSource;
+        private String commercialCarGradeSource;
         @JsonProperty("sale4SFlag")
         @JsonProperty("sale4SFlag")
         private Object sale4SFlag;
         private Object sale4SFlag;
         @JsonProperty("saleCompany")
         @JsonProperty("saleCompany")
-        private Object saleCompany;
+        private String saleCompany;
         @JsonProperty("saleAreaCode")
         @JsonProperty("saleAreaCode")
-        private Object saleAreaCode;
+        private String saleAreaCode;
         @JsonProperty("saleAreaName")
         @JsonProperty("saleAreaName")
-        private Object saleAreaName;
+        private String saleAreaName;
         @JsonProperty("provinceEcdemicVehicleFlag")
         @JsonProperty("provinceEcdemicVehicleFlag")
-        private Object provinceEcdemicVehicleFlag;
+        private String provinceEcdemicVehicleFlag;
         @JsonProperty("vehicleInitialRegister")
         @JsonProperty("vehicleInitialRegister")
         private Object vehicleInitialRegister;
         private Object vehicleInitialRegister;
         @JsonProperty("specialVehicleFlagCode")
         @JsonProperty("specialVehicleFlagCode")
@@ -433,51 +450,51 @@ public class TaiPingCrawlerBrandNameQueryData {
         @JsonProperty("specialVehicleFlagMean")
         @JsonProperty("specialVehicleFlagMean")
         private Object specialVehicleFlagMean;
         private Object specialVehicleFlagMean;
         @JsonProperty("vehicleQueryType")
         @JsonProperty("vehicleQueryType")
-        private Object vehicleQueryType;
+        private String vehicleQueryType;
         @JsonProperty("distinguishVanAreaCode")
         @JsonProperty("distinguishVanAreaCode")
         private Object distinguishVanAreaCode;
         private Object distinguishVanAreaCode;
         @JsonProperty("cvFlag")
         @JsonProperty("cvFlag")
-        private Object cvFlag;
+        private String cvFlag;
         @JsonProperty("principalCHDVehicleGrade")
         @JsonProperty("principalCHDVehicleGrade")
-        private Object principalCHDVehicleGrade;
+        private String principalCHDVehicleGrade;
         @JsonProperty("principalCHDTeamGrade")
         @JsonProperty("principalCHDTeamGrade")
-        private Object principalCHDTeamGrade;
+        private String principalCHDTeamGrade;
         @JsonProperty("principalZJXLGrade")
         @JsonProperty("principalZJXLGrade")
         private Object principalZJXLGrade;
         private Object principalZJXLGrade;
         @JsonProperty("principalLicenseNo")
         @JsonProperty("principalLicenseNo")
-        private Object principalLicenseNo;
+        private String principalLicenseNo;
         @JsonProperty("principalValidPolicyCount")
         @JsonProperty("principalValidPolicyCount")
-        private Object principalValidPolicyCount;
+        private String principalValidPolicyCount;
         @JsonProperty("chdVehicleGrade")
         @JsonProperty("chdVehicleGrade")
-        private Object chdVehicleGrade;
+        private String chdVehicleGrade;
         @JsonProperty("chdTeamGrade")
         @JsonProperty("chdTeamGrade")
-        private Object chdTeamGrade;
+        private String chdTeamGrade;
         @JsonProperty("zjxlGrade")
         @JsonProperty("zjxlGrade")
-        private Object zjxlGrade;
+        private String zjxlGrade;
         @JsonProperty("principalQuotationDiscount")
         @JsonProperty("principalQuotationDiscount")
-        private Object principalQuotationDiscount;
+        private String principalQuotationDiscount;
         @JsonProperty("newEnergyFlag")
         @JsonProperty("newEnergyFlag")
-        private Object newEnergyFlag;
+        private String newEnergyFlag;
         @JsonProperty("energyType")
         @JsonProperty("energyType")
-        private Object energyType;
+        private String energyType;
         @JsonProperty("range")
         @JsonProperty("range")
-        private Object range;
+        private String range;
         @JsonProperty("energyTypeDescribe")
         @JsonProperty("energyTypeDescribe")
-        private Object energyTypeDescribe;
+        private String energyTypeDescribe;
         @JsonProperty("newEnergyClauseFlag")
         @JsonProperty("newEnergyClauseFlag")
-        private Object newEnergyClauseFlag;
+        private String newEnergyClauseFlag;
         @JsonProperty("callC05")
         @JsonProperty("callC05")
         private Object callC05;
         private Object callC05;
         @JsonProperty("callC05Result")
         @JsonProperty("callC05Result")
         private Object callC05Result;
         private Object callC05Result;
         @JsonProperty("vehicleStyleUniqueId")
         @JsonProperty("vehicleStyleUniqueId")
-        private Object vehicleStyleUniqueId;
+        private String vehicleStyleUniqueId;
         @JsonProperty("certificateType")
         @JsonProperty("certificateType")
-        private Object certificateType;
+        private String certificateType;
         @JsonProperty("certificateNo")
         @JsonProperty("certificateNo")
-        private Object certificateNo;
+        private String certificateNo;
         @JsonProperty("certificateReportDate")
         @JsonProperty("certificateReportDate")
-        private Object certificateReportDate;
+        private String certificateReportDate;
         @JsonProperty("carGroupName")
         @JsonProperty("carGroupName")
         private String carGroupName;
         private String carGroupName;
         @JsonProperty("scUpdateTime")
         @JsonProperty("scUpdateTime")
@@ -499,9 +516,9 @@ public class TaiPingCrawlerBrandNameQueryData {
         @JsonProperty("rideSharingScore")
         @JsonProperty("rideSharingScore")
         private Object rideSharingScore;
         private Object rideSharingScore;
         @JsonProperty("negotiatedActualValueType")
         @JsonProperty("negotiatedActualValueType")
-        private Object negotiatedActualValueType;
+        private String negotiatedActualValueType;
         @JsonProperty("vehicleFatteryFlag")
         @JsonProperty("vehicleFatteryFlag")
-        private Object vehicleFatteryFlag;
+        private String vehicleFatteryFlag;
         @JsonProperty("riskFactorShow")
         @JsonProperty("riskFactorShow")
         private Object riskFactorShow;
         private Object riskFactorShow;
         @JsonProperty("driveCityCode")
         @JsonProperty("driveCityCode")
@@ -511,7 +528,7 @@ public class TaiPingCrawlerBrandNameQueryData {
         @JsonProperty("bsVehicleCategory")
         @JsonProperty("bsVehicleCategory")
         private Object bsVehicleCategory;
         private Object bsVehicleCategory;
         @JsonProperty("totalTractionMass")
         @JsonProperty("totalTractionMass")
-        private Object totalTractionMass;
+        private String totalTractionMass;
         @JsonProperty("updateDate")
         @JsonProperty("updateDate")
         private Object updateDate;
         private Object updateDate;
         @JsonProperty("configType")
         @JsonProperty("configType")
@@ -519,7 +536,7 @@ public class TaiPingCrawlerBrandNameQueryData {
         @JsonProperty("useNatureShowName")
         @JsonProperty("useNatureShowName")
         private Object useNatureShowName;
         private Object useNatureShowName;
         @JsonProperty("vehicleCategoryName")
         @JsonProperty("vehicleCategoryName")
-        private Object vehicleCategoryName;
+        private String vehicleCategoryName;
         @JsonProperty("carUseTypeName")
         @JsonProperty("carUseTypeName")
         private Object carUseTypeName;
         private Object carUseTypeName;
         @JsonProperty("companyCode")
         @JsonProperty("companyCode")
@@ -529,7 +546,7 @@ public class TaiPingCrawlerBrandNameQueryData {
         @JsonProperty("ciModelClass")
         @JsonProperty("ciModelClass")
         private String ciModelClass;
         private String ciModelClass;
         @JsonProperty("glassTypeName")
         @JsonProperty("glassTypeName")
-        private Object glassTypeName;
+        private String glassTypeName;
         @JsonProperty("renewalNo")
         @JsonProperty("renewalNo")
         private Object renewalNo;
         private Object renewalNo;
         @JsonProperty("vehicleId")
         @JsonProperty("vehicleId")
@@ -549,17 +566,17 @@ public class TaiPingCrawlerBrandNameQueryData {
         @JsonProperty("fgSwitch")
         @JsonProperty("fgSwitch")
         private Object fgSwitch;
         private Object fgSwitch;
         @JsonProperty("licenseColorName")
         @JsonProperty("licenseColorName")
-        private Object licenseColorName;
+        private String licenseColorName;
         @JsonProperty("attachNatureName")
         @JsonProperty("attachNatureName")
         private Object attachNatureName;
         private Object attachNatureName;
         @JsonProperty("localVehicleIndName")
         @JsonProperty("localVehicleIndName")
         private Object localVehicleIndName;
         private Object localVehicleIndName;
         @JsonProperty("licenseTypeName")
         @JsonProperty("licenseTypeName")
-        private Object licenseTypeName;
+        private String licenseTypeName;
         @JsonProperty("motorTypeName")
         @JsonProperty("motorTypeName")
-        private Object motorTypeName;
+        private String motorTypeName;
         @JsonProperty("carKindCodeShowName")
         @JsonProperty("carKindCodeShowName")
-        private Object carKindCodeShowName;
+        private String carKindCodeShowName;
         @JsonProperty("pureRiskPremium")
         @JsonProperty("pureRiskPremium")
         private Object pureRiskPremium;
         private Object pureRiskPremium;
         @JsonProperty("demandNo")
         @JsonProperty("demandNo")
@@ -597,7 +614,7 @@ public class TaiPingCrawlerBrandNameQueryData {
         @JsonProperty("startDate")
         @JsonProperty("startDate")
         private Object startDate;
         private Object startDate;
         @JsonProperty("taxVehicleCategory")
         @JsonProperty("taxVehicleCategory")
-        private Object taxVehicleCategory;
+        private String taxVehicleCategory;
         @JsonProperty("riskStartDate")
         @JsonProperty("riskStartDate")
         private Object riskStartDate;
         private Object riskStartDate;
         @JsonProperty("riskEndDate")
         @JsonProperty("riskEndDate")
@@ -611,8 +628,11 @@ public class TaiPingCrawlerBrandNameQueryData {
         @JsonProperty("fullWeight")
         @JsonProperty("fullWeight")
         private String fullWeight;
         private String fullWeight;
         @JsonProperty("nerveCentre")
         @JsonProperty("nerveCentre")
-        private Object nerveCentre;
+        private String nerveCentre;
         @JsonProperty("thirdRunRoute")
         @JsonProperty("thirdRunRoute")
-        private Object thirdRunRoute;
+        private String thirdRunRoute;
+
+
+
     }
     }
 }
 }

+ 66 - 0
tenant/insurance/quotation-taiping/src/main/java/com/jzg/quotation/taiping/crawler/entity/response/TaiPingCrawlerFindSolutionCodeData.java

@@ -0,0 +1,66 @@
+package com.jzg.quotation.taiping.crawler.entity.response;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.util.List;
+
+@NoArgsConstructor
+@Data
+public class TaiPingCrawlerFindSolutionCodeData {
+
+    @JsonProperty("records")
+    private List<RecordsDTO> records;
+
+    @JsonProperty("total")
+    private Integer total;
+
+    @NoArgsConstructor
+    @Data
+    public static class RecordsDTO {
+
+        @JsonProperty("solutionCode")
+        private String solutionCode;
+
+        @JsonProperty("riskCode")
+        private String riskCode;
+
+        @JsonProperty("cooperateSiteCode")
+        private String cooperateSiteCode;
+
+        @JsonProperty("cooperateSiteCName")
+        private String cooperateSiteCName;
+
+        @JsonProperty("intermediaryCode")
+        private String intermediaryCode;
+
+        @JsonProperty("intermediaryCName")
+        private String intermediaryCName;
+
+        @JsonProperty("channelDetailCode")
+        private String channelDetailCode;
+
+        @JsonProperty("channelDetailName")
+        private String channelDetailName;
+
+        @JsonProperty("channelTip")
+        private String channelTip;
+
+        @JsonProperty("channelTipName")
+        private String channelTipName;
+
+        @JsonProperty("businessSource")
+        private String businessSource;
+
+        @JsonProperty("outerCompanyCode")
+        private Object outerCompanyCode;
+
+        @JsonProperty("agreementNo")
+        private String agreementNo;
+
+        @JsonProperty("rn")
+        private Integer rn;
+    }
+
+}

+ 24 - 0
tenant/insurance/quotation-taiping/src/main/java/com/jzg/quotation/taiping/crawler/entity/response/TaiPingCrawlerOCRResultConfirmData.java

@@ -0,0 +1,24 @@
+package com.jzg.quotation.taiping.crawler.entity.response;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.util.List;
+
+/**
+ * @description: OCR 响应
+ * @author: wenks
+ * @date: 2025/3/14 18:00
+ **/
+@NoArgsConstructor
+@Data
+public class TaiPingCrawlerOCRResultConfirmData {
+
+    @JsonProperty("fileTypes")
+    private List<String> fileTypes;
+
+    @JsonProperty("imgConfirmStatus")
+    private String imgConfirmStatus;
+
+}

+ 42 - 0
tenant/insurance/quotation-taiping/src/main/java/com/jzg/quotation/taiping/crawler/entity/response/TaiPingCrawlerOrderCreateData.java

@@ -0,0 +1,42 @@
+package com.jzg.quotation.taiping.crawler.entity.response;
+
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+@NoArgsConstructor
+@Data
+public class TaiPingCrawlerOrderCreateData {
+
+    @JsonProperty("businessMode")
+    private String businessMode;
+    @JsonProperty("companyCode")
+    private String companyCode;
+    @JsonProperty("agreementNo")
+    private String agreementNo;
+    @JsonProperty("solutionCode")
+    private String solutionCode;
+    @JsonProperty("salesmanCode")
+    private String salesmanCode;
+    @JsonProperty("cooperateSiteCode")
+    private String cooperateSiteCode;
+    @JsonProperty("priInd")
+    private String priInd;
+    @JsonProperty("intermediaryCode")
+    private String intermediaryCode;
+    @JsonProperty("salesmanRegisterNo")
+    private String salesmanRegisterNo;
+    @JsonProperty("interSalesmanRegisterNo")
+    private String interSalesmanRegisterNo;
+    @JsonProperty("interSalesmanCode")
+    private String interSalesmanCode;
+    @JsonProperty("policySort")
+    private String policySort;
+    @JsonProperty("loginSort")
+    private String loginSort;
+    @JsonProperty("personInd")
+    private String personInd;
+    @JsonProperty("productType")
+    private String productType;
+}

+ 117 - 0
tenant/insurance/quotation-taiping/src/main/java/com/jzg/quotation/taiping/crawler/entity/response/TaiPingCrawlerSendSMSData.java

@@ -0,0 +1,117 @@
+package com.jzg.quotation.taiping.crawler.entity.response;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+@NoArgsConstructor
+@Data
+public class TaiPingCrawlerSendSMSData {
+
+    @JsonProperty("licenseNo")
+    private String licenseNo;
+    @JsonProperty("mpInsuredQrCode")
+    private String mpInsuredQrCode;
+    @JsonProperty("currentTaskId")
+    private String currentTaskId;
+    @JsonProperty("channel")
+    private String channel;
+    @JsonProperty("csendTime")
+    private String csendTime;
+    @JsonProperty("validIdentifyNo")
+    private String validIdentifyNo;
+    @JsonProperty("idNoRetryTimes")
+    private Integer idNoRetryTimes;
+    @JsonProperty("validSign")
+    private String validSign;
+    @JsonProperty("insuranceType")
+    private String insuranceType;
+    @JsonProperty("recordId")
+    private String recordId;
+    @JsonProperty("smsPhoneOrigin")
+    private String smsPhoneOrigin;
+    @JsonProperty("smsPhone")
+    private String smsPhone;
+    @JsonProperty("isElecInsurance")
+    private String isElecInsurance;
+    @JsonProperty("appliPhone")
+    private String appliPhone;
+    @JsonProperty("companyCode")
+    private String companyCode;
+    @JsonProperty("orderNo")
+    private String orderNo;
+    @JsonProperty("celecSignTime")
+    private String celecSignTime;
+    @JsonProperty("sendTime")
+    private Long sendTime;
+    @JsonProperty("proposalNo")
+    private String proposalNo;
+    @JsonProperty("salesManCode")
+    private String salesManCode;
+    @JsonProperty("elecSignStatu")
+    private String elecSignStatu;
+    @JsonProperty("validFace")
+    private String validFace;
+    @JsonProperty("appliCode")
+    private String appliCode;
+    @JsonProperty("maxSendTimes")
+    private Double maxSendTimes;
+    @JsonProperty("name")
+    private String name;
+    @JsonProperty("salesManPhone")
+    private String salesManPhone;
+    @JsonProperty("isRealNameAuthe")
+    private String isRealNameAuthe;
+    @JsonProperty("cisSend")
+    private String cisSend;
+    @JsonProperty("isVerbatimSign")
+    private String isVerbatimSign;
+    @JsonProperty("mpInsuredSwitch")
+    private String mpInsuredSwitch;
+    @JsonProperty("salesManName")
+    private String salesManName;
+    @JsonProperty("sendMsgSwitch")
+    private String sendMsgSwitch;
+    @JsonProperty("esignRetryTimes")
+    private Integer esignRetryTimes;
+    @JsonProperty("readTimes")
+    private Integer readTimes;
+    @JsonProperty("qrCodeSwitch")
+    private String qrCodeSwitch;
+    @JsonProperty("celecSignStatus")
+    private String celecSignStatus;
+    @JsonProperty("cisReplenishSign")
+    private String cisReplenishSign;
+    @JsonProperty("sms")
+    private String sms;
+    @JsonProperty("isPlatFormCooperate")
+    private String isPlatFormCooperate;
+    @JsonProperty("creplenishSignTime")
+    private String creplenishSignTime;
+    @JsonProperty("authentication")
+    private String authentication;
+    @JsonProperty("identifyNo")
+    private String identifyNo;
+    @JsonProperty("isFiled")
+    private String isFiled;
+    @JsonProperty("sendTimes")
+    private Double sendTimes;
+    @JsonProperty("appliName")
+    private String appliName;
+    @JsonProperty("faceRetryTimes")
+    private Integer faceRetryTimes;
+    @JsonProperty("productCode")
+    private String productCode;
+    @JsonProperty("isAutoSendSMS")
+    private String isAutoSendSMS;
+    @JsonProperty("hiddenOtherPhoneSwitch")
+    private String hiddenOtherPhoneSwitch;
+    @JsonProperty("isCapableReplenishSign")
+    private String isCapableReplenishSign;
+    @JsonProperty("isSend")
+    private String isSend;
+    @JsonProperty("verbatimSignRetryTimes")
+    private String verbatimSignRetryTimes;
+    @JsonProperty("isReplenishSign")
+    private String isReplenishSign;
+}

+ 5 - 0
tenant/insurance/quotation-taiping/src/main/java/com/jzg/quotation/taiping/crawler/entity/response/TaiPingCrawlerSubmitValidateData.java

@@ -1,4 +1,9 @@
 package com.jzg.quotation.taiping.crawler.entity.response;
 package com.jzg.quotation.taiping.crawler.entity.response;
 
 
 public class TaiPingCrawlerSubmitValidateData {
 public class TaiPingCrawlerSubmitValidateData {
+
+
+
+
+
 }
 }

+ 71 - 0
tenant/insurance/quotation-taiping/src/main/java/com/jzg/quotation/taiping/crawler/entity/response/TaiPingCrawlersSubmitToAuditData.java

@@ -0,0 +1,71 @@
+package com.jzg.quotation.taiping.crawler.entity.response;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.util.List;
+
+@NoArgsConstructor
+@Data
+public class TaiPingCrawlersSubmitToAuditData {
+
+    @JsonProperty("responseType")
+    private String responseType;
+
+    @JsonProperty("submitValidateResultDto")
+    private Object submitValidateResultDto;
+
+    @JsonProperty("submitAuditResultDto")
+    private SubmitAuditResultDtoDTO submitAuditResultDto;
+
+    @JsonProperty("discernFailedIds")
+    private Object discernFailedIds;
+
+    @JsonProperty("underWriteInd")
+    private Object underWriteInd;
+
+    @JsonProperty("unMarkedImgList")
+    private Object unMarkedImgList;
+
+    @JsonProperty("scPfMatchResDto0801List")
+    private Object scPfMatchResDto0801List;
+
+    @JsonProperty("scPfMatchResDto0802List")
+    private Object scPfMatchResDto0802List;
+
+    @JsonProperty("originScList0801")
+    private Object originScList0801;
+
+    @JsonProperty("originScList0802")
+    private Object originScList0802;
+
+    @NoArgsConstructor
+    @Data
+    public static class SubmitAuditResultDtoDTO {
+
+        @JsonProperty("auditResultList")
+        private List<AuditResultListDTO> auditResultList;
+
+        @NoArgsConstructor
+        @Data
+        public static class AuditResultListDTO {
+
+            @JsonProperty("proposalNo")
+            private String proposalNo;
+
+            @JsonProperty("underWriteInd")
+            private String underWriteInd;
+
+            @JsonProperty("orderNo")
+            private String orderNo;
+
+            @JsonProperty("productCode")
+            private String productCode;
+
+            @JsonProperty("handleStatus")
+            private String handleStatus;
+
+        }
+    }
+}

+ 13 - 0
tenant/insurance/quotation-taiping/src/main/java/com/jzg/quotation/taiping/crawler/service/TaiPingApiQuoteProcessService.java

@@ -0,0 +1,13 @@
+package com.jzg.quotation.taiping.crawler.service;
+
+public interface TaiPingApiQuoteProcessService {
+
+    /**
+     * 登录
+     *
+     * @param username 用户名
+     * @param password 密码
+     */
+    void login(String username, String password);
+
+}

+ 18 - 1
tenant/insurance/quotation-taiping/src/main/java/com/jzg/quotation/taiping/crawler/service/impl/TaiPingApiOrderServiceImpl.java

@@ -7,21 +7,37 @@ import com.jzg.quotation.commons.entity.vo.aggregated.QuoteVo;
 import com.jzg.quotation.commons.entity.vo.aggregated.UnderwritingVo;
 import com.jzg.quotation.commons.entity.vo.aggregated.UnderwritingVo;
 import com.jzg.quotation.commons.entity.vo.base.LoginBase;
 import com.jzg.quotation.commons.entity.vo.base.LoginBase;
 import com.jzg.quotation.commons.entity.vo.base.OrderBase;
 import com.jzg.quotation.commons.entity.vo.base.OrderBase;
+import com.jzg.quotation.taiping.crawler.component.TaiPingCrawlerRequestComponent;
+import com.jzg.quotation.taiping.crawler.constant.enums.RequestUrl;
+import com.jzg.quotation.taiping.crawler.entity.request.TaiPingCrawlerBrandNameQueryRequest;
+import com.jzg.quotation.taiping.crawler.entity.request.TaiPingCrawlerPremiumCalculateRequest;
 import com.jzg.quotation.taiping.crawler.service.TaiPingApiOrderService;
 import com.jzg.quotation.taiping.crawler.service.TaiPingApiOrderService;
+import com.jzg.quotation.taiping.crawler.service.TaiPingApiQuoteProcessService;
 import lombok.RequiredArgsConstructor;
 import lombok.RequiredArgsConstructor;
+import org.springframework.http.HttpHeaders;
 import org.springframework.stereotype.Service;
 import org.springframework.stereotype.Service;
 
 
 @Service(value = InsuranceCode.INSURANCE_TPIC)
 @Service(value = InsuranceCode.INSURANCE_TPIC)
 @RequiredArgsConstructor
 @RequiredArgsConstructor
 public class TaiPingApiOrderServiceImpl implements TaiPingApiOrderService {
 public class TaiPingApiOrderServiceImpl implements TaiPingApiOrderService {
 
 
+    private final TaiPingApiQuoteProcessService taiPingApiQuoteProcessService;
+
+    private final TaiPingCrawlerRequestComponent taiPingCrawlerRequestComponent;
+
     @Override
     @Override
     public void login(LoginBase loginBase) {
     public void login(LoginBase loginBase) {
-
+        taiPingApiQuoteProcessService.login(loginBase.getUsername(), loginBase.getPassword());
     }
     }
 
 
     @Override
     @Override
     public QuoteResultsVo quote(QuoteVo quoteVo) {
     public QuoteResultsVo quote(QuoteVo quoteVo) {
+        // 车型查询
+        TaiPingCrawlerBrandNameQueryRequest taiPingCrawlerBrandNameQueryRequest = new TaiPingCrawlerBrandNameQueryRequest();
+        taiPingCrawlerRequestComponent.queryBrand(RequestUrl.BRAND_NAME_QUERY, taiPingCrawlerBrandNameQueryRequest, new HttpHeaders());
+        // 报价
+        TaiPingCrawlerPremiumCalculateRequest taiPingCrawlerPremiumCalculateRequest = new TaiPingCrawlerPremiumCalculateRequest();
+        taiPingCrawlerRequestComponent.premiumCalculate(taiPingCrawlerPremiumCalculateRequest, new HttpHeaders());
         return null;
         return null;
     }
     }
 
 
@@ -32,6 +48,7 @@ public class TaiPingApiOrderServiceImpl implements TaiPingApiOrderService {
 
 
     @Override
     @Override
     public String getPaymentLink(OrderBase orderBase) {
     public String getPaymentLink(OrderBase orderBase) {
+
         return "";
         return "";
     }
     }
 
 

+ 30 - 0
tenant/insurance/quotation-taiping/src/main/java/com/jzg/quotation/taiping/crawler/service/impl/TaiPingApiQuoteProcessServiceImpl.java

@@ -0,0 +1,30 @@
+package com.jzg.quotation.taiping.crawler.service.impl;
+
+import com.jzg.quotation.taiping.crawler.component.TaiPingCrawlerRequestComponent;
+import com.jzg.quotation.taiping.crawler.entity.request.TaiPingCrawlerAuthRequest;
+import com.jzg.quotation.taiping.crawler.entity.response.TaiPingCrawlerAuthData;
+import com.jzg.quotation.taiping.crawler.entity.response.TaiPingCrawlerBaseResponse;
+import com.jzg.quotation.taiping.crawler.service.TaiPingApiQuoteProcessService;
+import lombok.RequiredArgsConstructor;
+import org.springframework.stereotype.Service;
+
+@Service
+@RequiredArgsConstructor
+public class TaiPingApiQuoteProcessServiceImpl implements TaiPingApiQuoteProcessService {
+
+    private final TaiPingCrawlerRequestComponent taiPingCrawlerRequestComponent;
+
+    @Override
+    public void login(String username, String password) {
+        // 验证码
+        TaiPingCrawlerBaseResponse<String> verifyCode = taiPingCrawlerRequestComponent.verifyCode();
+        // 验证
+        TaiPingCrawlerAuthRequest taiPingCrawlerAuthRequest = new TaiPingCrawlerAuthRequest(verifyCode, username, password);
+        TaiPingCrawlerBaseResponse<TaiPingCrawlerAuthData> auth = taiPingCrawlerRequestComponent.auth(taiPingCrawlerAuthRequest);
+        // 登录
+        TaiPingCrawlerAuthData data = auth.getData();
+        taiPingCrawlerRequestComponent.login(data.getTicket());
+    }
+
+
+}

Některé soubory nejsou zobrazeny, neboť je v těchto rozdílových datech změněno mnoho souborů