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

Merge remote-tracking branch 'origin/master'

shenweidong пре 1 година
родитељ
комит
2ae1e15f7c
26 измењених фајлова са 4638 додато и 5 уклоњено
  1. 1 1
      tenant/insurance/quotation-commons/src/main/java/com/jzg/quotation/commons/component/RequestComponent.java
  2. 1 1
      tenant/insurance/quotation-commons/src/main/java/com/jzg/quotation/commons/constant/enums/quote/LicenseColorCode.java
  3. 21 1
      tenant/insurance/quotation-dajia/src/main/java/com/jzg/quotation/dajia/crawler/component/DaJiaCrawlerRequestComponent.java
  4. 1 0
      tenant/insurance/quotation-dajia/src/main/java/com/jzg/quotation/dajia/crawler/properties/DaJiaCrawlerProperties.java
  5. 125 0
      tenant/insurance/quotation-taiping/src/main/java/com/jzg/quotation/taiping/crawler/component/TaiPingCrawlerRequestComponent.java
  6. 48 0
      tenant/insurance/quotation-taiping/src/main/java/com/jzg/quotation/taiping/crawler/constant/enums/RequestUrl.java
  7. 23 0
      tenant/insurance/quotation-taiping/src/main/java/com/jzg/quotation/taiping/crawler/entity/TaipingCrawlerConfigureParameters.java
  8. 43 0
      tenant/insurance/quotation-taiping/src/main/java/com/jzg/quotation/taiping/crawler/entity/request/TaiPingCrawlerAuthRequest.java
  9. 66 0
      tenant/insurance/quotation-taiping/src/main/java/com/jzg/quotation/taiping/crawler/entity/request/TaiPingCrawlerBrandNameQueryRequest.java
  10. 55 0
      tenant/insurance/quotation-taiping/src/main/java/com/jzg/quotation/taiping/crawler/entity/request/TaiPingCrawlerCreateOrderRequest.java
  11. 12 0
      tenant/insurance/quotation-taiping/src/main/java/com/jzg/quotation/taiping/crawler/entity/request/TaiPingCrawlerLoginRequest.java
  12. 1757 0
      tenant/insurance/quotation-taiping/src/main/java/com/jzg/quotation/taiping/crawler/entity/request/TaiPingCrawlerPremiumCalculateRequest.java
  13. 133 0
      tenant/insurance/quotation-taiping/src/main/java/com/jzg/quotation/taiping/crawler/entity/request/TaiPingCrawlerQueryListRequest.java
  14. 28 0
      tenant/insurance/quotation-taiping/src/main/java/com/jzg/quotation/taiping/crawler/entity/response/TaiPingCrawlerAuthData.java
  15. 32 0
      tenant/insurance/quotation-taiping/src/main/java/com/jzg/quotation/taiping/crawler/entity/response/TaiPingCrawlerBaseResponse.java
  16. 618 0
      tenant/insurance/quotation-taiping/src/main/java/com/jzg/quotation/taiping/crawler/entity/response/TaiPingCrawlerBrandNameQueryData.java
  17. 44 0
      tenant/insurance/quotation-taiping/src/main/java/com/jzg/quotation/taiping/crawler/entity/response/TaiPingCrawlerLoginData.java
  18. 1352 0
      tenant/insurance/quotation-taiping/src/main/java/com/jzg/quotation/taiping/crawler/entity/response/TaiPingCrawlerPremiumCalculateData.java
  19. 144 0
      tenant/insurance/quotation-taiping/src/main/java/com/jzg/quotation/taiping/crawler/entity/response/TaiPingCrawlerQueryListData.java
  20. 4 0
      tenant/insurance/quotation-taiping/src/main/java/com/jzg/quotation/taiping/crawler/entity/response/TaiPingCrawlerSubmitValidateData.java
  21. 22 0
      tenant/insurance/quotation-taiping/src/main/java/com/jzg/quotation/taiping/crawler/properties/TaiPingCrawlerProperties.java
  22. 6 0
      tenant/insurance/quotation-taiping/src/main/java/com/jzg/quotation/taiping/crawler/service/TaiPingApiOrderService.java
  23. 53 0
      tenant/insurance/quotation-taiping/src/main/java/com/jzg/quotation/taiping/crawler/service/impl/TaiPingApiOrderServiceImpl.java
  24. 15 1
      tenant/insurance/quotation-taiping/src/main/java/com/jzg/quotation/taiping/crawler/utils/AESEncryption.java
  25. 32 0
      tenant/insurance/quotation-taiping/src/main/java/com/jzg/quotation/taiping/crawler/utils/VerifyCodeCreate.java
  26. 2 1
      tenant/insurance/quotation-zijin/src/main/java/com/jzg/quotation/zijin/api/service/Impl/ZiJinApiRequestImpl.java

+ 1 - 1
tenant/insurance/quotation-commons/src/main/java/com/jzg/quotation/commons/component/RequestComponent.java

@@ -43,7 +43,7 @@ public class RequestComponent {
      * @param headers 请求头
      * @return Consumer<HttpHeaders>
      */
-    public Consumer<HttpHeaders> setHeaders(HttpHeaders headers) {
+    public static Consumer<HttpHeaders> setHeaders(HttpHeaders headers) {
         Consumer<HttpHeaders> consumer = httpHeaders -> {
             httpHeaders.add("User-Agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/132.0.0.0 Safari/537.36");
         };

+ 1 - 1
tenant/insurance/quotation-commons/src/main/java/com/jzg/quotation/commons/constant/enums/quote/LicenseColorCode.java

@@ -20,7 +20,7 @@ public enum LicenseColorCode {
     LICENSE_COLOR_CODE_05("05", "白蓝"),
     LICENSE_COLOR_CODE_06("06", "渐变绿"),
     LICENSE_COLOR_CODE_07("07", "黄绿双拼"),
-    LICENSE_COLOR_CODE_08("08", "其他");
+    LICENSE_COLOR_CODE_99("99", "其他");
 
     // 编号
     private final String code;

+ 21 - 1
tenant/insurance/quotation-dajia/src/main/java/com/jzg/quotation/dajia/crawler/component/DaJiaCrawlerRequestComponent.java

@@ -285,11 +285,24 @@ public class DaJiaCrawlerRequestComponent {
         return request(RequestUrl.SAVE, request, DaJiaCrawlerSaveResponse.class, headers);
     }
 
-
+    /**
+     * 上传标志
+     *
+     * @param request 上传标志请求
+     * @param headers 请求头
+     * @return 上传标志响应
+     */
     public DaJiaCrawlerUploadSignsResponse uploadSigns(DaJiaCrawlerUploadSignsRequest request, HttpHeaders headers) {
         return requestUnencrypted(RequestUrl.UPLOAD_SIGNS, request, DaJiaCrawlerUploadSignsResponse.class, headers);
     }
 
+    /**
+     * 上传图片
+     *
+     * @param url       上传文件的路劲
+     * @param base64Str 影像base64字符串
+     * @return 上传图片返回
+     */
     public DaJiaCrawlerUploadRequest.FileListDTO uploadFile(String url, String base64Str) {
         HttpHeaders headers = new HttpHeaders();
         headers.setContentType(MediaType.APPLICATION_OCTET_STREAM);
@@ -309,6 +322,13 @@ public class DaJiaCrawlerRequestComponent {
                 .block();
     }
 
+    /**
+     * 上传影像之后 上传
+     *
+     * @param request 上传请求
+     * @param headers 请求头
+     * @return 上传响应
+     */
     public DaJiaCrawlerUploadResponse upload(DaJiaCrawlerUploadRequest request, HttpHeaders headers) {
         return requestUnencrypted(RequestUrl.UPLOAD, request, DaJiaCrawlerUploadResponse.class, headers);
     }

+ 1 - 0
tenant/insurance/quotation-dajia/src/main/java/com/jzg/quotation/dajia/crawler/properties/DaJiaCrawlerProperties.java

@@ -2,6 +2,7 @@ package com.jzg.quotation.dajia.crawler.properties;
 
 
 import lombok.Data;
+import lombok.Getter;
 import org.springframework.boot.context.properties.ConfigurationProperties;
 import org.springframework.stereotype.Component;
 

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

@@ -1,8 +1,26 @@
 package com.jzg.quotation.taiping.crawler.component;
 
+import com.alibaba.fastjson2.JSON;
+import com.alibaba.fastjson2.TypeReference;
+import com.jzg.commons.exception.SystemException;
 import com.jzg.quotation.commons.component.RequestComponent;
+import com.jzg.quotation.commons.entity.vo.base.R;
+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.properties.TaiPingCrawlerProperties;
+import com.jzg.quotation.taiping.crawler.utils.AESEncryption;
+import com.jzg.quotation.taiping.crawler.utils.VerifyCodeCreate;
 import lombok.RequiredArgsConstructor;
+import org.springframework.core.ParameterizedTypeReference;
+import org.springframework.http.HttpHeaders;
+import org.springframework.http.ResponseEntity;
 import org.springframework.stereotype.Component;
+import org.springframework.util.LinkedMultiValueMap;
+
+import java.util.Map;
 
 @Component
 @RequiredArgsConstructor
@@ -10,4 +28,111 @@ public class TaiPingCrawlerRequestComponent {
 
     private final RequestComponent requestComponent;
 
+    private final TaiPingCrawlerProperties taiPingCrawlerProperties;
+
+    public <Response> Response requestPost(RequestUrl requestUrl, Object body, ParameterizedTypeReference<Response> bodyTypeReference, HttpHeaders headers) {
+        String bodyStr = JSON.toJSONString(body);
+        String url = requestUrl.getRequestUrl(taiPingCrawlerProperties.getUrl());
+        return requestComponent.post(url, bodyStr, requestUrl.getDescription(), bodyTypeReference, headers);
+    }
+
+    public <Response> Response requestPostStrDecrypt(RequestUrl requestUrl, Object body, TypeReference<Response> tTypeReference, HttpHeaders headers) {
+        String bodyStr = JSON.toJSONString(body);
+        String encryptBody = AESEncryption.encrypt(bodyStr);
+        String url = requestUrl.getRequestUrl(taiPingCrawlerProperties.getUrl());
+        ResponseEntity<String> post = requestComponent.post(url, encryptBody, String.class, headers);
+        String responseBody = post.getBody();
+        return AESEncryption.decrypt(responseBody, tTypeReference);
+    }
+
+    private <Response> Response requestCookie(RequestUrl requestUrl, ParameterizedTypeReference<Response> parameterizedTypeReference) {
+        String url = requestUrl.getRequestUrl(taiPingCrawlerProperties.getCookieUrl());
+        return requestComponent.get(url, Map.of(), requestUrl.getDescription(), new ParameterizedTypeReference<>() {
+        }, new HttpHeaders());
+    }
+
+    /**
+     * 获取cookie
+     *
+     * @return Cookie 串
+     */
+    public String getCookie() {
+        R<String> result = requestCookie(RequestUrl.GET_COOKIE, new ParameterizedTypeReference<>() {
+        });
+        if (result.getCode() == 200) {
+            return result.getData();
+        } else {
+            updateCookie();
+            return getCookie();
+        }
+    }
+
+    /**
+     * 更新cookie
+     *
+     * @return true 成功 false 失败
+     */
+    public void updateCookie() {
+        R<String> result = requestCookie(RequestUrl.UPDATE_COOKIE, new ParameterizedTypeReference<>() {
+        });
+        if (result.getCode() != 200) {
+            throw new SystemException(result.getMessage());
+        }
+    }
+
+    /**
+     * 获取验证码
+     *
+     * @return 验证码实体
+     */
+    private TaiPingCrawlerBaseResponse<String> verifyCode() {
+        String verifyCode = VerifyCodeCreate.getVerifyCode();
+        String url = taiPingCrawlerProperties.getUrl() + RequestUrl.VERIFY_CODE.getUri() + verifyCode;
+        return requestComponent.get(url, Map.of(), RequestUrl.VERIFY_CODE.getDescription(), new ParameterizedTypeReference<>() {
+        }, new HttpHeaders());
+    }
+
+    /**
+     * 鉴权
+     *
+     * @param taiPingCrawlerAuthRequest 鉴权信息
+     * @return 鉴权实体
+     */
+    private TaiPingCrawlerBaseResponse<TaiPingCrawlerAuthData> auth(TaiPingCrawlerAuthRequest taiPingCrawlerAuthRequest) {
+        return requestPostStrDecrypt(RequestUrl.AUTH, taiPingCrawlerAuthRequest, new TypeReference<>() {
+        }, new HttpHeaders());
+    }
+
+    /**
+     * 登录信息
+     *
+     * @param ticket 鉴权返回的唯一id
+     * @return 登录返回信息
+     */
+    private TaiPingCrawlerBaseResponse<TaiPingCrawlerLoginData> login(String ticket) {
+        // 报文信息
+        LinkedMultiValueMap<String, Object> multiValueMap = new LinkedMultiValueMap<>();
+        multiValueMap.add("oTicket", null);
+        multiValueMap.add("ticket", ticket);
+        multiValueMap.add("source", "NPC");
+        multiValueMap.add("personInd", "C");
+        // 请求头
+        HttpHeaders httpHeaders = new HttpHeaders();
+        httpHeaders.set(HttpHeaders.CONTENT_TYPE, "application/x-www-form-urlencoded");
+
+        String url = RequestUrl.LOGIN.getRequestUrl(taiPingCrawlerProperties.getUrl());
+        ResponseEntity<TaiPingCrawlerBaseResponse<TaiPingCrawlerLoginData>> responseEntity = requestComponent.getWebClient()
+                .post()
+                .uri(url)
+                .headers(RequestComponent.setHeaders(httpHeaders))
+                .bodyValue(multiValueMap)
+                .retrieve()
+                .toEntity(new ParameterizedTypeReference<TaiPingCrawlerBaseResponse<TaiPingCrawlerLoginData>>() {
+                })
+                .block();
+        return responseEntity.getBody();
+    }
+
+
+
 }

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

@@ -0,0 +1,48 @@
+package com.jzg.quotation.taiping.crawler.constant.enums;
+
+import com.jzg.quotation.commons.standard.CrawlerRequestUrlStandard;
+import lombok.AllArgsConstructor;
+import lombok.Getter;
+
+@Getter
+@AllArgsConstructor
+public enum RequestUrl implements CrawlerRequestUrlStandard {
+    //获取cookie
+    GET_COOKIE("/rs/get-cookie", "获取cookie"),
+    UPDATE_COOKIE("/rs/update-cookie", "更新cookie"),
+    //登陆
+    VERIFY_CODE("/system/jwt/verifyCode/", "验证码"),
+    AUTH("/system/jwt/auth", "鉴权"),
+    LOGIN("/system/jwt/login", "登陆"),
+    // 报价
+    FIND_SOLUTION_CODE("/sales/lbtsales/findSolutionCode", "查询销售信息子代码"),
+    BRAND_NAME_QUERY("/proposalform/intelligentRetrieval/process2/BrandNameQuery", "车型查询"),
+    PREMIUM_CALCULATE("/proposalform/premiumCalculate/premiumCalculateEntrace", "保费计算"),
+
+    // 提交核保
+    SUBMIT_VALIDATE("/proposalform/proposalSubmit/submitValidate", "提交核保"),
+
+    //上传影像
+
+    //保单查询
+
+    //订单状态查询
+
+    QUERY_LIST("/proposalform/proposal/queryList/", "订单查询"),
+    ;
+
+    private final String uri;
+
+    private final String description;
+
+    @Override
+    public String getRequestDescription() {
+        return description;
+    }
+
+    @Override
+    public String uri() {
+        return uri;
+    }
+
+}

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

@@ -0,0 +1,23 @@
+package com.jzg.quotation.taiping.crawler.entity;
+
+
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.io.Serial;
+import java.io.Serializable;
+
+@AllArgsConstructor
+@NoArgsConstructor
+@Data
+public class TaipingCrawlerConfigureParameters implements Serializable {
+
+    @Serial
+    private static final long serialVersionUID = 3662904284609407518L;
+    /**
+     * 系统编码
+     */
+    private String systemCode;
+
+}

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

@@ -0,0 +1,43 @@
+package com.jzg.quotation.taiping.crawler.entity.request;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+@NoArgsConstructor
+@Data
+public class TaiPingCrawlerAuthRequest {
+
+    /**
+     * 用户名
+     */
+    @JsonProperty("userCode")
+    private String userCode;
+    /**
+     * 密码
+     */
+    @JsonProperty("password")
+    private String password;
+
+    @JsonProperty("smsCode")
+    private String smsCode;
+    /**
+     * 验证码
+     */
+    @JsonProperty("verifyCode")
+    private String verifyCode;
+    /**
+     * 验证码id
+     */
+    @JsonProperty("verifyKey")
+    private String verifyKey;
+
+    @JsonProperty("personInd")
+    private String personInd;
+    /**
+     * 时间格式
+     */
+    @JsonProperty("reqTimestamp")
+    private String reqTimestamp;
+
+}

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

@@ -0,0 +1,66 @@
+package com.jzg.quotation.taiping.crawler.entity.request;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+
+/**
+ * @version
+ * @description: 太平财险 车型查询 请求
+ * @author: wenks
+ * @date: 2025/3/11 9:53
+ **/
+@NoArgsConstructor
+@Data
+public class TaiPingCrawlerBrandNameQueryRequest {
+
+
+    @JsonProperty("productType")
+    private String productType;
+
+    @JsonProperty("firstYear")
+    private Boolean firstYear;
+
+    @JsonProperty("newCarFlag")
+    private String newCarFlag;
+    /**
+     * 品牌型号
+     */
+    @JsonProperty("brandName")
+    private String brandName;
+
+    @JsonProperty("companyCode")
+    private String companyCode;
+    /**
+     * 车牌号
+     */
+    @JsonProperty("licenseNo")
+    private String licenseNo;
+
+    @JsonProperty("frameNo")
+    private String frameNo;
+    /**
+     * 订单号
+     */
+    @JsonProperty("orderNo")
+    private String orderNo;
+
+    @JsonProperty("irBatchNo")
+    private String irBatchNo;
+
+    @JsonProperty("queryType")
+    private String queryType;
+
+    @JsonProperty("vehicleQueryType")
+    private String vehicleQueryType;
+
+    @JsonProperty("subType")
+    private String subType;
+
+    @JsonProperty("intermediaryCode")
+    private String intermediaryCode;
+
+    @JsonProperty("licenseTypeCode")
+    private String licenseTypeCode;
+}

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

@@ -0,0 +1,55 @@
+package com.jzg.quotation.taiping.crawler.entity.request;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+@NoArgsConstructor
+@Data
+public class TaiPingCrawlerCreateOrderRequest {
+
+    @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;
+}

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

@@ -0,0 +1,12 @@
+package com.jzg.quotation.taiping.crawler.entity.request;
+
+
+import lombok.AllArgsConstructor;
+import lombok.Data;
+
+@Data
+@AllArgsConstructor
+public class TaiPingCrawlerLoginRequest {
+
+
+}

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

@@ -0,0 +1,1757 @@
+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 TaiPingCrawlerPremiumCalculateRequest {
+
+    @JsonProperty("riskCodeType")
+    private String riskCodeType;
+
+    @JsonProperty("pfItemMotorDeviceDtoList")
+    private List<Object> pfItemMotorDeviceDtoList;
+
+    @JsonProperty("pfItemKind0801DtoList")
+    private List<PfItemKind0801DtoListDTO> pfItemKind0801DtoList;
+
+    @JsonProperty("pfItemKind0802DtoList")
+    private List<PfItemKind0802DtoListDTO> pfItemKind0802DtoList;
+
+    @JsonProperty("clauseList0801")
+    private List<Object> clauseList0801;
+
+    @JsonProperty("clauseList0802")
+    private List<Object> clauseList0802;
+
+    @JsonProperty("orderNo")
+    private String orderNo;
+
+    @JsonProperty("pfMainDto")
+    private PfMainDtoDTO pfMainDto;
+
+    @JsonProperty("pfVehicleOwner")
+    private PfVehicleOwnerDTO pfVehicleOwner;
+
+    @JsonProperty("pfRelatedPartyDto")
+    private PfRelatedPartyDtoDTO pfRelatedPartyDto;
+
+    @JsonProperty("pfItemMotorDto")
+    private PfItemMotorDtoDTO pfItemMotorDto;
+
+    @JsonProperty("pfRiskRelatedPartyDto")
+    private PfRiskRelatedPartyDtoDTO pfRiskRelatedPartyDto;
+
+    @JsonProperty("pfProposalCarShipTaxDto")
+    private PfProposalCarShipTaxDtoDTO pfProposalCarShipTaxDto;
+
+    @JsonProperty("pfPolicyInfoDto")
+    private PfPolicyInfoDtoDTO pfPolicyInfoDto;
+
+    @JsonProperty("incrementServiceMatchFlag")
+    private Boolean incrementServiceMatchFlag;
+
+    @JsonProperty("demandNoForce")
+    private String demandNoForce;
+
+    @JsonProperty("demandNoBusi")
+    private String demandNoBusi;
+
+    @JsonProperty("fcProductList")
+    private List<Object> fcProductList;
+
+    @JsonProperty("cjcSaleInfoDto")
+    private Object cjcSaleInfoDto;
+
+    @JsonProperty("fCsaleinfoDto")
+    private Object fCsaleinfoDto;
+
+    @JsonProperty("businessType")
+    private String businessType;
+
+    @JsonProperty("optType")
+    private String optType;
+
+    @JsonProperty("personInd")
+    private String personInd;
+
+    @JsonProperty("productType")
+    private String productType;
+
+    @JsonProperty("isMatchClause")
+    private Boolean isMatchClause;
+
+    @NoArgsConstructor
+    @Data
+    public static class PfMainDtoDTO {
+
+        @JsonProperty("renewalNo")
+        private String renewalNo;
+        @JsonProperty("carIdRenewalFlag")
+        private String carIdRenewalFlag;
+        @JsonProperty("policySort")
+        private String policySort;
+        @JsonProperty("agreementNo")
+        private String agreementNo;
+        @JsonProperty("departmentCode")
+        private String departmentCode;
+        @JsonProperty("departmentName")
+        private String departmentName;
+        @JsonProperty("outerSubCompanyCode")
+        private String outerSubCompanyCode;
+        @JsonProperty("teamManager")
+        private String teamManager;
+        @JsonProperty("teamManagerName")
+        private String teamManagerName;
+        @JsonProperty("salesmanCode")
+        private String salesmanCode;
+        @JsonProperty("salesmanName")
+        private String salesmanName;
+        @JsonProperty("companyCode")
+        private String companyCode;
+        @JsonProperty("companyName")
+        private String companyName;
+        @JsonProperty("businessMode")
+        private String businessMode;
+        @JsonProperty("channelTip")
+        private String channelTip;
+        @JsonProperty("channelTipName")
+        private String channelTipName;
+        @JsonProperty("channelDetailCode")
+        private String channelDetailCode;
+        @JsonProperty("channelDetailName")
+        private String channelDetailName;
+        @JsonProperty("cooperateSiteCode")
+        private String cooperateSiteCode;
+        @JsonProperty("cooperateSiteCName")
+        private String cooperateSiteCName;
+        @JsonProperty("solutionCode")
+        private String solutionCode;
+        @JsonProperty("intermediaryCode")
+        private String intermediaryCode;
+        @JsonProperty("intermediaryCName")
+        private String intermediaryCName;
+        @JsonProperty("salesmanRegisterNo")
+        private String salesmanRegisterNo;
+        @JsonProperty("outerUserCode")
+        private String outerUserCode;
+        @JsonProperty("outerUserCName")
+        private String outerUserCName;
+        @JsonProperty("pioneerCode")
+        private String pioneerCode;
+        @JsonProperty("pioneerName")
+        private String pioneerName;
+        @JsonProperty("interSalesmanCode")
+        private String interSalesmanCode;
+        @JsonProperty("interSalesmanName")
+        private String interSalesmanName;
+        @JsonProperty("interSalesmanRegisterNo")
+        private String interSalesmanRegisterNo;
+        @JsonProperty("governmentType")
+        private String governmentType;
+        @JsonProperty("itemAddress")
+        private String itemAddress;
+        @JsonProperty("governmentServiceType")
+        private String governmentServiceType;
+        @JsonProperty("businessSource")
+        private String businessSource;
+        @JsonProperty("governmentProvince")
+        private String governmentProvince;
+        @JsonProperty("governmentCity")
+        private String governmentCity;
+        @JsonProperty("governmentCounty")
+        private String governmentCounty;
+        @JsonProperty("governmentProvinceName")
+        private String governmentProvinceName;
+        @JsonProperty("governmentCityName")
+        private String governmentCityName;
+        @JsonProperty("governmentCountyName")
+        private String governmentCountyName;
+        @JsonProperty("modelNo")
+        private String modelNo;
+        @JsonProperty("query")
+        private String query;
+        @JsonProperty("applySerialNo")
+        private Integer applySerialNo;
+        @JsonProperty("applyNo")
+        private String applyNo;
+        @JsonProperty("queryApplyNo")
+        private String queryApplyNo;
+        @JsonProperty("optBtn")
+        private String optBtn;
+        @JsonProperty("applyName")
+        private String applyName;
+        @JsonProperty("decisionMakingUnit")
+        private String decisionMakingUnit;
+        @JsonProperty("dsMakingTypeDetail")
+        private String dsMakingTypeDetail;
+        @JsonProperty("compLevel")
+        private String compLevel;
+        @JsonProperty("serialNo")
+        private String serialNo;
+        @JsonProperty("outOrderNo")
+        private String outOrderNo;
+        @JsonProperty("newCarFlag")
+        private String newCarFlag;
+        @JsonProperty("doubleProtectFlag")
+        private String doubleProtectFlag;
+        @JsonProperty("oano")
+        private String oano;
+        @JsonProperty("poaSerialNo")
+        private String poaSerialNo;
+        @JsonProperty("isDangerBz")
+        private Object isDangerBz;
+        @JsonProperty("tpFeeFlag")
+        private String tpFeeFlag;
+        @JsonProperty("feeServiceLinkage")
+        private String feeServiceLinkage;
+        @JsonProperty("argueSolution")
+        private String argueSolution;
+        @JsonProperty("arbitoryName")
+        private Object arbitoryName;
+        @JsonProperty("quotationPlanFlag")
+        private String quotationPlanFlag;
+        @JsonProperty("isSpecialCarFlag")
+        private String isSpecialCarFlag;
+        @JsonProperty("carIdSplitFlag")
+        private String carIdSplitFlag;
+        @JsonProperty("appId")
+        private String appId;
+        @JsonProperty("touchId")
+        private String touchId;
+        @JsonProperty("premiumTrialFlag")
+        private String premiumTrialFlag;
+    }
+
+    @NoArgsConstructor
+    @Data
+    public static class PfVehicleOwnerDTO {
+        @JsonProperty("name")
+        private String name;
+        @JsonProperty("ownerNature")
+        private String ownerNature;
+        @JsonProperty("identifyType")
+        private String identifyType;
+        @JsonProperty("identifyNumber")
+        private String identifyNumber;
+        @JsonProperty("birthDate")
+        private String birthDate;
+        @JsonProperty("sex")
+        private String sex;
+        @JsonProperty("profession")
+        private String profession;
+        @JsonProperty("mobilePhone")
+        private String mobilePhone;
+        @JsonProperty("isApplicantOperator")
+        private String isApplicantOperator;
+        @JsonProperty("lifeInd")
+        private String lifeInd;
+        @JsonProperty("customerGradeLabel")
+        private String customerGradeLabel;
+        @JsonProperty("carDriveAddress")
+        private String carDriveAddress;
+        @JsonProperty("customerGroup")
+        private String customerGroup;
+    }
+
+    @NoArgsConstructor
+    @Data
+    public static class PfRelatedPartyDtoDTO {
+        @JsonProperty("appliName")
+        private String appliName;
+        @JsonProperty("insuredCode")
+        private String insuredCode;
+        @JsonProperty("insuredType")
+        private String insuredType;
+        @JsonProperty("identifyType")
+        private String identifyType;
+        @JsonProperty("identifyNumber")
+        private String identifyNumber;
+        @JsonProperty("longTermIdentifyCard")
+        private String longTermIdentifyCard;
+        @JsonProperty("identifyStartDate")
+        private String identifyStartDate;
+        @JsonProperty("identifyEndDate")
+        private String identifyEndDate;
+        @JsonProperty("itemAddress")
+        private List<String> itemAddress;
+        @JsonProperty("itemProvinceCode")
+        private String itemProvinceCode;
+        @JsonProperty("itemProvinceCName")
+        private String itemProvinceCName;
+        @JsonProperty("itemCityCode")
+        private String itemCityCode;
+        @JsonProperty("itemCityCName")
+        private String itemCityCName;
+        @JsonProperty("countyCode")
+        private String countyCode;
+        @JsonProperty("countyCName")
+        private String countyCName;
+        @JsonProperty("appliAddress")
+        private String appliAddress;
+        @JsonProperty("mobilePhone")
+        private String mobilePhone;
+        @JsonProperty("email")
+        private String email;
+        @JsonProperty("industryCode")
+        private String industryCode;
+        @JsonProperty("contactName")
+        private String contactName;
+        @JsonProperty("contactMobile")
+        private String contactMobile;
+        @JsonProperty("contactType")
+        private String contactType;
+        @JsonProperty("occupationCode")
+        private String occupationCode;
+        @JsonProperty("countryCode")
+        private String countryCode;
+        @JsonProperty("contactIdentifyType")
+        private String contactIdentifyType;
+        @JsonProperty("contactIdentifyNumber")
+        private String contactIdentifyNumber;
+        @JsonProperty("contactSex")
+        private String contactSex;
+        @JsonProperty("contactDealType")
+        private String contactDealType;
+        @JsonProperty("appliPhoneHolderName")
+        private String appliPhoneHolderName;
+        @JsonProperty("appliPhoneHolderCertiType")
+        private String appliPhoneHolderCertiType;
+        @JsonProperty("appliPhoneHolderCertNumber")
+        private String appliPhoneHolderCertNumber;
+        @JsonProperty("leaderType")
+        private String leaderType;
+        @JsonProperty("leaderName")
+        private String leaderName;
+        @JsonProperty("leaderIdType")
+        private String leaderIdType;
+        @JsonProperty("leaderIdNo")
+        private String leaderIdNo;
+        @JsonProperty("leaderIdSDate")
+        private String leaderIdSDate;
+        @JsonProperty("leaderIdEDate")
+        private String leaderIdEDate;
+        @JsonProperty("leaderContact")
+        private String leaderContact;
+        @JsonProperty("leaderPCD")
+        private String leaderPCD;
+        @JsonProperty("leaderAddress")
+        private String leaderAddress;
+        @JsonProperty("businessScope")
+        private String businessScope;
+        @JsonProperty("businessDealerName")
+        private String businessDealerName;
+        @JsonProperty("businessDealerIdType")
+        private String businessDealerIdType;
+        @JsonProperty("businessDealerIdNumber")
+        private String businessDealerIdNumber;
+        @JsonProperty("sex")
+        private String sex;
+        @JsonProperty("birthDate")
+        private String birthDate;
+        @JsonProperty("appliAge")
+        private Integer appliAge;
+        @JsonProperty("appliCompanyAddress")
+        private String appliCompanyAddress;
+        @JsonProperty("shareHolder")
+        private String shareHolder;
+        @JsonProperty("shareHolderIdType")
+        private String shareHolderIdType;
+        @JsonProperty("shareHolderIdNo")
+        private String shareHolderIdNo;
+        @JsonProperty("shareHolderIdSDate")
+        private String shareHolderIdSDate;
+        @JsonProperty("shareHolderIdEDate")
+        private String shareHolderIdEDate;
+        @JsonProperty("actControllerType")
+        private String actControllerType;
+        @JsonProperty("actController")
+        private String actController;
+        @JsonProperty("actControllerIdType")
+        private String actControllerIdType;
+        @JsonProperty("actControllerIdNo")
+        private String actControllerIdNo;
+        @JsonProperty("actControllerSDate")
+        private String actControllerSDate;
+        @JsonProperty("actControllerEDate")
+        private String actControllerEDate;
+        @JsonProperty("companyType")
+        private String companyType;
+        @JsonProperty("nation")
+        private String nation;
+        @JsonProperty("issuer")
+        private String issuer;
+        @JsonProperty("name")
+        private String name;
+        @JsonProperty("ownerNature")
+        private String ownerNature;
+        @JsonProperty("isApplicantOperator")
+        private String isApplicantOperator;
+        @JsonProperty("clientCode")
+        private String clientCode;
+        @JsonProperty("clientCName")
+        private String clientCName;
+        @JsonProperty("clientType")
+        private String clientType;
+        @JsonProperty("cifCode")
+        private String cifCode;
+        @JsonProperty("department")
+        private String department;
+        @JsonProperty("relationWithBrach")
+        private String relationWithBrach;
+        @JsonProperty("showClientAddress")
+        private String showClientAddress;
+        @JsonProperty("addressCName")
+        private String addressCName;
+        @JsonProperty("mobile")
+        private String mobile;
+        @JsonProperty("identifyTypeName")
+        private String identifyTypeName;
+        @JsonProperty("companyCode")
+        private String companyCode;
+        @JsonProperty("gsClientPersonaDto")
+        private GsClientPersonaDtoDTO gsClientPersonaDto;
+        @JsonProperty("departmentName")
+        private String departmentName;
+        @JsonProperty("relationWithBrachName")
+        private String relationWithBrachName;
+        @JsonProperty("riskCode")
+        private String riskCode;
+        @JsonProperty("countryName")
+        private String countryName;
+        @JsonProperty("isIntercept")
+        private String isIntercept;
+        @JsonProperty("newCustomSystemOperatorType")
+        private String newCustomSystemOperatorType;
+        @JsonProperty("operatorType")
+        private String operatorType;
+        @JsonProperty("detailAddress")
+        private List<Object> detailAddress;
+
+        @NoArgsConstructor
+        @Data
+        public static class GsClientPersonaDtoDTO {
+            @JsonProperty("object_OrderBy")
+            private Object objectOrderby;
+            @JsonProperty("object_Condition")
+            private Object objectCondition;
+            @JsonProperty("clientCode")
+            private String clientCode;
+            @JsonProperty("addressCName")
+            private String addressCName;
+            @JsonProperty("addressEName")
+            private Object addressEName;
+            @JsonProperty("identifyType")
+            private String identifyType;
+            @JsonProperty("identifyNumber")
+            private String identifyNumber;
+            @JsonProperty("oriinalIdentifyNumber")
+            private Object oriinalIdentifyNumber;
+            @JsonProperty("birthDate")
+            private String birthDate;
+            @JsonProperty("country_code")
+            private String countryCode;
+            @JsonProperty("nationality")
+            private Object nationality;
+            @JsonProperty("registAddress")
+            private Object registAddress;
+            @JsonProperty("reginonCode")
+            private Object reginonCode;
+            @JsonProperty("homePlace")
+            private Object homePlace;
+            @JsonProperty("marriage")
+            private String marriage;
+            @JsonProperty("livingCity")
+            private Object livingCity;
+            @JsonProperty("marriageDate")
+            private Object marriageDate;
+            @JsonProperty("sex")
+            private String sex;
+            @JsonProperty("graduateSchool")
+            private Object graduateSchool;
+            @JsonProperty("educationCode")
+            private Object educationCode;
+            @JsonProperty("majorCode")
+            private Object majorCode;
+            @JsonProperty("occupationCode")
+            private String occupationCode;
+            @JsonProperty("occupation")
+            private String occupation;
+            @JsonProperty("parttimeJobCode")
+            private Object parttimeJobCode;
+            @JsonProperty("parttimeJob")
+            private Object parttimeJob;
+            @JsonProperty("occupationType")
+            private Object occupationType;
+            @JsonProperty("wordRiskRank")
+            private Object wordRiskRank;
+            @JsonProperty("utit")
+            private Object utit;
+            @JsonProperty("utitAddress")
+            private Object utitAddress;
+            @JsonProperty("jobAtea")
+            private Object jobAtea;
+            @JsonProperty("jobDepartment")
+            private Object jobDepartment;
+            @JsonProperty("ownershipCode")
+            private Object ownershipCode;
+            @JsonProperty("joinCompanyDate")
+            private Object joinCompanyDate;
+            @JsonProperty("startWorkDate")
+            private Object startWorkDate;
+            @JsonProperty("position")
+            private Object position;
+            @JsonProperty("titleCode")
+            private Object titleCode;
+            @JsonProperty("salary")
+            private Object salary;
+            @JsonProperty("wordType")
+            private Object wordType;
+            @JsonProperty("pluralityType")
+            private Object pluralityType;
+            @JsonProperty("creditLevel")
+            private Object creditLevel;
+            @JsonProperty("clientType")
+            private String clientType;
+            @JsonProperty("clientFlag")
+            private Object clientFlag;
+            @JsonProperty("phoneNumber")
+            private Object phoneNumber;
+            @JsonProperty("fax")
+            private Object fax;
+            @JsonProperty("mobile")
+            private String mobile;
+            @JsonProperty("mobile1")
+            private Object mobile1;
+            @JsonProperty("linkAddress")
+            private Object linkAddress;
+            @JsonProperty("postCode")
+            private Object postCode;
+            @JsonProperty("pager")
+            private Object pager;
+            @JsonProperty("email")
+            private Object email;
+            @JsonProperty("email1")
+            private Object email1;
+            @JsonProperty("relationAddress1")
+            private Object relationAddress1;
+            @JsonProperty("relationAddress2")
+            private Object relationAddress2;
+            @JsonProperty("relationAddress3")
+            private Object relationAddress3;
+            @JsonProperty("relationAddress4")
+            private Object relationAddress4;
+            @JsonProperty("homePhoneNumber")
+            private Object homePhoneNumber;
+            @JsonProperty("homePostCode")
+            private Object homePostCode;
+            @JsonProperty("homeAddress")
+            private Object homeAddress;
+            @JsonProperty("workPhoneNumber")
+            private Object workPhoneNumber;
+            @JsonProperty("companyName")
+            private Object companyName;
+            @JsonProperty("socialRegistNumber")
+            private Object socialRegistNumber;
+            @JsonProperty("companyKind")
+            private Object companyKind;
+            @JsonProperty("workPostNumber")
+            private Object workPostNumber;
+            @JsonProperty("workAddress1")
+            private Object workAddress1;
+            @JsonProperty("workAddress2")
+            private Object workAddress2;
+            @JsonProperty("workAddress3")
+            private Object workAddress3;
+            @JsonProperty("workAddress4")
+            private Object workAddress4;
+            @JsonProperty("otherAddress")
+            private Object otherAddress;
+            @JsonProperty("otherPostCode")
+            private Object otherPostCode;
+            @JsonProperty("otherRelation")
+            private Object otherRelation;
+            @JsonProperty("newClient")
+            private Object newClient;
+            @JsonProperty("validStatus")
+            private Object validStatus;
+            @JsonProperty("articleCode")
+            private Object articleCode;
+            @JsonProperty("netAddress")
+            private Object netAddress;
+            @JsonProperty("lowerViewFlag")
+            private Object lowerViewFlag;
+            @JsonProperty("fatherCode")
+            private Object fatherCode;
+            @JsonProperty("handlerCode")
+            private Object handlerCode;
+            @JsonProperty("operatorCode")
+            private Object operatorCode;
+            @JsonProperty("inputDate")
+            private Object inputDate;
+            @JsonProperty("updateCode")
+            private Object updateCode;
+            @JsonProperty("updateDate")
+            private Object updateDate;
+            @JsonProperty("comCode")
+            private Object comCode;
+            @JsonProperty("deathDate")
+            private Object deathDate;
+            @JsonProperty("height")
+            private Object height;
+            @JsonProperty("weight")
+            private Object weight;
+            @JsonProperty("accidentStatus")
+            private Object accidentStatus;
+            @JsonProperty("health")
+            private Object health;
+            @JsonProperty("smokeFlag")
+            private Object smokeFlag;
+            @JsonProperty("cteditGrade")
+            private Object cteditGrade;
+            @JsonProperty("icNo")
+            private Object icNo;
+            @JsonProperty("proterty")
+            private Object proterty;
+            @JsonProperty("wealth")
+            private Object wealth;
+            @JsonProperty("income")
+            private Object income;
+            @JsonProperty("status1")
+            private Object status1;
+            @JsonProperty("makeDate")
+            private Object makeDate;
+            @JsonProperty("makeTime")
+            private Object makeTime;
+            @JsonProperty("houseHolder")
+            private Object houseHolder;
+            @JsonProperty("honorTitle")
+            private Object honorTitle;
+            @JsonProperty("socialCode")
+            private Object socialCode;
+            @JsonProperty("language")
+            private Object language;
+            @JsonProperty("drivingLicenceE")
+            private String drivingLicenceE;
+            @JsonProperty("retired")
+            private Object retired;
+            @JsonProperty("socialSecurity")
+            private Object socialSecurity;
+            @JsonProperty("birthSecurity")
+            private Object birthSecurity;
+            @JsonProperty("medicareType")
+            private Object medicareType;
+            @JsonProperty("medicareCity")
+            private Object medicareCity;
+            @JsonProperty("employe")
+            private Object employe;
+            @JsonProperty("employeId")
+            private Object employeId;
+            @JsonProperty("clientGrade")
+            private Object clientGrade;
+            @JsonProperty("focusType")
+            private Object focusType;
+            @JsonProperty("status")
+            private Object status;
+            @JsonProperty("addInd")
+            private Object addInd;
+            @JsonProperty("remark")
+            private Object remark;
+            @JsonProperty("flag")
+            private Object flag;
+            @JsonProperty("identifyStartDate")
+            private String identifyStartDate;
+            @JsonProperty("identifyEndDate")
+            private String identifyEndDate;
+            @JsonProperty("specialClient")
+            private Object specialClient;
+            @JsonProperty("generalLanguage")
+            private Object generalLanguage;
+            @JsonProperty("channelCode")
+            private Object channelCode;
+            @JsonProperty("surname")
+            private Object surname;
+            @JsonProperty("moniker")
+            private Object moniker;
+            @JsonProperty("firstName")
+            private Object firstName;
+            @JsonProperty("lastName")
+            private Object lastName;
+            @JsonProperty("itemProvinceCode")
+            private Object itemProvinceCode;
+            @JsonProperty("itemCityCode")
+            private Object itemCityCode;
+            @JsonProperty("itemProvinceCName")
+            private Object itemProvinceCName;
+            @JsonProperty("itemCityCName")
+            private Object itemCityCName;
+            @JsonProperty("outerUserCode")
+            private Object outerUserCode;
+            @JsonProperty("updatesrc")
+            private Object updatesrc;
+            @JsonProperty("launderingSituation")
+            private Object launderingSituation;
+            @JsonProperty("openId")
+            private Object openId;
+            @JsonProperty("itemCountyCName")
+            private String itemCountyCName;
+            @JsonProperty("clientShowName")
+            private String clientShowName;
+            @JsonProperty("addressShowName")
+            private String addressShowName;
+            @JsonProperty("clientCName")
+            private String clientCName;
+            @JsonProperty("date")
+            private Object date;
+            @JsonProperty("areaName")
+            private Object areaName;
+            @JsonProperty("reginonName")
+            private Object reginonName;
+            @JsonProperty("fatherName")
+            private Object fatherName;
+            @JsonProperty("comName")
+            private Object comName;
+            @JsonProperty("handlerName")
+            private Object handlerName;
+            @JsonProperty("operatorName")
+            private Object operatorName;
+            @JsonProperty("updateName")
+            private Object updateName;
+            @JsonProperty("identifyTypeName")
+            private Object identifyTypeName;
+            @JsonProperty("paySuspendInd")
+            private Object paySuspendInd;
+            @JsonProperty("salesSuspendInd")
+            private Object salesSuspendInd;
+            @JsonProperty("beapPager")
+            private Object beapPager;
+            @JsonProperty("officePhoneAreaCode")
+            private Object officePhoneAreaCode;
+            @JsonProperty("officePhoneNumber")
+            private Object officePhoneNumber;
+            @JsonProperty("homePhoneAreaCode")
+            private Object homePhoneAreaCode;
+            @JsonProperty("homePhoneAreaNumber")
+            private Object homePhoneAreaNumber;
+            @JsonProperty("officePhoneNumberExt")
+            private Object officePhoneNumberExt;
+            @JsonProperty("identifyNumber2")
+            private String identifyNumber2;
+            @JsonProperty("itemCountyCode")
+            private Object itemCountyCode;
+        }
+    }
+
+    @NoArgsConstructor
+    @Data
+    public static class PfItemMotorDtoDTO {
+        @JsonProperty("isJy")
+        private Boolean isJy;
+        @JsonProperty("val2")
+        private Boolean val2;
+        @JsonProperty("brandName")
+        private String brandName;
+        @JsonProperty("printBrandName")
+        private String printBrandName;
+        @JsonProperty("certificateDate")
+        private String certificateDate;
+        @JsonProperty("carKindCode")
+        private String carKindCode;
+        @JsonProperty("carKindCodeShow")
+        private String carKindCodeShow;
+        @JsonProperty("carKindCodeShowName")
+        private String carKindCodeShowName;
+        @JsonProperty("vehicleCategory")
+        private String vehicleCategory;
+        @JsonProperty("seatCount")
+        private Integer seatCount;
+        @JsonProperty("tonCount")
+        private Integer tonCount;
+        @JsonProperty("negotiatedActualValue")
+        private String negotiatedActualValue;
+        @JsonProperty("useNatureShow")
+        private String useNatureShow;
+        @JsonProperty("attachNature")
+        private String attachNature;
+        @JsonProperty("carUseType")
+        private String carUseType;
+        @JsonProperty("carID")
+        private String carID;
+        @JsonProperty("familyName")
+        private String familyName;
+        @JsonProperty("colorCode")
+        private String colorCode;
+        @JsonProperty("ciModelCode")
+        private String ciModelCode;
+        @JsonProperty("licenseColorCode")
+        private String licenseColorCode;
+        @JsonProperty("purchasePrice")
+        private Integer purchasePrice;
+        @JsonProperty("carBrand")
+        private String carBrand;
+        @JsonProperty("actualValue")
+        private String actualValue;
+        @JsonProperty("localVehicleInd")
+        private String localVehicleInd;
+        @JsonProperty("completeKerbMass")
+        private Integer completeKerbMass;
+        @JsonProperty("fuelType")
+        private String fuelType;
+        @JsonProperty("factory")
+        private String factory;
+        @JsonProperty("engineModel")
+        private String engineModel;
+        @JsonProperty("factoryId")
+        private String factoryId;
+        @JsonProperty("clauseType")
+        private String clauseType;
+        @JsonProperty("vehicleModelKind")
+        private String vehicleModelKind;
+        @JsonProperty("hazardType")
+        private String hazardType;
+        @JsonProperty("glassType")
+        private String glassType;
+        @JsonProperty("carName")
+        private String carName;
+        @JsonProperty("runAreaCode")
+        private String runAreaCode;
+        @JsonProperty("noticeType")
+        private String noticeType;
+        @JsonProperty("carCheckValidTime")
+        private String carCheckValidTime;
+        @JsonProperty("configModel")
+        private String configModel;
+        @JsonProperty("shVehicleCode")
+        private String shVehicleCode;
+        @JsonProperty("licenseTypeCode")
+        private String licenseTypeCode;
+        @JsonProperty("powerTypeCode")
+        private String powerTypeCode;
+        @JsonProperty("powerType")
+        private String powerType;
+        @JsonProperty("doubleProtectFlag")
+        private String doubleProtectFlag;
+        @JsonProperty("taxVehicleCategory")
+        private String taxVehicleCategory;
+        @JsonProperty("countryNature")
+        private String countryNature;
+        @JsonProperty("makeDate")
+        private String makeDate;
+        @JsonProperty("jgVehicleCheckCode")
+        private String jgVehicleCheckCode;
+        @JsonProperty("carId")
+        private String carId;
+        @JsonProperty("noLicenseNo")
+        private Boolean noLicenseNo;
+        @JsonProperty("vehicleQueryType")
+        private String vehicleQueryType;
+        @JsonProperty("runAreaName")
+        private String runAreaName;
+        @JsonProperty("sale4SFlag")
+        private Object sale4SFlag;
+        @JsonProperty("saleCompany")
+        private String saleCompany;
+        @JsonProperty("saleAreaCode")
+        private String saleAreaCode;
+        @JsonProperty("provinceEcdemicVehicleFlag")
+        private String provinceEcdemicVehicleFlag;
+        @JsonProperty("vehicleFatteryFlag")
+        private String vehicleFatteryFlag;
+        @JsonProperty("nerveCentre")
+        private String nerveCentre;
+        @JsonProperty("thirdRunRoute")
+        private String thirdRunRoute;
+        @JsonProperty("licenseNo")
+        private String licenseNo;
+        @JsonProperty("frameNo")
+        private String frameNo;
+        @JsonProperty("engineNo")
+        private String engineNo;
+        @JsonProperty("modelCode")
+        private String modelCode;
+        @JsonProperty("singeinDate")
+        private String singeinDate;
+        @JsonProperty("carNewOldFlag")
+        private String carNewOldFlag;
+        @JsonProperty("enrollDate")
+        private String enrollDate;
+        @JsonProperty("useYears")
+        private Integer useYears;
+        @JsonProperty("driveUseAttribute")
+        private String driveUseAttribute;
+        @JsonProperty("exhaustScale")
+        private Integer exhaustScale;
+        @JsonProperty("power")
+        private Integer power;
+        @JsonProperty("negotiatedActualValueType")
+        private String negotiatedActualValueType;
+        @JsonProperty("principalLicenseNo")
+        private String principalLicenseNo;
+        @JsonProperty("principalValidPolicyCount")
+        private Integer principalValidPolicyCount;
+        @JsonProperty("chgOwnerFlag")
+        private String chgOwnerFlag;
+        @JsonProperty("transferDate")
+        private String transferDate;
+        @JsonProperty("specialCarFlag")
+        private String specialCarFlag;
+        @JsonProperty("loanVehicleFlag")
+        private String loanVehicleFlag;
+        @JsonProperty("familyCode")
+        private String familyCode;
+        @JsonProperty("hkFlag")
+        private String hkFlag;
+        @JsonProperty("fuelTypeName")
+        private String fuelTypeName;
+        @JsonProperty("whiteListFlag")
+        private String whiteListFlag;
+        @JsonProperty("whiteListElecContactNo")
+        private String whiteListElecContactNo;
+        @JsonProperty("groupCode")
+        private String groupCode;
+        @JsonProperty("commercialCarGradeSource")
+        private String commercialCarGradeSource;
+        @JsonProperty("commercialCarGrade")
+        private String commercialCarGrade;
+        @JsonProperty("saleAreaName")
+        private String saleAreaName;
+        @JsonProperty("totalTractionMass")
+        private String totalTractionMass;
+        @JsonProperty("quoteName")
+        private String quoteName;
+        @JsonProperty("classificationOfCDW")
+        private String classificationOfCDW;
+        @JsonProperty("isSpecialCarFlag")
+        private String isSpecialCarFlag;
+        @JsonProperty("cvFlag")
+        private String cvFlag;
+        @JsonProperty("frameNoHeteroType")
+        private String frameNoHeteroType;
+        @JsonProperty("principalCHDVehicleGrade")
+        private String principalCHDVehicleGrade;
+        @JsonProperty("principalCHDTeamGrade")
+        private String principalCHDTeamGrade;
+        @JsonProperty("principalQuotationDiscount")
+        private String principalQuotationDiscount;
+        @JsonProperty("chdVehicleGrade")
+        private String chdVehicleGrade;
+        @JsonProperty("chdTeamGrade")
+        private String chdTeamGrade;
+        @JsonProperty("zjxlGrade")
+        private String zjxlGrade;
+        @JsonProperty("newEnergyFlag")
+        private String newEnergyFlag;
+        @JsonProperty("energyType")
+        private String energyType;
+        @JsonProperty("energyTypeDescribe")
+        private String energyTypeDescribe;
+        @JsonProperty("range")
+        private String range;
+        @JsonProperty("vehicleStyleUniqueId")
+        private String vehicleStyleUniqueId;
+        @JsonProperty("certificateType")
+        private String certificateType;
+        @JsonProperty("certificateNo")
+        private String certificateNo;
+        @JsonProperty("certificateReportDate")
+        private String certificateReportDate;
+        @JsonProperty("longLoadPermit")
+        private String longLoadPermit;
+        @JsonProperty("brandId")
+        private String brandId;
+        @JsonProperty("colorName")
+        private String colorName;
+        @JsonProperty("newVehicleClassCode")
+        private String newVehicleClassCode;
+        @JsonProperty("newVehicleClassName")
+        private String newVehicleClassName;
+        @JsonProperty("hfCode")
+        private String hfCode;
+        @JsonProperty("hfName")
+        private String hfName;
+        @JsonProperty("carGroupName")
+        private String carGroupName;
+        @JsonProperty("vehicleCategoryName")
+        private String vehicleCategoryName;
+        @JsonProperty("glassTypeName")
+        private String glassTypeName;
+        @JsonProperty("orderNo")
+        private String orderNo;
+        @JsonProperty("licenseColorName")
+        private String licenseColorName;
+        @JsonProperty("licenseTypeName")
+        private String licenseTypeName;
+        @JsonProperty("motorTypeName")
+        private String motorTypeName;
+        @JsonProperty("newEnergyClauseFlag")
+        private String newEnergyClauseFlag;
+        @JsonProperty("carIdRenewalFlag")
+        private String carIdRenewalFlag;
+    }
+
+    @NoArgsConstructor
+    @Data
+    public static class PfRiskRelatedPartyDtoDTO {
+        @JsonProperty("insuredName")
+        private String insuredName;
+        @JsonProperty("insuredCode")
+        private String insuredCode;
+        @JsonProperty("insuredType")
+        private String insuredType;
+        @JsonProperty("identifyType")
+        private String identifyType;
+        @JsonProperty("identifyNumber")
+        private String identifyNumber;
+        @JsonProperty("longTermIdentifyCard")
+        private String longTermIdentifyCard;
+        @JsonProperty("identifyStartDate")
+        private String identifyStartDate;
+        @JsonProperty("identifyEndDate")
+        private String identifyEndDate;
+        @JsonProperty("itemAddress")
+        private List<String> itemAddress;
+        @JsonProperty("itemProvinceCode")
+        private String itemProvinceCode;
+        @JsonProperty("itemProvinceCName")
+        private String itemProvinceCName;
+        @JsonProperty("itemCityCode")
+        private String itemCityCode;
+        @JsonProperty("itemCityCName")
+        private String itemCityCName;
+        @JsonProperty("countyCode")
+        private String countyCode;
+        @JsonProperty("countyCName")
+        private String countyCName;
+        @JsonProperty("insuredAddress")
+        private String insuredAddress;
+        @JsonProperty("insuredMobilePhone")
+        private String insuredMobilePhone;
+        @JsonProperty("email")
+        private String email;
+        @JsonProperty("contactName")
+        private String contactName;
+        @JsonProperty("contactMobile")
+        private String contactMobile;
+        @JsonProperty("contactType")
+        private String contactType;
+        @JsonProperty("occupationCode")
+        private String occupationCode;
+        @JsonProperty("contactIdentifyType")
+        private String contactIdentifyType;
+        @JsonProperty("contactIdentifyNumber")
+        private String contactIdentifyNumber;
+        @JsonProperty("insuredPhoneHolderName")
+        private String insuredPhoneHolderName;
+        @JsonProperty("insuredPhoneHolderCertiType")
+        private String insuredPhoneHolderCertiType;
+        @JsonProperty("insuredPhoneHolderCertNumber")
+        private String insuredPhoneHolderCertNumber;
+        @JsonProperty("leaderType")
+        private String leaderType;
+        @JsonProperty("subLeaderName")
+        private String subLeaderName;
+        @JsonProperty("leaderIdType")
+        private String leaderIdType;
+        @JsonProperty("leaderIdNo")
+        private String leaderIdNo;
+        @JsonProperty("leaderIdSDate")
+        private String leaderIdSDate;
+        @JsonProperty("leaderIdEDate")
+        private String leaderIdEDate;
+        @JsonProperty("subLeaderConactMobile")
+        private String subLeaderConactMobile;
+        @JsonProperty("businessScope")
+        private String businessScope;
+        @JsonProperty("leaderPCD")
+        private String leaderPCD;
+        @JsonProperty("subLeaderAddress")
+        private String subLeaderAddress;
+        @JsonProperty("insuredSex")
+        private String insuredSex;
+        @JsonProperty("insuredBirthDate")
+        private String insuredBirthDate;
+        @JsonProperty("insuredAge")
+        private Integer insuredAge;
+        @JsonProperty("insuredCompanyAddress")
+        private String insuredCompanyAddress;
+        @JsonProperty("countryCode")
+        private String countryCode;
+        @JsonProperty("companyType")
+        private String companyType;
+        @JsonProperty("companyEstablishDate")
+        private String companyEstablishDate;
+        @JsonProperty("nation")
+        private String nation;
+        @JsonProperty("issuer")
+        private String issuer;
+        @JsonProperty("businessDealerName")
+        private String businessDealerName;
+        @JsonProperty("businessDealerIdType")
+        private String businessDealerIdType;
+        @JsonProperty("businessDealerIdNumber")
+        private String businessDealerIdNumber;
+        @JsonProperty("shareHolder")
+        private String shareHolder;
+        @JsonProperty("shareHolderIdType")
+        private String shareHolderIdType;
+        @JsonProperty("shareHolderIdNo")
+        private String shareHolderIdNo;
+        @JsonProperty("shareHolderIdSDate")
+        private String shareHolderIdSDate;
+        @JsonProperty("shareHolderIdEDate")
+        private String shareHolderIdEDate;
+        @JsonProperty("actControllerType")
+        private String actControllerType;
+        @JsonProperty("actController")
+        private String actController;
+        @JsonProperty("actControllerIdType")
+        private String actControllerIdType;
+        @JsonProperty("actControllerIdNo")
+        private String actControllerIdNo;
+        @JsonProperty("actControllerSDate")
+        private String actControllerSDate;
+        @JsonProperty("actControllerEDate")
+        private String actControllerEDate;
+        @JsonProperty("appliName")
+        private String appliName;
+        @JsonProperty("appliAddress")
+        private String appliAddress;
+        @JsonProperty("mobilePhone")
+        private String mobilePhone;
+        @JsonProperty("industryCode")
+        private String industryCode;
+        @JsonProperty("contactSex")
+        private String contactSex;
+        @JsonProperty("contactDealType")
+        private String contactDealType;
+        @JsonProperty("appliPhoneHolderName")
+        private String appliPhoneHolderName;
+        @JsonProperty("appliPhoneHolderCertiType")
+        private String appliPhoneHolderCertiType;
+        @JsonProperty("appliPhoneHolderCertNumber")
+        private String appliPhoneHolderCertNumber;
+        @JsonProperty("leaderName")
+        private String leaderName;
+        @JsonProperty("leaderContact")
+        private String leaderContact;
+        @JsonProperty("leaderAddress")
+        private String leaderAddress;
+        @JsonProperty("sex")
+        private String sex;
+        @JsonProperty("birthDate")
+        private String birthDate;
+        @JsonProperty("appliAge")
+        private String appliAge;
+        @JsonProperty("appliCompanyAddress")
+        private String appliCompanyAddress;
+        @JsonProperty("name")
+        private String name;
+        @JsonProperty("ownerNature")
+        private String ownerNature;
+        @JsonProperty("isApplicantOperator")
+        private String isApplicantOperator;
+        @JsonProperty("clientCode")
+        private String clientCode;
+        @JsonProperty("clientCName")
+        private String clientCName;
+        @JsonProperty("clientType")
+        private String clientType;
+        @JsonProperty("cifCode")
+        private String cifCode;
+        @JsonProperty("department")
+        private String department;
+        @JsonProperty("relationWithBrach")
+        private String relationWithBrach;
+        @JsonProperty("showClientAddress")
+        private String showClientAddress;
+        @JsonProperty("addressCName")
+        private String addressCName;
+        @JsonProperty("mobile")
+        private String mobile;
+        @JsonProperty("identifyTypeName")
+        private String identifyTypeName;
+        @JsonProperty("companyCode")
+        private String companyCode;
+        @JsonProperty("gsClientPersonaDto")
+        private GsClientPersonaDtoDTO gsClientPersonaDto;
+        @JsonProperty("departmentName")
+        private String departmentName;
+        @JsonProperty("relationWithBrachName")
+        private String relationWithBrachName;
+        @JsonProperty("riskCode")
+        private String riskCode;
+        @JsonProperty("countryName")
+        private String countryName;
+        @JsonProperty("isIntercept")
+        private String isIntercept;
+        @JsonProperty("newCustomSystemOperatorType")
+        private String newCustomSystemOperatorType;
+        @JsonProperty("detailAddress")
+        private List<Object> detailAddress;
+
+        @NoArgsConstructor
+        @Data
+        public static class GsClientPersonaDtoDTO {
+            @JsonProperty("object_OrderBy")
+            private Object objectOrderby;
+            @JsonProperty("object_Condition")
+            private Object objectCondition;
+            @JsonProperty("clientCode")
+            private String clientCode;
+            @JsonProperty("addressCName")
+            private String addressCName;
+            @JsonProperty("addressEName")
+            private Object addressEName;
+            @JsonProperty("identifyType")
+            private String identifyType;
+            @JsonProperty("identifyNumber")
+            private String identifyNumber;
+            @JsonProperty("oriinalIdentifyNumber")
+            private Object oriinalIdentifyNumber;
+            @JsonProperty("birthDate")
+            private String birthDate;
+            @JsonProperty("country_code")
+            private String countryCode;
+            @JsonProperty("nationality")
+            private Object nationality;
+            @JsonProperty("registAddress")
+            private Object registAddress;
+            @JsonProperty("reginonCode")
+            private Object reginonCode;
+            @JsonProperty("homePlace")
+            private Object homePlace;
+            @JsonProperty("marriage")
+            private String marriage;
+            @JsonProperty("livingCity")
+            private Object livingCity;
+            @JsonProperty("marriageDate")
+            private Object marriageDate;
+            @JsonProperty("sex")
+            private String sex;
+            @JsonProperty("graduateSchool")
+            private Object graduateSchool;
+            @JsonProperty("educationCode")
+            private Object educationCode;
+            @JsonProperty("majorCode")
+            private Object majorCode;
+            @JsonProperty("occupationCode")
+            private String occupationCode;
+            @JsonProperty("occupation")
+            private String occupation;
+            @JsonProperty("parttimeJobCode")
+            private Object parttimeJobCode;
+            @JsonProperty("parttimeJob")
+            private Object parttimeJob;
+            @JsonProperty("occupationType")
+            private Object occupationType;
+            @JsonProperty("wordRiskRank")
+            private Object wordRiskRank;
+            @JsonProperty("utit")
+            private Object utit;
+            @JsonProperty("utitAddress")
+            private Object utitAddress;
+            @JsonProperty("jobAtea")
+            private Object jobAtea;
+            @JsonProperty("jobDepartment")
+            private Object jobDepartment;
+            @JsonProperty("ownershipCode")
+            private Object ownershipCode;
+            @JsonProperty("joinCompanyDate")
+            private Object joinCompanyDate;
+            @JsonProperty("startWorkDate")
+            private Object startWorkDate;
+            @JsonProperty("position")
+            private Object position;
+            @JsonProperty("titleCode")
+            private Object titleCode;
+            @JsonProperty("salary")
+            private Object salary;
+            @JsonProperty("wordType")
+            private Object wordType;
+            @JsonProperty("pluralityType")
+            private Object pluralityType;
+            @JsonProperty("creditLevel")
+            private Object creditLevel;
+            @JsonProperty("clientType")
+            private String clientType;
+            @JsonProperty("clientFlag")
+            private Object clientFlag;
+            @JsonProperty("phoneNumber")
+            private Object phoneNumber;
+            @JsonProperty("fax")
+            private Object fax;
+            @JsonProperty("mobile")
+            private String mobile;
+            @JsonProperty("mobile1")
+            private Object mobile1;
+            @JsonProperty("linkAddress")
+            private Object linkAddress;
+            @JsonProperty("postCode")
+            private Object postCode;
+            @JsonProperty("pager")
+            private Object pager;
+            @JsonProperty("email")
+            private Object email;
+            @JsonProperty("email1")
+            private Object email1;
+            @JsonProperty("relationAddress1")
+            private Object relationAddress1;
+            @JsonProperty("relationAddress2")
+            private Object relationAddress2;
+            @JsonProperty("relationAddress3")
+            private Object relationAddress3;
+            @JsonProperty("relationAddress4")
+            private Object relationAddress4;
+            @JsonProperty("homePhoneNumber")
+            private Object homePhoneNumber;
+            @JsonProperty("homePostCode")
+            private Object homePostCode;
+            @JsonProperty("homeAddress")
+            private Object homeAddress;
+            @JsonProperty("workPhoneNumber")
+            private Object workPhoneNumber;
+            @JsonProperty("companyName")
+            private Object companyName;
+            @JsonProperty("socialRegistNumber")
+            private Object socialRegistNumber;
+            @JsonProperty("companyKind")
+            private Object companyKind;
+            @JsonProperty("workPostNumber")
+            private Object workPostNumber;
+            @JsonProperty("workAddress1")
+            private Object workAddress1;
+            @JsonProperty("workAddress2")
+            private Object workAddress2;
+            @JsonProperty("workAddress3")
+            private Object workAddress3;
+            @JsonProperty("workAddress4")
+            private Object workAddress4;
+            @JsonProperty("otherAddress")
+            private Object otherAddress;
+            @JsonProperty("otherPostCode")
+            private Object otherPostCode;
+            @JsonProperty("otherRelation")
+            private Object otherRelation;
+            @JsonProperty("newClient")
+            private Object newClient;
+            @JsonProperty("validStatus")
+            private Object validStatus;
+            @JsonProperty("articleCode")
+            private Object articleCode;
+            @JsonProperty("netAddress")
+            private Object netAddress;
+            @JsonProperty("lowerViewFlag")
+            private Object lowerViewFlag;
+            @JsonProperty("fatherCode")
+            private Object fatherCode;
+            @JsonProperty("handlerCode")
+            private Object handlerCode;
+            @JsonProperty("operatorCode")
+            private Object operatorCode;
+            @JsonProperty("inputDate")
+            private Object inputDate;
+            @JsonProperty("updateCode")
+            private Object updateCode;
+            @JsonProperty("updateDate")
+            private Object updateDate;
+            @JsonProperty("comCode")
+            private Object comCode;
+            @JsonProperty("deathDate")
+            private Object deathDate;
+            @JsonProperty("height")
+            private Object height;
+            @JsonProperty("weight")
+            private Object weight;
+            @JsonProperty("accidentStatus")
+            private Object accidentStatus;
+            @JsonProperty("health")
+            private Object health;
+            @JsonProperty("smokeFlag")
+            private Object smokeFlag;
+            @JsonProperty("cteditGrade")
+            private Object cteditGrade;
+            @JsonProperty("icNo")
+            private Object icNo;
+            @JsonProperty("proterty")
+            private Object proterty;
+            @JsonProperty("wealth")
+            private Object wealth;
+            @JsonProperty("income")
+            private Object income;
+            @JsonProperty("status1")
+            private Object status1;
+            @JsonProperty("makeDate")
+            private Object makeDate;
+            @JsonProperty("makeTime")
+            private Object makeTime;
+            @JsonProperty("houseHolder")
+            private Object houseHolder;
+            @JsonProperty("honorTitle")
+            private Object honorTitle;
+            @JsonProperty("socialCode")
+            private Object socialCode;
+            @JsonProperty("language")
+            private Object language;
+            @JsonProperty("drivingLicenceE")
+            private String drivingLicenceE;
+            @JsonProperty("retired")
+            private Object retired;
+            @JsonProperty("socialSecurity")
+            private Object socialSecurity;
+            @JsonProperty("birthSecurity")
+            private Object birthSecurity;
+            @JsonProperty("medicareType")
+            private Object medicareType;
+            @JsonProperty("medicareCity")
+            private Object medicareCity;
+            @JsonProperty("employe")
+            private Object employe;
+            @JsonProperty("employeId")
+            private Object employeId;
+            @JsonProperty("clientGrade")
+            private Object clientGrade;
+            @JsonProperty("focusType")
+            private Object focusType;
+            @JsonProperty("status")
+            private Object status;
+            @JsonProperty("addInd")
+            private Object addInd;
+            @JsonProperty("remark")
+            private Object remark;
+            @JsonProperty("flag")
+            private Object flag;
+            @JsonProperty("identifyStartDate")
+            private String identifyStartDate;
+            @JsonProperty("identifyEndDate")
+            private String identifyEndDate;
+            @JsonProperty("specialClient")
+            private Object specialClient;
+            @JsonProperty("generalLanguage")
+            private Object generalLanguage;
+            @JsonProperty("channelCode")
+            private Object channelCode;
+            @JsonProperty("surname")
+            private Object surname;
+            @JsonProperty("moniker")
+            private Object moniker;
+            @JsonProperty("firstName")
+            private Object firstName;
+            @JsonProperty("lastName")
+            private Object lastName;
+            @JsonProperty("itemProvinceCode")
+            private Object itemProvinceCode;
+            @JsonProperty("itemCityCode")
+            private Object itemCityCode;
+            @JsonProperty("itemProvinceCName")
+            private Object itemProvinceCName;
+            @JsonProperty("itemCityCName")
+            private Object itemCityCName;
+            @JsonProperty("outerUserCode")
+            private Object outerUserCode;
+            @JsonProperty("updatesrc")
+            private Object updatesrc;
+            @JsonProperty("launderingSituation")
+            private Object launderingSituation;
+            @JsonProperty("openId")
+            private Object openId;
+            @JsonProperty("itemCountyCName")
+            private String itemCountyCName;
+            @JsonProperty("clientShowName")
+            private String clientShowName;
+            @JsonProperty("addressShowName")
+            private String addressShowName;
+            @JsonProperty("clientCName")
+            private String clientCName;
+            @JsonProperty("date")
+            private Object date;
+            @JsonProperty("areaName")
+            private Object areaName;
+            @JsonProperty("reginonName")
+            private Object reginonName;
+            @JsonProperty("fatherName")
+            private Object fatherName;
+            @JsonProperty("comName")
+            private Object comName;
+            @JsonProperty("handlerName")
+            private Object handlerName;
+            @JsonProperty("operatorName")
+            private Object operatorName;
+            @JsonProperty("updateName")
+            private Object updateName;
+            @JsonProperty("identifyTypeName")
+            private Object identifyTypeName;
+            @JsonProperty("paySuspendInd")
+            private Object paySuspendInd;
+            @JsonProperty("salesSuspendInd")
+            private Object salesSuspendInd;
+            @JsonProperty("beapPager")
+            private Object beapPager;
+            @JsonProperty("officePhoneAreaCode")
+            private Object officePhoneAreaCode;
+            @JsonProperty("officePhoneNumber")
+            private Object officePhoneNumber;
+            @JsonProperty("homePhoneAreaCode")
+            private Object homePhoneAreaCode;
+            @JsonProperty("homePhoneAreaNumber")
+            private Object homePhoneAreaNumber;
+            @JsonProperty("officePhoneNumberExt")
+            private Object officePhoneNumberExt;
+            @JsonProperty("identifyNumber2")
+            private String identifyNumber2;
+            @JsonProperty("itemCountyCode")
+            private Object itemCountyCode;
+        }
+    }
+
+    @NoArgsConstructor
+    @Data
+    public static class PfProposalCarShipTaxDtoDTO {
+        @JsonProperty("taxpayerIdentifier")
+        private String taxpayerIdentifier;
+        @JsonProperty("taxRelifFlag")
+        private String taxRelifFlag;
+        @JsonProperty("fuelType")
+        private String fuelType;
+        @JsonProperty("taxItemDetailCode")
+        private String taxItemDetailCode;
+        @JsonProperty("taxItemDetailName")
+        private String taxItemDetailName;
+        @JsonProperty("calculateMode")
+        private String calculateMode;
+        @JsonProperty("taxDueActual")
+        private Integer taxDueActual;
+        @JsonProperty("refundTaxDue")
+        private String refundTaxDue;
+        @JsonProperty("sumRefundTax")
+        private String sumRefundTax;
+        @JsonProperty("calcTaxFlag")
+        private String calcTaxFlag;
+        @JsonProperty("taxPaymentMark")
+        private String taxPaymentMark;
+        @JsonProperty("previousPay")
+        private Integer previousPay;
+        @JsonProperty("lateFee")
+        private Integer lateFee;
+        @JsonProperty("taxPayerName")
+        private String taxPayerName;
+        @JsonProperty("identifyType")
+        private String identifyType;
+        @JsonProperty("identifyNumber")
+        private String identifyNumber;
+        @JsonProperty("paidFreeCertificate")
+        private String paidFreeCertificate;
+        @JsonProperty("taxDocumentDate")
+        private String taxDocumentDate;
+        @JsonProperty("taxPaidAreaCode")
+        private String taxPaidAreaCode;
+        @JsonProperty("relifReason")
+        private String relifReason;
+        @JsonProperty("freeRate")
+        private Integer freeRate;
+        @JsonProperty("deductionDueType")
+        private String deductionDueType;
+        @JsonProperty("taxRegistryNumber")
+        private String taxRegistryNumber;
+        @JsonProperty("taxCompancyCode")
+        private String taxCompancyCode;
+        @JsonProperty("taxCompancyName")
+        private String taxCompancyName;
+        @JsonProperty("carFindDate")
+        private String carFindDate;
+        @JsonProperty("previousPayYears")
+        private String previousPayYears;
+        @JsonProperty("itemAddress")
+        private String itemAddress;
+        @JsonProperty("provinceCode")
+        private String provinceCode;
+        @JsonProperty("provinceName")
+        private String provinceName;
+        @JsonProperty("cityCode")
+        private String cityCode;
+        @JsonProperty("cityName")
+        private String cityName;
+        @JsonProperty("countyCode")
+        private String countyCode;
+        @JsonProperty("countyName")
+        private String countyName;
+        @JsonProperty("detailedAddress")
+        private String detailedAddress;
+        @JsonProperty("fuelTypeCST")
+        private String fuelTypeCST;
+        @JsonProperty("useNatureCode")
+        private String useNatureCode;
+        @JsonProperty("taxPayerPhoneNumber")
+        private String taxPayerPhoneNumber;
+        @JsonProperty("taxStartDate")
+        private String taxStartDate;
+        @JsonProperty("taxEndDate")
+        private String taxEndDate;
+        @JsonProperty("newLicenseFlag")
+        private String newLicenseFlag;
+        @JsonProperty("payLastYear")
+        private String payLastYear;
+        @JsonProperty("payLastEndDate")
+        private String payLastEndDate;
+        @JsonProperty("sumPayTax")
+        private Integer sumPayTax;
+        @JsonProperty("taxRelief")
+        private Integer taxRelief;
+        @JsonProperty("vehicleCategory")
+        private String vehicleCategory;
+        @JsonProperty("certiType")
+        private String certiType;
+    }
+
+    @NoArgsConstructor
+    @Data
+    public static class PfPolicyInfoDtoDTO {
+        @JsonProperty("startDate0801")
+        private String startDate0801;
+        @JsonProperty("startDate0802")
+        private String startDate0802;
+        @JsonProperty("proposalNo")
+        private String proposalNo;
+        @JsonProperty("renewalNo0801")
+        private String renewalNo0801;
+        @JsonProperty("renewalNo0802")
+        private String renewalNo0802;
+        @JsonProperty("proposalNo0801")
+        private String proposalNo0801;
+        @JsonProperty("demandNoForce")
+        private String demandNoForce;
+        @JsonProperty("immEffectStartDate0801")
+        private String immEffectStartDate0801;
+        @JsonProperty("startTime0801")
+        private String startTime0801;
+        @JsonProperty("endDate0801")
+        private String endDate0801;
+        @JsonProperty("endTime0801")
+        private String endTime0801;
+        @JsonProperty("demandNoBusi")
+        private String demandNoBusi;
+        @JsonProperty("poaSerialNo")
+        private String poaSerialNo;
+        @JsonProperty("effectFlag0801")
+        private Boolean effectFlag0801;
+        @JsonProperty("immEffectType0801")
+        private Object immEffectType0801;
+        @JsonProperty("effectFlag0802")
+        private Boolean effectFlag0802;
+        @JsonProperty("immEffectType0802")
+        private Object immEffectType0802;
+        @JsonProperty("proposalNo0802")
+        private String proposalNo0802;
+        @JsonProperty("immEffectStartDate0802")
+        private String immEffectStartDate0802;
+        @JsonProperty("startTime0802")
+        private String startTime0802;
+        @JsonProperty("endDate0802")
+        private String endDate0802;
+        @JsonProperty("endTime0802")
+        private String endTime0802;
+        @JsonProperty("specialCarFlag")
+        private String specialCarFlag;
+        @JsonProperty("chgOwnerFlag")
+        private String chgOwnerFlag;
+        @JsonProperty("transferDate")
+        private String transferDate;
+        @JsonProperty("loanVehicleFlag")
+        private Boolean loanVehicleFlag;
+        @JsonProperty("noDamageYears")
+        private Integer noDamageYears;
+        @JsonProperty("operateDate")
+        private String operateDate;
+        @JsonProperty("tradingRelevanceNo")
+        private Boolean tradingRelevanceNo;
+        @JsonProperty("argueSolution")
+        private String argueSolution;
+        @JsonProperty("forwardAgentUserCode")
+        private String forwardAgentUserCode;
+        @JsonProperty("arbitoryName")
+        private Object arbitoryName;
+        @JsonProperty("isElectronicPolicyBZ")
+        private String isElectronicPolicyBZ;
+        @JsonProperty("isElectronicProposalBZ")
+        private String isElectronicProposalBZ;
+        @JsonProperty("isElectronicPolicyBS")
+        private String isElectronicPolicyBS;
+        @JsonProperty("isElectronicProposalBS")
+        private String isElectronicProposalBS;
+        @JsonProperty("policyNo0801")
+        private String policyNo0801;
+        @JsonProperty("policyNo0802")
+        private String policyNo0802;
+    }
+
+    @NoArgsConstructor
+    @Data
+    public static class PfItemKind0801DtoListDTO {
+        @JsonProperty("kindCode_kindName")
+        private String kindcodeKindname;
+        @JsonProperty("basePremium")
+        private String basePremium;
+        @JsonProperty("shortRate")
+        private String shortRate;
+        @JsonProperty("discount")
+        private String discount;
+        @JsonProperty("grossPremium")
+        private String grossPremium;
+        @JsonProperty("priceTaxTotal")
+        private String priceTaxTotal;
+        @JsonProperty("relieveFund")
+        private String relieveFund;
+    }
+
+    @NoArgsConstructor
+    @Data
+    public static class PfItemKind0802DtoListDTO {
+        @JsonProperty("riskCode")
+        private String riskCode;
+        @JsonProperty("kindInd")
+        private String kindInd;
+        @JsonProperty("sumInsured")
+        private String sumInsured;
+        @JsonProperty("valueType")
+        private String valueType;
+        @JsonProperty("clauseType")
+        private Boolean clauseType;
+        @JsonProperty("deductible")
+        private String deductible;
+        @JsonProperty("deductibleRate")
+        private String deductibleRate;
+        @JsonProperty("relatedFlagFG2020Type")
+        private Boolean relatedFlagFG2020Type;
+        @JsonProperty("kindCode")
+        private String kindCode;
+        @JsonProperty("relatedInd")
+        private String relatedInd;
+        @JsonProperty("relatedFlagFG2020")
+        private String relatedFlagFG2020;
+        @JsonProperty("displayNo")
+        private Integer displayNo;
+        @JsonProperty("srcIndex")
+        private Integer srcIndex;
+        @JsonProperty("kindName")
+        private String kindName;
+        @JsonProperty("shortRate")
+        private Integer shortRate;
+        @JsonProperty("discount")
+        private Integer discount;
+        @JsonProperty("adjustRate")
+        private Integer adjustRate;
+        @JsonProperty("noChange")
+        private Boolean noChange;
+        @JsonProperty("max")
+        private String max;
+        @JsonProperty("quantity")
+        private Integer quantity;
+        @JsonProperty("unitInsured")
+        private Integer unitInsured;
+        @JsonProperty("shareModel")
+        private String shareModel;
+    }
+}

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

@@ -0,0 +1,133 @@
+package com.jzg.quotation.taiping.crawler.entity.request;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.util.ArrayList;
+import java.util.List;
+
+@NoArgsConstructor
+@Data
+public class TaiPingCrawlerQueryListRequest {
+
+    @JsonProperty("data")
+    private DataDTO data;
+
+    @JsonProperty("pageNo")
+    private Integer pageNo;
+
+    @JsonProperty("pageSize")
+    private Integer pageSize;
+
+    @JsonProperty("policySort")
+    private String policySort;
+
+    public TaiPingCrawlerQueryListRequest(String orderNo, String policySort) {
+        this.data = new DataDTO(orderNo);
+        this.pageNo = 1;
+        this.pageSize = 10;
+        this.policySort = policySort;
+    }
+
+    @NoArgsConstructor
+    @Data
+    public static class DataDTO {
+        @JsonProperty("riskCodeAll")
+        private Boolean riskCodeAll;
+        @JsonProperty("riskCode0801")
+        private Boolean riskCode0801;
+        @JsonProperty("riskCode0802")
+        private Boolean riskCode0802;
+        @JsonProperty("riskCode0803")
+        private Boolean riskCode0803;
+        @JsonProperty("riskCode0804")
+        private Boolean riskCode0804;
+        @JsonProperty("riskCode0805")
+        private Boolean riskCode0805;
+        @JsonProperty("riskCode0833")
+        private Boolean riskCode0833;
+        @JsonProperty("riskCode1359")
+        private Boolean riskCode1359;
+        @JsonProperty("orderNo")
+        private String orderNo;
+        @JsonProperty("proposalNo")
+        private String proposalNo;
+        @JsonProperty("policyNo")
+        private String policyNo;
+        @JsonProperty("licenseNo")
+        private String licenseNo;
+        @JsonProperty("inputDateForQuery")
+        private List<String> inputDateForQuery;
+        @JsonProperty("frameNo")
+        private String frameNo;
+        @JsonProperty("engineNo")
+        private String engineNo;
+        @JsonProperty("appliName")
+        private String appliName;
+        @JsonProperty("insuredName")
+        private String insuredName;
+        @JsonProperty("startDateForQuery")
+        private Object startDateForQuery;
+        @JsonProperty("endDateForQuery")
+        private Object endDateForQuery;
+        @JsonProperty("underwriteEndDateForQuery")
+        private Object underwriteEndDateForQuery;
+        @JsonProperty("underWriteInd")
+        private String underWriteInd;
+        @JsonProperty("operatorCode")
+        private String operatorCode;
+        @JsonProperty("operatorName")
+        private String operatorName;
+        @JsonProperty("salesmanCode")
+        private String salesmanCode;
+        @JsonProperty("salesmanName")
+        private String salesmanName;
+        @JsonProperty("infoConfirmStatus")
+        private String infoConfirmStatus;
+        @JsonProperty("isAddMaterial")
+        private String isAddMaterial;
+        @JsonProperty("inputDateForQueryStart")
+        private String inputDateForQueryStart;
+        @JsonProperty("inputDateForQueryEnd")
+        private String inputDateForQueryEnd;
+        @JsonProperty("riskCodes")
+        private List<String> riskCodes;
+        @JsonProperty("personInd")
+        private String personInd;
+
+        public DataDTO(String orderNo) {
+            this.riskCodeAll = true;
+            this.riskCode0801 = true;
+            this.riskCode0802 = true;
+            this.riskCode0803 = true;
+            this.riskCode0804 = true;
+            this.riskCode0805 = true;
+            this.riskCode0833 = true;
+            this.riskCode1359 = true;
+            this.orderNo = orderNo;
+            this.proposalNo = "";
+            this.policyNo = "";
+            this.licenseNo = "";
+            this.inputDateForQuery = new ArrayList<>();
+            this.frameNo = "";
+            this.engineNo = "";
+            this.appliName = "";
+            this.insuredName = "";
+            this.startDateForQuery = null;
+            this.endDateForQuery = null;
+            this.underwriteEndDateForQuery = null;
+            this.underWriteInd = "";
+            this.operatorCode = "";
+            this.operatorName = "";
+            this.salesmanCode = "";
+            this.salesmanName = "";
+            this.infoConfirmStatus = "";
+            this.isAddMaterial = "";
+            this.inputDateForQueryStart = "";
+            this.inputDateForQueryEnd = "";
+            this.riskCodes = List.of("0801", "0802", "0803", "0804", "0805", "0833");
+            this.personInd = "C";
+        }
+    }
+}

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

@@ -0,0 +1,28 @@
+package com.jzg.quotation.taiping.crawler.entity.response;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+/**
+ * @description: 登录返回结果
+ * @author: wenks
+ * @date: 2025/3/10 9:52
+ **/
+@NoArgsConstructor
+@Data
+public class TaiPingCrawlerAuthData {
+
+    @JsonProperty("msg")
+    private String msg;
+
+    @JsonProperty("ticket")
+    private String ticket;
+
+    @JsonProperty("resCode")
+    private String resCode;
+
+    @JsonProperty("source")
+    private String source;
+
+}

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

@@ -0,0 +1,32 @@
+package com.jzg.quotation.taiping.crawler.entity.response;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+@NoArgsConstructor
+@Data
+public class TaiPingCrawlerBaseResponse<T> {
+
+    @JsonProperty("succ")
+    private boolean succ;
+
+    @JsonProperty("excId")
+    private String excId;
+
+    @JsonProperty("errCode")
+    private Integer errCode;
+
+    @JsonProperty("errType")
+    private String errType;
+
+    @JsonProperty("errMsg")
+    private String errMsg;
+
+    @JsonProperty("data")
+    private T data;
+
+    @JsonProperty("exception")
+    private Object exception;
+
+}

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

@@ -0,0 +1,618 @@
+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: 太平财险 车型查询 响应
+ * @author: wenks
+ * @date: 2025/3/11 9:53
+ **/
+@NoArgsConstructor
+@Data
+public class TaiPingCrawlerBrandNameQueryData {
+
+    @JsonProperty("tipMsg")
+    private String tipMsg;
+
+    @JsonProperty("errorMsg")
+    private List<String> errorMsg;
+
+    @JsonProperty("jgErrorMsg")
+    private String jgErrorMsg;
+
+    @JsonProperty("addParamList")
+    private List<String> addParamList;
+
+    @JsonProperty("buttonMap")
+    private ButtonMapDTO buttonMap;
+
+    @JsonProperty("buttonPathMap")
+    private ButtonPathMapDTO buttonPathMap;
+
+    @JsonProperty("pfProposalDto")
+    private Object pfProposalDto;
+
+    @JsonProperty("itemMotorDtoList")
+    private List<ItemMotorDtoListDTO> itemMotorDtoList;
+
+    @JsonProperty("subType")
+    private String subType;
+
+    @JsonProperty("salesmanFlag")
+    private Boolean salesmanFlag;
+
+    @JsonProperty("manualOperation")
+    private Boolean manualOperation;
+
+    @NoArgsConstructor
+    @Data
+    public static class ButtonMapDTO {
+        @JsonProperty("nextProcess")
+        private String nextProcess;
+    }
+
+    @NoArgsConstructor
+    @Data
+    public static class ButtonPathMapDTO {
+        @JsonProperty("nextProcess")
+        private String nextProcess;
+    }
+
+    @NoArgsConstructor
+    @Data
+    public static class ItemMotorDtoListDTO {
+        @JsonProperty("loancarCompany")
+        private Object loancarCompany;
+        @JsonProperty("whiteListFlag")
+        private Object whiteListFlag;
+        @JsonProperty("whiteListElecContactNo")
+        private Object whiteListElecContactNo;
+        @JsonProperty("cxtPrice")
+        private Object cxtPrice;
+        @JsonProperty("tonCountJy")
+        private Object tonCountJy;
+        @JsonProperty("proposalNo")
+        private Object proposalNo;
+        @JsonProperty("itemNo")
+        private Object itemNo;
+        @JsonProperty("insuredTypeCode")
+        private Object insuredTypeCode;
+        @JsonProperty("carInsuredRelation")
+        private Object carInsuredRelation;
+        @JsonProperty("carOwner")
+        private Object carOwner;
+        @JsonProperty("fleetName")
+        private Object fleetName;
+        @JsonProperty("classificationOfCDW")
+        private Object classificationOfCDW;
+        @JsonProperty("clauseType")
+        private Object clauseType;
+        @JsonProperty("agreeDriverInd")
+        private Object agreeDriverInd;
+        @JsonProperty("newDeviceInd")
+        private Object newDeviceInd;
+        @JsonProperty("modifiedInd")
+        private Object modifiedInd;
+        @JsonProperty("taxiInd")
+        private Object taxiInd;
+        @JsonProperty("licenseNo")
+        private Object licenseNo;
+        @JsonProperty("licenseNoA")
+        private Object licenseNoA;
+        @JsonProperty("licenseColorCode")
+        private String licenseColorCode;
+        @JsonProperty("carKindCode")
+        private String carKindCode;
+        @JsonProperty("hkFlag")
+        private Object hkFlag;
+        @JsonProperty("hkLicenseNo")
+        private Object hkLicenseNo;
+        @JsonProperty("engineNo")
+        private Object engineNo;
+        @JsonProperty("engineNo2")
+        private Object engineNo2;
+        @JsonProperty("vinNo")
+        private String vinNo;
+        @JsonProperty("frameNo")
+        private Object frameNo;
+        @JsonProperty("withinChinaInd")
+        private Object withinChinaInd;
+        @JsonProperty("runAreaCode")
+        private Object runAreaCode;
+        @JsonProperty("runAreaName")
+        private Object runAreaName;
+        @JsonProperty("runMiles")
+        private Object runMiles;
+        @JsonProperty("enrollDate")
+        private Object enrollDate;
+        @JsonProperty("useYears")
+        private Object useYears;
+        @JsonProperty("useYearsQuotation")
+        private Object useYearsQuotation;
+        @JsonProperty("modelCode")
+        private String modelCode;
+        @JsonProperty("make")
+        private Object make;
+        @JsonProperty("brandName")
+        private String brandName;
+        @JsonProperty("countryNature")
+        private String countryNature;
+        @JsonProperty("countryCode")
+        private Object countryCode;
+        @JsonProperty("useNatureCode")
+        private Object useNatureCode;
+        @JsonProperty("businessClassCode")
+        private Object businessClassCode;
+        @JsonProperty("longLoadPermit")
+        private String longLoadPermit;
+        @JsonProperty("wideLoadPermit")
+        private Object wideLoadPermit;
+        @JsonProperty("seatCount")
+        private Integer seatCount;
+        @JsonProperty("addSeatCount")
+        private Object addSeatCount;
+        @JsonProperty("tonCount")
+        private Double tonCount;
+        @JsonProperty("exhaustScale")
+        private Double exhaustScale;
+        @JsonProperty("power")
+        private Double power;
+        @JsonProperty("maxDesignSpeed")
+        private Object maxDesignSpeed;
+        @JsonProperty("doorCount")
+        private Object doorCount;
+        @JsonProperty("colorCode")
+        private Object colorCode;
+        @JsonProperty("safeDevice")
+        private Object safeDevice;
+        @JsonProperty("parkSite")
+        private Object parkSite;
+        @JsonProperty("vehicleStatuse")
+        private Object vehicleStatuse;
+        @JsonProperty("driveMode")
+        private Object driveMode;
+        @JsonProperty("ownerAddress")
+        private Object ownerAddress;
+        @JsonProperty("district")
+        private Object district;
+        @JsonProperty("largeDistrict")
+        private Object largeDistrict;
+        @JsonProperty("addressType")
+        private Object addressType;
+        @JsonProperty("otherNature")
+        private Object otherNature;
+        @JsonProperty("rateCode")
+        private Object rateCode;
+        @JsonProperty("makeDate")
+        private String makeDate;
+        @JsonProperty("carUsage")
+        private Object carUsage;
+        @JsonProperty("currency")
+        private Object currency;
+        @JsonProperty("estimateValue")
+        private Object estimateValue;
+        @JsonProperty("purchasePrice")
+        private Double purchasePrice;
+        @JsonProperty("actualValue")
+        private Object actualValue;
+        @JsonProperty("invoiceNo")
+        private Object invoiceNo;
+        @JsonProperty("useLimitations")
+        private Object useLimitations;
+        @JsonProperty("lastInsurer")
+        private Object lastInsurer;
+        @JsonProperty("previousPolicyNo")
+        private Object previousPolicyNo;
+        @JsonProperty("previousExpiryDate")
+        private Object previousExpiryDate;
+        @JsonProperty("carCheckStatus")
+        private Object carCheckStatus;
+        @JsonProperty("carCheckReason")
+        private Object carCheckReason;
+        @JsonProperty("carChecker")
+        private Object carChecker;
+        @JsonProperty("carCheckTime")
+        private Object carCheckTime;
+        @JsonProperty("relievingAreaCode")
+        private Object relievingAreaCode;
+        @JsonProperty("hirePurchase")
+        private Object hirePurchase;
+        @JsonProperty("localVehicleInd")
+        private Object localVehicleInd;
+        @JsonProperty("glassType")
+        private String glassType;
+        @JsonProperty("peccancyRecord")
+        private Object peccancyRecord;
+        @JsonProperty("damagedFactorGrade")
+        private Object damagedFactorGrade;
+        @JsonProperty("loadType")
+        private Object loadType;
+        @JsonProperty("repairFactoryType")
+        private Object repairFactoryType;
+        @JsonProperty("licenseType")
+        private Object licenseType;
+        @JsonProperty("licenseTypeCode")
+        private String licenseTypeCode;
+        @JsonProperty("remark")
+        private String remark;
+        @JsonProperty("flag")
+        private Object flag;
+        @JsonProperty("printBrandName")
+        private String printBrandName;
+        @JsonProperty("aliasCode")
+        private Object aliasCode;
+        @JsonProperty("completeKerbMass")
+        private Double completeKerbMass;
+        @JsonProperty("vehicleClass")
+        private String vehicleClass;
+        @JsonProperty("vehicleType")
+        private Object vehicleType;
+        @JsonProperty("vehicleBodyType")
+        private Object vehicleBodyType;
+        @JsonProperty("rejectInd")
+        private Object rejectInd;
+        @JsonProperty("hirePurchaseCode")
+        private Object hirePurchaseCode;
+        @JsonProperty("driverLimitations")
+        private Object driverLimitations;
+        @JsonProperty("hkRiskCode")
+        private Object hkRiskCode;
+        @JsonProperty("certificateDate")
+        private Object certificateDate;
+        @JsonProperty("motorCommission")
+        private Object motorCommission;
+        @JsonProperty("motorRebate")
+        private Object motorRebate;
+        @JsonProperty("motorCommissionDeductible")
+        private Object motorCommissionDeductible;
+        @JsonProperty("fixInd")
+        private Object fixInd;
+        @JsonProperty("identifyType")
+        private Object identifyType;
+        @JsonProperty("identifyNumber")
+        private Object identifyNumber;
+        @JsonProperty("changeRegionDate")
+        private Object changeRegionDate;
+        @JsonProperty("settleAddressCode")
+        private Object settleAddressCode;
+        @JsonProperty("useNatureShow")
+        private Object useNatureShow;
+        @JsonProperty("attachNature")
+        private Object attachNature;
+        @JsonProperty("carUseType")
+        private Object carUseType;
+        @JsonProperty("carTypeCode")
+        private Object carTypeCode;
+        @JsonProperty("carKindCodeShow")
+        private Object carKindCodeShow;
+        @JsonProperty("carNewOldFlag")
+        private Object carNewOldFlag;
+        @JsonProperty("subProposalNo")
+        private Object subProposalNo;
+        @JsonProperty("motorType")
+        private Object motorType;
+        @JsonProperty("previousStartDate")
+        private Object previousStartDate;
+        @JsonProperty("noDamageYears")
+        private Object noDamageYears;
+        @JsonProperty("pastLicenseNo")
+        private Object pastLicenseNo;
+        @JsonProperty("routeStartPoint")
+        private Object routeStartPoint;
+        @JsonProperty("routeEndPolint")
+        private Object routeEndPolint;
+        @JsonProperty("factory")
+        private String factory;
+        @JsonProperty("factoryId")
+        private String factoryId;
+        @JsonProperty("carBrand")
+        private String carBrand;
+        @JsonProperty("brandId")
+        private String brandId;
+        @JsonProperty("familyName")
+        private String familyName;
+        @JsonProperty("familyCode")
+        private String familyCode;
+        @JsonProperty("frameNoHeteroType")
+        private Object frameNoHeteroType;
+        @JsonProperty("updateTime")
+        private Object updateTime;
+        @JsonProperty("hazardType")
+        private String hazardType;
+        @JsonProperty("vehicleCategory")
+        private String vehicleCategory;
+        @JsonProperty("colorName")
+        private Object colorName;
+        @JsonProperty("previousPrpallCompany")
+        private Object previousPrpallCompany;
+        @JsonProperty("planCode")
+        private Object planCode;
+        @JsonProperty("riskCode")
+        private Object riskCode;
+        @JsonProperty("groupCode")
+        private Object groupCode;
+        @JsonProperty("simpleFrameNo")
+        private Object simpleFrameNo;
+        @JsonProperty("chgOwnerFlag")
+        private Object chgOwnerFlag;
+        @JsonProperty("carKindShowSub")
+        private Object carKindShowSub;
+        @JsonProperty("transferDate")
+        private Object transferDate;
+        @JsonProperty("loanVehicleFlag")
+        private Object loanVehicleFlag;
+        @JsonProperty("singeinDate")
+        private Object singeinDate;
+        @JsonProperty("specialCarFlag")
+        private Object specialCarFlag;
+        @JsonProperty("vehicleCode")
+        private Object vehicleCode;
+        @JsonProperty("ciModelCode")
+        private String ciModelCode;
+        @JsonProperty("basicRateCode")
+        private Object basicRateCode;
+        @JsonProperty("noticeType")
+        private String noticeType;
+        @JsonProperty("carName")
+        private String carName;
+        @JsonProperty("negotiatedActualValue")
+        private Object negotiatedActualValue;
+        @JsonProperty("isSpecialCarFlag")
+        private Object isSpecialCarFlag;
+        @JsonProperty("carCheckValidTime")
+        private Object carCheckValidTime;
+        @JsonProperty("engineModel")
+        private Object engineModel;
+        @JsonProperty("configModel")
+        private Object configModel;
+        @JsonProperty("carYear")
+        private Object carYear;
+        @JsonProperty("vehicleModelKind")
+        private String vehicleModelKind;
+        @JsonProperty("fuelType")
+        private String fuelType;
+        @JsonProperty("fuelTypeName")
+        private String fuelTypeName;
+        @JsonProperty("newVehicleClassCode")
+        private String newVehicleClassCode;
+        @JsonProperty("newVehicleClassName")
+        private String newVehicleClassName;
+        @JsonProperty("hfCode")
+        private String hfCode;
+        @JsonProperty("hfStartTime")
+        private String hfStartTime;
+        @JsonProperty("hfEndTime")
+        private String hfEndTime;
+        @JsonProperty("hfName")
+        private String hfName;
+        @JsonProperty("carID")
+        private Object carID;
+        @JsonProperty("carIDCheckInd")
+        private Object carIDCheckInd;
+        @JsonProperty("carIDVersionNo")
+        private Object carIDVersionNo;
+        @JsonProperty("carIDVerifyEquallyInd")
+        private Object carIDVerifyEquallyInd;
+        @JsonProperty("drivingRadius")
+        private Object drivingRadius;
+        @JsonProperty("outBoundLand")
+        private Object outBoundLand;
+        @JsonProperty("shVehicleCode")
+        private Object shVehicleCode;
+        @JsonProperty("jgVehicleCheckCode")
+        private Object jgVehicleCheckCode;
+        @JsonProperty("driveUseAttribute")
+        private Object driveUseAttribute;
+        @JsonProperty("platformBlacklistNum")
+        private Object platformBlacklistNum;
+        @JsonProperty("carBlacklistInd")
+        private Object carBlacklistInd;
+        @JsonProperty("commercialCarGrade")
+        private Object commercialCarGrade;
+        @JsonProperty("commercialCarGradeSource")
+        private Object commercialCarGradeSource;
+        @JsonProperty("sale4SFlag")
+        private Object sale4SFlag;
+        @JsonProperty("saleCompany")
+        private Object saleCompany;
+        @JsonProperty("saleAreaCode")
+        private Object saleAreaCode;
+        @JsonProperty("saleAreaName")
+        private Object saleAreaName;
+        @JsonProperty("provinceEcdemicVehicleFlag")
+        private Object provinceEcdemicVehicleFlag;
+        @JsonProperty("vehicleInitialRegister")
+        private Object vehicleInitialRegister;
+        @JsonProperty("specialVehicleFlagCode")
+        private Object specialVehicleFlagCode;
+        @JsonProperty("specialVehicleFlagMean")
+        private Object specialVehicleFlagMean;
+        @JsonProperty("vehicleQueryType")
+        private Object vehicleQueryType;
+        @JsonProperty("distinguishVanAreaCode")
+        private Object distinguishVanAreaCode;
+        @JsonProperty("cvFlag")
+        private Object cvFlag;
+        @JsonProperty("principalCHDVehicleGrade")
+        private Object principalCHDVehicleGrade;
+        @JsonProperty("principalCHDTeamGrade")
+        private Object principalCHDTeamGrade;
+        @JsonProperty("principalZJXLGrade")
+        private Object principalZJXLGrade;
+        @JsonProperty("principalLicenseNo")
+        private Object principalLicenseNo;
+        @JsonProperty("principalValidPolicyCount")
+        private Object principalValidPolicyCount;
+        @JsonProperty("chdVehicleGrade")
+        private Object chdVehicleGrade;
+        @JsonProperty("chdTeamGrade")
+        private Object chdTeamGrade;
+        @JsonProperty("zjxlGrade")
+        private Object zjxlGrade;
+        @JsonProperty("principalQuotationDiscount")
+        private Object principalQuotationDiscount;
+        @JsonProperty("newEnergyFlag")
+        private Object newEnergyFlag;
+        @JsonProperty("energyType")
+        private Object energyType;
+        @JsonProperty("range")
+        private Object range;
+        @JsonProperty("energyTypeDescribe")
+        private Object energyTypeDescribe;
+        @JsonProperty("newEnergyClauseFlag")
+        private Object newEnergyClauseFlag;
+        @JsonProperty("callC05")
+        private Object callC05;
+        @JsonProperty("callC05Result")
+        private Object callC05Result;
+        @JsonProperty("vehicleStyleUniqueId")
+        private Object vehicleStyleUniqueId;
+        @JsonProperty("certificateType")
+        private Object certificateType;
+        @JsonProperty("certificateNo")
+        private Object certificateNo;
+        @JsonProperty("certificateReportDate")
+        private Object certificateReportDate;
+        @JsonProperty("carGroupName")
+        private String carGroupName;
+        @JsonProperty("scUpdateTime")
+        private Object scUpdateTime;
+        @JsonProperty("chgOwnerLevel")
+        private Object chgOwnerLevel;
+        @JsonProperty("carFamilyTypeI")
+        private Object carFamilyTypeI;
+        @JsonProperty("carFamilyTypeII")
+        private Object carFamilyTypeII;
+        @JsonProperty("pureHkLicenseNo")
+        private Object pureHkLicenseNo;
+        @JsonProperty("secondNewCarFlag")
+        private Object secondNewCarFlag;
+        @JsonProperty("pureMoLicenseNo")
+        private Object pureMoLicenseNo;
+        @JsonProperty("ownerNameOA")
+        private Object ownerNameOA;
+        @JsonProperty("rideSharingScore")
+        private Object rideSharingScore;
+        @JsonProperty("negotiatedActualValueType")
+        private Object negotiatedActualValueType;
+        @JsonProperty("vehicleFatteryFlag")
+        private Object vehicleFatteryFlag;
+        @JsonProperty("riskFactorShow")
+        private Object riskFactorShow;
+        @JsonProperty("driveCityCode")
+        private Object driveCityCode;
+        @JsonProperty("bzVehicleCategory")
+        private Object bzVehicleCategory;
+        @JsonProperty("bsVehicleCategory")
+        private Object bsVehicleCategory;
+        @JsonProperty("totalTractionMass")
+        private Object totalTractionMass;
+        @JsonProperty("updateDate")
+        private Object updateDate;
+        @JsonProperty("configType")
+        private Object configType;
+        @JsonProperty("useNatureShowName")
+        private Object useNatureShowName;
+        @JsonProperty("vehicleCategoryName")
+        private Object vehicleCategoryName;
+        @JsonProperty("carUseTypeName")
+        private Object carUseTypeName;
+        @JsonProperty("companyCode")
+        private Object companyCode;
+        @JsonProperty("syxClassName")
+        private String syxClassName;
+        @JsonProperty("ciModelClass")
+        private String ciModelClass;
+        @JsonProperty("glassTypeName")
+        private Object glassTypeName;
+        @JsonProperty("renewalNo")
+        private Object renewalNo;
+        @JsonProperty("vehicleId")
+        private String vehicleId;
+        @JsonProperty("platVehicleCode")
+        private String platVehicleCode;
+        @JsonProperty("platVehicleName")
+        private String platVehicleName;
+        @JsonProperty("transmissiontType")
+        private String transmissiontType;
+        @JsonProperty("purchasePriceNotTax")
+        private Double purchasePriceNotTax;
+        @JsonProperty("platFlag")
+        private Object platFlag;
+        @JsonProperty("orderNo")
+        private Object orderNo;
+        @JsonProperty("fgSwitch")
+        private Object fgSwitch;
+        @JsonProperty("licenseColorName")
+        private Object licenseColorName;
+        @JsonProperty("attachNatureName")
+        private Object attachNatureName;
+        @JsonProperty("localVehicleIndName")
+        private Object localVehicleIndName;
+        @JsonProperty("licenseTypeName")
+        private Object licenseTypeName;
+        @JsonProperty("motorTypeName")
+        private Object motorTypeName;
+        @JsonProperty("carKindCodeShowName")
+        private Object carKindCodeShowName;
+        @JsonProperty("pureRiskPremium")
+        private Object pureRiskPremium;
+        @JsonProperty("demandNo")
+        private Object demandNo;
+        @JsonProperty("rejectDate")
+        private Object rejectDate;
+        @JsonProperty("analogyModelPrice")
+        private Double analogyModelPrice;
+        @JsonProperty("classAttribute")
+        private Object classAttribute;
+        @JsonProperty("classAttributeName")
+        private Object classAttributeName;
+        @JsonProperty("analogyModelPriceNotTax")
+        private Double analogyModelPriceNotTax;
+        @JsonProperty("refcode1")
+        private Object refcode1;
+        @JsonProperty("refcode2")
+        private Object refcode2;
+        @JsonProperty("absFlag")
+        private Object absFlag;
+        @JsonProperty("airbagNum")
+        private Object airbagNum;
+        @JsonProperty("alarmFlag")
+        private Object alarmFlag;
+        @JsonProperty("vehicleBrand")
+        private Object vehicleBrand;
+        @JsonProperty("vehicleDescription")
+        private Object vehicleDescription;
+        @JsonProperty("tradeCode")
+        private Object tradeCode;
+        @JsonProperty("tradeName")
+        private Object tradeName;
+        @JsonProperty("vehicleStyle")
+        private Object vehicleStyle;
+        @JsonProperty("startDate")
+        private Object startDate;
+        @JsonProperty("taxVehicleCategory")
+        private Object taxVehicleCategory;
+        @JsonProperty("riskStartDate")
+        private Object riskStartDate;
+        @JsonProperty("riskEndDate")
+        private Object riskEndDate;
+        @JsonProperty("carValue")
+        private Object carValue;
+        @JsonProperty("vehicleDisplacement")
+        private Object vehicleDisplacement;
+        @JsonProperty("bzVehicleCategoryName")
+        private Object bzVehicleCategoryName;
+        @JsonProperty("fullWeight")
+        private String fullWeight;
+        @JsonProperty("nerveCentre")
+        private Object nerveCentre;
+        @JsonProperty("thirdRunRoute")
+        private Object thirdRunRoute;
+    }
+}

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

@@ -0,0 +1,44 @@
+package com.jzg.quotation.taiping.crawler.entity.response;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+@NoArgsConstructor
+@Data
+public class TaiPingCrawlerLoginData {
+
+    @JsonProperty("companyCode")
+    private String companyCode;
+
+    @JsonProperty("personInd")
+    private String personInd;
+
+    @JsonProperty("msg")
+    private String msg;
+
+    @JsonProperty("firstLogin")
+    private Boolean firstLogin;
+
+    @JsonProperty("companyName")
+    private String companyName;
+
+    @JsonProperty("resCode")
+    private String resCode;
+
+    @JsonProperty("language")
+    private String language;
+
+    @JsonProperty("userType")
+    private String userType;
+
+    @JsonProperty("policySort")
+    private String policySort;
+
+    @JsonProperty("userName")
+    private String userName;
+
+    @JsonProperty("userCode")
+    private String userCode;
+
+}

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

@@ -0,0 +1,1352 @@
+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 TaiPingCrawlerPremiumCalculateData {
+
+    @JsonProperty("calculateSuccCodeBZ")
+    private String calculateSuccCodeBZ;
+    @JsonProperty("calculateSuccCodeBS")
+    private String calculateSuccCodeBS;
+    @JsonProperty("msgBZ")
+    private String msgBZ;
+    @JsonProperty("msgBS")
+    private String msgBS;
+    @JsonProperty("proposalNo0801")
+    private String proposalNo0801;
+    @JsonProperty("proposalNo0802")
+    private String proposalNo0802;
+    @JsonProperty("sumPremiumTax")
+    private Double sumPremiumTax;
+    @JsonProperty("benchmarkPremiumBusi")
+    private Double benchmarkPremiumBusi;
+    @JsonProperty("commercialCarGrade")
+    private Object commercialCarGrade;
+    @JsonProperty("commercialCarGradeSource")
+    private Object commercialCarGradeSource;
+    @JsonProperty("zjxlCommercialCarGrade")
+    private Object zjxlCommercialCarGrade;
+    @JsonProperty("zjxlCommercialCarGradeSource")
+    private Object zjxlCommercialCarGradeSource;
+    @JsonProperty("relieveFund")
+    private Double relieveFund;
+    @JsonProperty("relieveFundRate")
+    private Double relieveFundRate;
+    @JsonProperty("demandNoForce")
+    private String demandNoForce;
+    @JsonProperty("demandNoBusi")
+    private String demandNoBusi;
+    @JsonProperty("acVersion")
+    private String acVersion;
+    @JsonProperty("canMakeTPYW")
+    private String canMakeTPYW;
+    @JsonProperty("canMakeJFLD")
+    private String canMakeJFLD;
+    @JsonProperty("adjustableRangeOfTPYW")
+    private String adjustableRangeOfTPYW;
+    @JsonProperty("adjustablePremiumRangeOfTPYW")
+    private String adjustablePremiumRangeOfTPYW;
+    @JsonProperty("itemsOfJFLD")
+    private Object itemsOfJFLD;
+    @JsonProperty("adjustMentFeeShow")
+    private Object adjustMentFeeShow;
+    @JsonProperty("adjustMentPremiumShow")
+    private Object adjustMentPremiumShow;
+    @JsonProperty("storeCustomersModel")
+    private Object storeCustomersModel;
+    @JsonProperty("storeCustomersModelShow")
+    private Object storeCustomersModelShow;
+    @JsonProperty("standardModel")
+    private Object standardModel;
+    @JsonProperty("standardModelShow")
+    private Object standardModelShow;
+    @JsonProperty("enjoyModel")
+    private Object enjoyModel;
+    @JsonProperty("enjoyModelShow")
+    private Object enjoyModelShow;
+    @JsonProperty("optionalModel")
+    private Object optionalModel;
+    @JsonProperty("optionalModelShow")
+    private Object optionalModelShow;
+    @JsonProperty("showType")
+    private String showType;
+    @JsonProperty("insurerCode")
+    private String insurerCode;
+    @JsonProperty("riskInsurerCode")
+    private String riskInsurerCode;
+    @JsonProperty("pfItemKindDto0801")
+    private PfItemKindDto0801DTO pfItemKindDto0801;
+    @JsonProperty("reinsureMsg")
+    private Object reinsureMsg;
+    @JsonProperty("vehicleCategory")
+    private Object vehicleCategory;
+    @JsonProperty("vehicleCategoryName")
+    private Object vehicleCategoryName;
+    @JsonProperty("pfCarShipTax")
+    private PfCarShipTaxDTO pfCarShipTax;
+    @JsonProperty("pfRiskDtoList")
+    private List<PfRiskDtoListDTO> pfRiskDtoList;
+    @JsonProperty("pfItemKindDto0802List")
+    private List<PfItemKindDto0802ListDTO> pfItemKindDto0802List;
+    @JsonProperty("pfModuleValidateResultDtoList")
+    private Object pfModuleValidateResultDtoList;
+    @JsonProperty("pfActuaryRiskDtoBusi")
+    private Object pfActuaryRiskDtoBusi;
+    @JsonProperty("fcPrice")
+    private Double fcPrice;
+    @JsonProperty("bzInformationDetailDto")
+    private BzInformationDetailDtoDTO bzInformationDetailDto;
+    @JsonProperty("fcProductList")
+    private List<?> fcProductList;
+    @JsonProperty("clauseList0801")
+    private List<ClauseList0801DTO> clauseList0801;
+    @JsonProperty("clauseList0802")
+    private List<ClauseList0802DTO> clauseList0802;
+    @JsonProperty("originScList0801")
+    private List<?> originScList0801;
+    @JsonProperty("originScList0802")
+    private List<?> originScList0802;
+    @JsonProperty("flowUWDto")
+    private List<FlowUWDtoDTO> flowUWDto;
+    @JsonProperty("flowApproveDto")
+    private List<FlowApproveDtoDTO> flowApproveDto;
+    @JsonProperty("pfForceCIInsureDemandDto")
+    private Object pfForceCIInsureDemandDto;
+    @JsonProperty("pfBusiCIInsureDemandDto")
+    private Object pfBusiCIInsureDemandDto;
+    @JsonProperty("jgVehicleCheckCode")
+    private String jgVehicleCheckCode;
+    @JsonProperty("callC05")
+    private Object callC05;
+    @JsonProperty("callC05Result")
+    private Object callC05Result;
+    @JsonProperty("coreValue")
+    private String coreValue;
+    @JsonProperty("distinguishVanAreaCode")
+    private Object distinguishVanAreaCode;
+    @JsonProperty("softReminderVanZone")
+    private Boolean softReminderVanZone;
+    @JsonProperty("changeFee")
+    private Object changeFee;
+    @JsonProperty("changeFeeRate")
+    private Object changeFeeRate;
+    @JsonProperty("changePremium")
+    private Object changePremium;
+    @JsonProperty("premiumShow")
+    private Object premiumShow;
+    @JsonProperty("feeShow")
+    private Object feeShow;
+    @JsonProperty("feeRateShow")
+    private Object feeRateShow;
+    @JsonProperty("cvFlag")
+    private String cvFlag;
+    @JsonProperty("salesDto")
+    private SalesDtoDTO salesDto;
+    @JsonProperty("itemMotorDto")
+    private ItemMotorDtoDTO itemMotorDto;
+    @JsonProperty("vehicleOwnerDto")
+    private VehicleOwnerDtoDTO vehicleOwnerDto;
+    @JsonProperty("policyHolderDto")
+    private PolicyHolderDtoDTO policyHolderDto;
+    @JsonProperty("insuredDto")
+    private InsuredDtoDTO insuredDto;
+    @JsonProperty("itemKindBzDto")
+    private ItemKindBzDtoDTO itemKindBzDto;
+    @JsonProperty("carshipTaxDto")
+    private CarshipTaxDtoDTO carshipTaxDto;
+    @JsonProperty("itemKindBsDTO")
+    private ItemKindBsDTODTO itemKindBsDTO;
+    @JsonProperty("passengersDriversAcciDto")
+    private PassengersDriversAcciDtoDTO passengersDriversAcciDto;
+    @JsonProperty("acciInfoDto")
+    private AcciInfoDtoDTO acciInfoDto;
+    @JsonProperty("guDecisionServiceKindInfo")
+    private Object guDecisionServiceKindInfo;
+    @JsonProperty("pfPolicyInfoDto")
+    private PfPolicyInfoDtoDTO pfPolicyInfoDto;
+    @JsonProperty("pfCILastPolicyInfoDto")
+    private Object pfCILastPolicyInfoDto;
+    @JsonProperty("insurancePremiumDto")
+    private InsurancePremiumDtoDTO insurancePremiumDto;
+    @JsonProperty("clauseType")
+    private String clauseType;
+    @JsonProperty("pfNewEnergyDeviceDtoList")
+    private Object pfNewEnergyDeviceDtoList;
+    @JsonProperty("pfIntelligentDriveDtoList")
+    private Object pfIntelligentDriveDtoList;
+    @JsonProperty("xzxId")
+    private String xzxId;
+    @JsonProperty("forceLinkCIFlag")
+    private Boolean forceLinkCIFlag;
+    @JsonProperty("isDangerBz")
+    private String isDangerBz;
+    @JsonProperty("pickupTruckBusinessType")
+    private String pickupTruckBusinessType;
+    @JsonProperty("pickupTruckBusinessName")
+    private String pickupTruckBusinessName;
+    @JsonProperty("showTruckBusinessType")
+    private String showTruckBusinessType;
+    @JsonProperty("proposalGrade")
+    private String proposalGrade;
+    @JsonProperty("proposalGradeFlag")
+    private String proposalGradeFlag;
+    @JsonProperty("proposalRiskGrade")
+    private String proposalRiskGrade;
+    @JsonProperty("proposalRiskGradeFlag")
+    private String proposalRiskGradeFlag;
+    @JsonProperty("provinceEcdemicVehicleFlag")
+    private String provinceEcdemicVehicleFlag;
+    @JsonProperty("priceSensitiveDiscountRange")
+    private String priceSensitiveDiscountRange;
+    @JsonProperty("priceSensitivePremiumRange")
+    private String priceSensitivePremiumRange;
+    @JsonProperty("vehicleStyleUniqueId")
+    private String vehicleStyleUniqueId;
+    @JsonProperty("lorryRenwewalVanZoneMsg")
+    private Object lorryRenwewalVanZoneMsg;
+    @JsonProperty("isFeeDeductionValueAdded")
+    private String isFeeDeductionValueAdded;
+    @JsonProperty("feeServiceLinkage")
+    private String feeServiceLinkage;
+    @JsonProperty("bzVehicleCategory")
+    private String bzVehicleCategory;
+    @JsonProperty("bzVehicleCategoryName")
+    private String bzVehicleCategoryName;
+    @JsonProperty("rideSharingMsg")
+    private Object rideSharingMsg;
+    @JsonProperty("nerveCentre")
+    private Object nerveCentre;
+    @JsonProperty("thirdRunRoute")
+    private Object thirdRunRoute;
+    @JsonProperty("noticeType")
+    private String noticeType;
+    @JsonProperty("postponeRemark")
+    private Object postponeRemark;
+    @JsonProperty("orderNo")
+    private Object orderNo;
+    @JsonProperty("commercialFactors")
+    private Object commercialFactors;
+    @JsonProperty("carNewOldFlag")
+    private String carNewOldFlag;
+
+    @NoArgsConstructor
+    @Data
+    public static class PfItemKindDto0801DTO {
+        @JsonProperty("nodeBtGrossPremium")
+        private Object nodeBtGrossPremium;
+        @JsonProperty("proposalNo")
+        private String proposalNo;
+        @JsonProperty("riskCode")
+        private String riskCode;
+        @JsonProperty("itemKindNo")
+        private Integer itemKindNo;
+        @JsonProperty("itemCode")
+        private Object itemCode;
+        @JsonProperty("itemDetailCode")
+        private Object itemDetailCode;
+        @JsonProperty("itemDetailList")
+        private Object itemDetailList;
+        @JsonProperty("liabCode")
+        private String liabCode;
+        @JsonProperty("kindName")
+        private String kindName;
+        @JsonProperty("modeCode")
+        private Object modeCode;
+        @JsonProperty("modeName")
+        private Object modeName;
+        @JsonProperty("startDate")
+        private Object startDate;
+        @JsonProperty("endDate")
+        private Object endDate;
+        @JsonProperty("calculateInd")
+        private String calculateInd;
+        @JsonProperty("currency")
+        private String currency;
+        @JsonProperty("unitValue")
+        private Object unitValue;
+        @JsonProperty("unitInsured")
+        private Object unitInsured;
+        @JsonProperty("unitPremium")
+        private Object unitPremium;
+        @JsonProperty("quantity")
+        private Object quantity;
+        @JsonProperty("unit")
+        private Object unit;
+        @JsonProperty("sumValue")
+        private Object sumValue;
+        @JsonProperty("sumInsured")
+        private Double sumInsured;
+        @JsonProperty("ratePeriod")
+        private Object ratePeriod;
+        @JsonProperty("rate")
+        private Object rate;
+        @JsonProperty("shortRateFlag")
+        private String shortRateFlag;
+        @JsonProperty("shortRateNumerator")
+        private Double shortRateNumerator;
+        @JsonProperty("shortRateDenominator")
+        private Integer shortRateDenominator;
+        @JsonProperty("shortRate")
+        private Double shortRate;
+        @JsonProperty("basePremium")
+        private Double basePremium;
+        @JsonProperty("pureBenchPremium")
+        private Object pureBenchPremium;
+        @JsonProperty("basePureBenchPremium")
+        private Object basePureBenchPremium;
+        @JsonProperty("benchmarkPremium")
+        private Double benchmarkPremium;
+        @JsonProperty("noDebtPremium")
+        private Object noDebtPremium;
+        @JsonProperty("loading")
+        private Object loading;
+        @JsonProperty("grossPremium")
+        private Double grossPremium;
+        @JsonProperty("discount")
+        private Double discount;
+        @JsonProperty("adjustRate")
+        private Double adjustRate;
+        @JsonProperty("netPremium")
+        private Double netPremium;
+        @JsonProperty("deductibleRate")
+        private Object deductibleRate;
+        @JsonProperty("deductible")
+        private Object deductible;
+        @JsonProperty("premiumFormula")
+        private Object premiumFormula;
+        @JsonProperty("yearPremium")
+        private Object yearPremium;
+        @JsonProperty("surrenderInd")
+        private String surrenderInd;
+        @JsonProperty("firstLossRate")
+        private Object firstLossRate;
+        @JsonProperty("kindInd")
+        private String kindInd;
+        @JsonProperty("suitProduct")
+        private Object suitProduct;
+        @JsonProperty("assistKindFlag")
+        private Object assistKindFlag;
+        @JsonProperty("remark")
+        private Object remark;
+        @JsonProperty("flag")
+        private Object flag;
+        @JsonProperty("uwCount")
+        private Object uwCount;
+        @JsonProperty("uwPremium")
+        private Double uwPremium;
+        @JsonProperty("originUWPremium")
+        private Double originUWPremium;
+        @JsonProperty("originGrossPremium")
+        private Double originGrossPremium;
+        @JsonProperty("relatedInd")
+        private Object relatedInd;
+        @JsonProperty("endorAdjustRate")
+        private Double endorAdjustRate;
+        @JsonProperty("pubInsuredInd")
+        private Object pubInsuredInd;
+        @JsonProperty("specialInd")
+        private Object specialInd;
+        @JsonProperty("subProposalNo")
+        private String subProposalNo;
+        @JsonProperty("projectCode")
+        private Object projectCode;
+        @JsonProperty("itemDetailNo")
+        private Integer itemDetailNo;
+        @JsonProperty("kindCode")
+        private String kindCode;
+        @JsonProperty("mustInsureInd")
+        private Object mustInsureInd;
+        @JsonProperty("premiumType")
+        private Object premiumType;
+        @JsonProperty("valueType")
+        private Object valueType;
+        @JsonProperty("franchise")
+        private Double franchise;
+        @JsonProperty("reSpecialInd")
+        private String reSpecialInd;
+        @JsonProperty("additionalRate")
+        private Object additionalRate;
+        @JsonProperty("allBrokenRate")
+        private Object allBrokenRate;
+        @JsonProperty("addTax")
+        private Double addTax;
+        @JsonProperty("addTaxRate")
+        private Double addTaxRate;
+        @JsonProperty("priceTaxTotal")
+        private Double priceTaxTotal;
+        @JsonProperty("orgPriceTaxTotal")
+        private Double orgPriceTaxTotal;
+        @JsonProperty("serviceTimes")
+        private Object serviceTimes;
+        @JsonProperty("relatedFlagFG2020")
+        private Object relatedFlagFG2020;
+        @JsonProperty("scUpdateTime")
+        private String scUpdateTime;
+        @JsonProperty("useFormula")
+        private Object useFormula;
+        @JsonProperty("easyKindName")
+        private Object easyKindName;
+        @JsonProperty("shareModel")
+        private Object shareModel;
+        @JsonProperty("riskShareModelSwitch")
+        private Object riskShareModelSwitch;
+        @JsonProperty("deductibleList")
+        private Object deductibleList;
+    }
+
+    @NoArgsConstructor
+    @Data
+    public static class PfCarShipTaxDTO {
+        @JsonProperty("proposalNo")
+        private String proposalNo;
+        @JsonProperty("itemNo")
+        private Integer itemNo;
+        @JsonProperty("taxItemCode")
+        private Object taxItemCode;
+        @JsonProperty("taxItemName")
+        private Object taxItemName;
+        @JsonProperty("taxItemDetailCode")
+        private String taxItemDetailCode;
+        @JsonProperty("taxItemDetailName")
+        private String taxItemDetailName;
+        @JsonProperty("baseTaxation")
+        private Object baseTaxation;
+        @JsonProperty("taxPayerCode")
+        private Object taxPayerCode;
+        @JsonProperty("taxPayerName")
+        private String taxPayerName;
+        @JsonProperty("identifyNumber")
+        private String identifyNumber;
+        @JsonProperty("taxpayerIdentifier")
+        private String taxpayerIdentifier;
+        @JsonProperty("taxPayFlag")
+        private Object taxPayFlag;
+        @JsonProperty("taxRelifFlag")
+        private String taxRelifFlag;
+        @JsonProperty("taxRelifFlagLogo")
+        private String taxRelifFlagLogo;
+        @JsonProperty("relifReason")
+        private String relifReason;
+        @JsonProperty("freeRate")
+        private Double freeRate;
+        @JsonProperty("taxDocumentDate")
+        private Object taxDocumentDate;
+        @JsonProperty("taxPaidAreaCode")
+        private String taxPaidAreaCode;
+        @JsonProperty("freeRateText")
+        private Object freeRateText;
+        @JsonProperty("taxCompancyCode")
+        private String taxCompancyCode;
+        @JsonProperty("taxCompancyName")
+        private String taxCompancyName;
+        @JsonProperty("paidFreeCertificate")
+        private String paidFreeCertificate;
+        @JsonProperty("taxUnit")
+        private Object taxUnit;
+        @JsonProperty("taxUnitText")
+        private Object taxUnitText;
+        @JsonProperty("calculateMode")
+        private String calculateMode;
+        @JsonProperty("calculateFlag")
+        private String calculateFlag;
+        @JsonProperty("finalFlag")
+        private Object finalFlag;
+        @JsonProperty("completeKerbMass")
+        private Double completeKerbMass;
+        @JsonProperty("seatCount")
+        private Object seatCount;
+        @JsonProperty("tonCount")
+        private Object tonCount;
+        @JsonProperty("exhaustScale")
+        private Object exhaustScale;
+        @JsonProperty("payLastYear")
+        private String payLastYear;
+        @JsonProperty("payLastEndDate")
+        private String payLastEndDate;
+        @JsonProperty("taxDue")
+        private Double taxDue;
+        @JsonProperty("taxDueActual")
+        private Double taxDueActual;
+        @JsonProperty("taxRelief")
+        private Double taxRelief;
+        @JsonProperty("previousPay")
+        private Double previousPay;
+        @JsonProperty("payStartDate")
+        private Object payStartDate;
+        @JsonProperty("payEndDate")
+        private Object payEndDate;
+        @JsonProperty("lateFee")
+        private Double lateFee;
+        @JsonProperty("lateFeeStartDate")
+        private Object lateFeeStartDate;
+        @JsonProperty("lateFeeEndDate")
+        private Object lateFeeEndDate;
+        @JsonProperty("sumPayTax")
+        private Double sumPayTax;
+        @JsonProperty("currency")
+        private Object currency;
+        @JsonProperty("leviedDate")
+        private Object leviedDate;
+        @JsonProperty("payTaxTimes")
+        private Object payTaxTimes;
+        @JsonProperty("extendChar1")
+        private Object extendChar1;
+        @JsonProperty("extendChar2")
+        private Object extendChar2;
+        @JsonProperty("extendNum1")
+        private Object extendNum1;
+        @JsonProperty("extendNum2")
+        private Object extendNum2;
+        @JsonProperty("flag")
+        private Object flag;
+        @JsonProperty("certiType")
+        private String certiType;
+        @JsonProperty("vehicleCategory")
+        private String vehicleCategory;
+        @JsonProperty("taxPayerAddress")
+        private Object taxPayerAddress;
+        @JsonProperty("taxPayerPhoneNumber")
+        private String taxPayerPhoneNumber;
+        @JsonProperty("totalTonCount")
+        private Object totalTonCount;
+        @JsonProperty("tractionTonCount")
+        private Object tractionTonCount;
+        @JsonProperty("newLicenseFlag")
+        private String newLicenseFlag;
+        @JsonProperty("newLicenseCheckMon")
+        private Object newLicenseCheckMon;
+        @JsonProperty("fine")
+        private Object fine;
+        @JsonProperty("offerFlag")
+        private String offerFlag;
+        @JsonProperty("paidFeeCertiRefNo")
+        private Object paidFeeCertiRefNo;
+        @JsonProperty("billType")
+        private Object billType;
+        @JsonProperty("regionCode")
+        private Object regionCode;
+        @JsonProperty("taxBusinessNo")
+        private Object taxBusinessNo;
+        @JsonProperty("sourceTaxBusinessNo")
+        private Object sourceTaxBusinessNo;
+        @JsonProperty("billNo")
+        private Object billNo;
+        @JsonProperty("responseMessageNo")
+        private Object responseMessageNo;
+        @JsonProperty("responseCode")
+        private Object responseCode;
+        @JsonProperty("subProposalNo")
+        private String subProposalNo;
+        @JsonProperty("taxTermTypeCode")
+        private String taxTermTypeCode;
+        @JsonProperty("taxRegistryNumber")
+        private String taxRegistryNumber;
+        @JsonProperty("taxDescription")
+        private Object taxDescription;
+        @JsonProperty("payTaxChange")
+        private Object payTaxChange;
+        @JsonProperty("deductionDueType")
+        private String deductionDueType;
+        @JsonProperty("taxStartDate")
+        private String taxStartDate;
+        @JsonProperty("taxEndDate")
+        private String taxEndDate;
+        @JsonProperty("offerSerialNo")
+        private Object offerSerialNo;
+        @JsonProperty("microcomputerCode")
+        private Object microcomputerCode;
+        @JsonProperty("fuelType")
+        private String fuelType;
+        @JsonProperty("carFindDate")
+        private Object carFindDate;
+        @JsonProperty("fuelTypeCST")
+        private String fuelTypeCST;
+        @JsonProperty("useNatureCode")
+        private String useNatureCode;
+        @JsonProperty("provinceCode")
+        private String provinceCode;
+        @JsonProperty("provinceName")
+        private String provinceName;
+        @JsonProperty("cityCode")
+        private String cityCode;
+        @JsonProperty("cityName")
+        private String cityName;
+        @JsonProperty("countyCode")
+        private String countyCode;
+        @JsonProperty("countyName")
+        private String countyName;
+        @JsonProperty("detailedAddress")
+        private String detailedAddress;
+        @JsonProperty("sumRefundTax")
+        private Object sumRefundTax;
+        @JsonProperty("reMoreFillMsg")
+        private Object reMoreFillMsg;
+        @JsonProperty("refundTaxDue")
+        private Object refundTaxDue;
+        @JsonProperty("calcTaxFlag")
+        private String calcTaxFlag;
+        @JsonProperty("taxPaymentMark")
+        private String taxPaymentMark;
+        @JsonProperty("taxStandardType")
+        private Object taxStandardType;
+        @JsonProperty("taxPaidAreaName")
+        private Object taxPaidAreaName;
+        @JsonProperty("previousPayYears")
+        private Object previousPayYears;
+    }
+
+    @NoArgsConstructor
+    @Data
+    public static class BzInformationDetailDtoDTO {
+        @JsonProperty("rateFloatFlag")
+        private String rateFloatFlag;
+        @JsonProperty("claimAdjustReason")
+        private String claimAdjustReason;
+        @JsonProperty("damagedTimes")
+        private String damagedTimes;
+        @JsonProperty("trafficCode")
+        private String trafficCode;
+        @JsonProperty("floatRation")
+        private String floatRation;
+        @JsonProperty("transGressTimeM11")
+        private String transGressTimeM11;
+        @JsonProperty("transGressTimeM12")
+        private String transGressTimeM12;
+        @JsonProperty("drunkenFloatRation")
+        private String drunkenFloatRation;
+    }
+
+    @NoArgsConstructor
+    @Data
+    public static class SalesDtoDTO {
+        @JsonProperty("isBzBs")
+        private Object isBzBs;
+    }
+
+    @NoArgsConstructor
+    @Data
+    public static class ItemMotorDtoDTO {
+        @JsonProperty("isBzBs")
+        private Object isBzBs;
+        @JsonProperty("classificationOfCDW")
+        private String classificationOfCDW;
+    }
+
+    @NoArgsConstructor
+    @Data
+    public static class VehicleOwnerDtoDTO {
+        @JsonProperty("lifeInd")
+        private String lifeInd;
+    }
+
+    @NoArgsConstructor
+    @Data
+    public static class PolicyHolderDtoDTO {
+        @JsonProperty("isBzBs")
+        private Object isBzBs;
+    }
+
+    @NoArgsConstructor
+    @Data
+    public static class InsuredDtoDTO {
+        @JsonProperty("isBzBs")
+        private Object isBzBs;
+    }
+
+    @NoArgsConstructor
+    @Data
+    public static class ItemKindBzDtoDTO {
+        @JsonProperty("isBzBs")
+        private Object isBzBs;
+    }
+
+    @NoArgsConstructor
+    @Data
+    public static class CarshipTaxDtoDTO {
+        @JsonProperty("isBzBs")
+        private Object isBzBs;
+    }
+
+    @NoArgsConstructor
+    @Data
+    public static class ItemKindBsDTODTO {
+        @JsonProperty("isBzBs")
+        private Object isBzBs;
+    }
+
+    @NoArgsConstructor
+    @Data
+    public static class PassengersDriversAcciDtoDTO {
+        @JsonProperty("isBzBs")
+        private Object isBzBs;
+    }
+
+    @NoArgsConstructor
+    @Data
+    public static class AcciInfoDtoDTO {
+        @JsonProperty("isBzBs")
+        private Object isBzBs;
+    }
+
+    @NoArgsConstructor
+    @Data
+    public static class PfPolicyInfoDtoDTO {
+        @JsonProperty("isBzBs")
+        private Object isBzBs;
+        @JsonProperty("operateDate")
+        private String operateDate;
+        @JsonProperty("argueSolution")
+        private String argueSolution;
+        @JsonProperty("arbitoryName")
+        private Object arbitoryName;
+        @JsonProperty("proposalNo0801")
+        private String proposalNo0801;
+        @JsonProperty("proposalNo0802")
+        private String proposalNo0802;
+        @JsonProperty("startDate0801")
+        private String startDate0801;
+        @JsonProperty("endDate0801")
+        private String endDate0801;
+        @JsonProperty("startDate0802")
+        private String startDate0802;
+        @JsonProperty("endDate0802")
+        private String endDate0802;
+        @JsonProperty("effectFlag0801")
+        private Boolean effectFlag0801;
+        @JsonProperty("effectFlag0802")
+        private Boolean effectFlag0802;
+        @JsonProperty("immEffectType0801")
+        private Object immEffectType0801;
+        @JsonProperty("immEffectType0802")
+        private Object immEffectType0802;
+        @JsonProperty("immEffectStartDate0801")
+        private Object immEffectStartDate0801;
+        @JsonProperty("immEffectStartDate0802")
+        private String immEffectStartDate0802;
+        @JsonProperty("startTime0801")
+        private String startTime0801;
+        @JsonProperty("endTime0801")
+        private String endTime0801;
+        @JsonProperty("endTime0802")
+        private String endTime0802;
+        @JsonProperty("showStartDate0802")
+        private String showStartDate0802;
+        @JsonProperty("showEndDate0802")
+        private String showEndDate0802;
+        @JsonProperty("transferDate")
+        private String transferDate;
+        @JsonProperty("tradingRelevanceNo")
+        private String tradingRelevanceNo;
+        @JsonProperty("specialCarFlag")
+        private String specialCarFlag;
+        @JsonProperty("chgOwnerFlag")
+        private String chgOwnerFlag;
+        @JsonProperty("loanVehicleFlag")
+        private String loanVehicleFlag;
+        @JsonProperty("noDamageYears")
+        private String noDamageYears;
+        @JsonProperty("remark")
+        private Object remark;
+        @JsonProperty("outerRemark")
+        private Object outerRemark;
+        @JsonProperty("innerRemark")
+        private Object innerRemark;
+        @JsonProperty("uwYearDays")
+        private Integer uwYearDays;
+        @JsonProperty("isElectronicProposalBZ")
+        private String isElectronicProposalBZ;
+        @JsonProperty("isElectronicProposalBS")
+        private String isElectronicProposalBS;
+        @JsonProperty("isElectronicPolicyBZ")
+        private String isElectronicPolicyBZ;
+        @JsonProperty("isElectronicPolicyBS")
+        private String isElectronicPolicyBS;
+        @JsonProperty("effectFlag_Off0801")
+        private Object effectflagOff0801;
+        @JsonProperty("effectFlag_Off0802")
+        private Object effectflagOff0802;
+        @JsonProperty("riskCodeBS")
+        private Object riskCodeBS;
+        @JsonProperty("hkStartTime")
+        private Object hkStartTime;
+        @JsonProperty("hkEndTime")
+        private Object hkEndTime;
+        @JsonProperty("policyNoBZ")
+        private String policyNoBZ;
+        @JsonProperty("policyNoBS2")
+        private String policyNoBS2;
+        @JsonProperty("policyNoBS")
+        private String policyNoBS;
+        @JsonProperty("policyNoBZ2")
+        private String policyNoBZ2;
+        @JsonProperty("geographicalArea")
+        private Object geographicalArea;
+        @JsonProperty("geographicalAreaDesc")
+        private Object geographicalAreaDesc;
+        @JsonProperty("judicalCode")
+        private Object judicalCode;
+        @JsonProperty("riskApplyType")
+        private Object riskApplyType;
+        @JsonProperty("startTime0802")
+        private String startTime0802;
+        @JsonProperty("bjflag")
+        private Object bjflag;
+    }
+
+    @NoArgsConstructor
+    @Data
+    public static class InsurancePremiumDtoDTO {
+        @JsonProperty("isBzBs")
+        private Object isBzBs;
+        @JsonProperty("quoteName")
+        private String quoteName;
+    }
+
+    @NoArgsConstructor
+    @Data
+    public static class PfRiskDtoListDTO {
+        @JsonProperty("demandNo")
+        private Object demandNo;
+        @JsonProperty("policyNo")
+        private Object policyNo;
+        @JsonProperty("outPolicyNo")
+        private Object outPolicyNo;
+        @JsonProperty("relateInd")
+        private Object relateInd;
+        @JsonProperty("showStartDate")
+        private Object showStartDate;
+        @JsonProperty("showEndDate")
+        private Object showEndDate;
+        @JsonProperty("damageTimesBz")
+        private Integer damageTimesBz;
+        @JsonProperty("proposalNo")
+        private String proposalNo;
+        @JsonProperty("riskCode")
+        private String riskCode;
+        @JsonProperty("startDate")
+        private String startDate;
+        @JsonProperty("immEffectStartDate")
+        private Object immEffectStartDate;
+        @JsonProperty("immEffectType")
+        private Object immEffectType;
+        @JsonProperty("endDate")
+        private String endDate;
+        @JsonProperty("startTimeZone")
+        private Object startTimeZone;
+        @JsonProperty("endTimeZone")
+        private Object endTimeZone;
+        @JsonProperty("commenceDate")
+        private Object commenceDate;
+        @JsonProperty("retroactiveStartDate")
+        private Object retroactiveStartDate;
+        @JsonProperty("retroactiveEndDate")
+        private Object retroactiveEndDate;
+        @JsonProperty("currency")
+        private String currency;
+        @JsonProperty("sumValue")
+        private Object sumValue;
+        @JsonProperty("sumInsured")
+        private Double sumInsured;
+        @JsonProperty("sumGrossPremium")
+        private Double sumGrossPremium;
+        @JsonProperty("commission")
+        private Double commission;
+        @JsonProperty("discount")
+        private Double discount;
+        @JsonProperty("sumNetPremium")
+        private Object sumNetPremium;
+        @JsonProperty("loading")
+        private Object loading;
+        @JsonProperty("judicalCode")
+        private String judicalCode;
+        @JsonProperty("judicalScope")
+        private String judicalScope;
+        @JsonProperty("uwYear")
+        private String uwYear;
+        @JsonProperty("geographicalArea")
+        private String geographicalArea;
+        @JsonProperty("declarationInd")
+        private String declarationInd;
+        @JsonProperty("declarationInterval")
+        private String declarationInterval;
+        @JsonProperty("lowestPremiumInd")
+        private String lowestPremiumInd;
+        @JsonProperty("lowestPremCurrency")
+        private Object lowestPremCurrency;
+        @JsonProperty("lowestPremium")
+        private Object lowestPremium;
+        @JsonProperty("commissionRateInd")
+        private Object commissionRateInd;
+        @JsonProperty("outerRemark")
+        private Object outerRemark;
+        @JsonProperty("remark")
+        private Object remark;
+        @JsonProperty("validInd")
+        private String validInd;
+        @JsonProperty("flag")
+        private Object flag;
+        @JsonProperty("adjustmentInd")
+        private String adjustmentInd;
+        @JsonProperty("sumUWPremium")
+        private Object sumUWPremium;
+        @JsonProperty("geographicalAreaDesc")
+        private String geographicalAreaDesc;
+        @JsonProperty("discoverStartDate")
+        private Object discoverStartDate;
+        @JsonProperty("discoverEndDate")
+        private Object discoverEndDate;
+        @JsonProperty("compensationType")
+        private Object compensationType;
+        @JsonProperty("subProposalNo")
+        private String subProposalNo;
+        @JsonProperty("uwYearDays")
+        private Object uwYearDays;
+        @JsonProperty("combineInd")
+        private Object combineInd;
+        @JsonProperty("backDays")
+        private Object backDays;
+        @JsonProperty("delayFinalEndDate")
+        private Object delayFinalEndDate;
+        @JsonProperty("delayEndDate")
+        private Object delayEndDate;
+        @JsonProperty("bonusRate")
+        private Object bonusRate;
+        @JsonProperty("referBonusRate")
+        private Object referBonusRate;
+        @JsonProperty("geographicalAreaDetail")
+        private Object geographicalAreaDetail;
+        @JsonProperty("delayStartDate")
+        private Object delayStartDate;
+        @JsonProperty("delayTime")
+        private Object delayTime;
+        @JsonProperty("businessClass")
+        private Object businessClass;
+        @JsonProperty("coinsInd")
+        private String coinsInd;
+        @JsonProperty("specialReinsInd")
+        private String specialReinsInd;
+        @JsonProperty("updateCommissionInd")
+        private Object updateCommissionInd;
+        @JsonProperty("surrenderInd")
+        private Object surrenderInd;
+        @JsonProperty("declarationExplain")
+        private Object declarationExplain;
+        @JsonProperty("riskApplyType")
+        private String riskApplyType;
+        @JsonProperty("productEdition")
+        private String productEdition;
+        @JsonProperty("endorCalculateMode")
+        private Object endorCalculateMode;
+        @JsonProperty("effectFlag")
+        private String effectFlag;
+        @JsonProperty("subPolicyNo")
+        private Object subPolicyNo;
+        @JsonProperty("agricultureFlag")
+        private String agricultureFlag;
+        @JsonProperty("calculateInfoCode")
+        private String calculateInfoCode;
+        @JsonProperty("clauseSysType")
+        private Object clauseSysType;
+        @JsonProperty("productSysType")
+        private Object productSysType;
+        @JsonProperty("isElectronicPolicy")
+        private String isElectronicPolicy;
+        @JsonProperty("isElectronicProposal")
+        private String isElectronicProposal;
+        @JsonProperty("sumAddTax")
+        private Double sumAddTax;
+        @JsonProperty("sumAddTaxRate")
+        private Double sumAddTaxRate;
+        @JsonProperty("sumUwPriceTaxTotal")
+        private Double sumUwPriceTaxTotal;
+        @JsonProperty("sumPriceTaxTotal")
+        private Double sumPriceTaxTotal;
+        @JsonProperty("packageOwner")
+        private Object packageOwner;
+        @JsonProperty("damageTimes")
+        private Object damageTimes;
+        @JsonProperty("claimAdjustReasonBz")
+        private String claimAdjustReasonBz;
+        @JsonProperty("nonClaimAdjustReasonBz")
+        private String nonClaimAdjustReasonBz;
+        @JsonProperty("kindCombinationFlag")
+        private String kindCombinationFlag;
+        @JsonProperty("itemCarSumInsured")
+        private Object itemCarSumInsured;
+        @JsonProperty("thirdSumInsured")
+        private Object thirdSumInsured;
+        @JsonProperty("tqAcceptDayCount")
+        private Double tqAcceptDayCount;
+        @JsonProperty("claimMoney")
+        private Object claimMoney;
+        @JsonProperty("forceDiscount")
+        private Double forceDiscount;
+        @JsonProperty("scUpdateTime")
+        private String scUpdateTime;
+        @JsonProperty("quotationDate")
+        private String quotationDate;
+        @JsonProperty("lastInsurerCode")
+        private String lastInsurerCode;
+        @JsonProperty("relieveFund")
+        private Double relieveFund;
+        @JsonProperty("relieveFundRate")
+        private Double relieveFundRate;
+        @JsonProperty("planCode")
+        private String planCode;
+        @JsonProperty("startTime")
+        private String startTime;
+        @JsonProperty("endTime")
+        private String endTime;
+        @JsonProperty("deathTimes")
+        private Integer deathTimes;
+        @JsonProperty("hdt")
+        private Integer hdt;
+        @JsonProperty("policyNo1Suffix")
+        private Object policyNo1Suffix;
+        @JsonProperty("policyNo2Suffix")
+        private Object policyNo2Suffix;
+        @JsonProperty("insureYears")
+        private Object insureYears;
+        @JsonProperty("claimTimes")
+        private Object claimTimes;
+        @JsonProperty("bsdiscountQuoteSwitch")
+        private Object bsdiscountQuoteSwitch;
+        @JsonProperty("bsdiscountDeductibleSwitch")
+        private Object bsdiscountDeductibleSwitch;
+    }
+
+    @NoArgsConstructor
+    @Data
+    public static class PfItemKindDto0802ListDTO {
+        @JsonProperty("nodeBtGrossPremium")
+        private Object nodeBtGrossPremium;
+        @JsonProperty("proposalNo")
+        private String proposalNo;
+        @JsonProperty("riskCode")
+        private String riskCode;
+        @JsonProperty("itemKindNo")
+        private Integer itemKindNo;
+        @JsonProperty("itemCode")
+        private Object itemCode;
+        @JsonProperty("itemDetailCode")
+        private Object itemDetailCode;
+        @JsonProperty("itemDetailList")
+        private Object itemDetailList;
+        @JsonProperty("liabCode")
+        private String liabCode;
+        @JsonProperty("kindName")
+        private String kindName;
+        @JsonProperty("modeCode")
+        private Object modeCode;
+        @JsonProperty("modeName")
+        private Object modeName;
+        @JsonProperty("startDate")
+        private Object startDate;
+        @JsonProperty("endDate")
+        private Object endDate;
+        @JsonProperty("calculateInd")
+        private String calculateInd;
+        @JsonProperty("currency")
+        private String currency;
+        @JsonProperty("unitValue")
+        private Object unitValue;
+        @JsonProperty("unitInsured")
+        private Object unitInsured;
+        @JsonProperty("unitPremium")
+        private Object unitPremium;
+        @JsonProperty("quantity")
+        private Object quantity;
+        @JsonProperty("unit")
+        private Object unit;
+        @JsonProperty("sumValue")
+        private Object sumValue;
+        @JsonProperty("sumInsured")
+        private Double sumInsured;
+        @JsonProperty("ratePeriod")
+        private Object ratePeriod;
+        @JsonProperty("rate")
+        private Double rate;
+        @JsonProperty("shortRateFlag")
+        private String shortRateFlag;
+        @JsonProperty("shortRateNumerator")
+        private Double shortRateNumerator;
+        @JsonProperty("shortRateDenominator")
+        private Integer shortRateDenominator;
+        @JsonProperty("shortRate")
+        private Double shortRate;
+        @JsonProperty("basePremium")
+        private Double basePremium;
+        @JsonProperty("pureBenchPremium")
+        private Double pureBenchPremium;
+        @JsonProperty("basePureBenchPremium")
+        private Double basePureBenchPremium;
+        @JsonProperty("benchmarkPremium")
+        private Double benchmarkPremium;
+        @JsonProperty("noDebtPremium")
+        private Object noDebtPremium;
+        @JsonProperty("loading")
+        private Object loading;
+        @JsonProperty("grossPremium")
+        private Double grossPremium;
+        @JsonProperty("discount")
+        private Double discount;
+        @JsonProperty("adjustRate")
+        private Double adjustRate;
+        @JsonProperty("netPremium")
+        private Double netPremium;
+        @JsonProperty("deductibleRate")
+        private Double deductibleRate;
+        @JsonProperty("deductible")
+        private Double deductible;
+        @JsonProperty("premiumFormula")
+        private Object premiumFormula;
+        @JsonProperty("yearPremium")
+        private Object yearPremium;
+        @JsonProperty("surrenderInd")
+        private String surrenderInd;
+        @JsonProperty("firstLossRate")
+        private Object firstLossRate;
+        @JsonProperty("kindInd")
+        private String kindInd;
+        @JsonProperty("suitProduct")
+        private Object suitProduct;
+        @JsonProperty("assistKindFlag")
+        private Object assistKindFlag;
+        @JsonProperty("remark")
+        private Object remark;
+        @JsonProperty("flag")
+        private Object flag;
+        @JsonProperty("uwCount")
+        private Object uwCount;
+        @JsonProperty("uwPremium")
+        private Double uwPremium;
+        @JsonProperty("originUWPremium")
+        private Double originUWPremium;
+        @JsonProperty("originGrossPremium")
+        private Double originGrossPremium;
+        @JsonProperty("relatedInd")
+        private String relatedInd;
+        @JsonProperty("endorAdjustRate")
+        private Double endorAdjustRate;
+        @JsonProperty("pubInsuredInd")
+        private Object pubInsuredInd;
+        @JsonProperty("specialInd")
+        private Object specialInd;
+        @JsonProperty("subProposalNo")
+        private String subProposalNo;
+        @JsonProperty("projectCode")
+        private Object projectCode;
+        @JsonProperty("itemDetailNo")
+        private Integer itemDetailNo;
+        @JsonProperty("kindCode")
+        private String kindCode;
+        @JsonProperty("mustInsureInd")
+        private Object mustInsureInd;
+        @JsonProperty("premiumType")
+        private Object premiumType;
+        @JsonProperty("valueType")
+        private String valueType;
+        @JsonProperty("franchise")
+        private Double franchise;
+        @JsonProperty("reSpecialInd")
+        private String reSpecialInd;
+        @JsonProperty("additionalRate")
+        private Double additionalRate;
+        @JsonProperty("allBrokenRate")
+        private Double allBrokenRate;
+        @JsonProperty("addTax")
+        private Double addTax;
+        @JsonProperty("addTaxRate")
+        private Double addTaxRate;
+        @JsonProperty("priceTaxTotal")
+        private Double priceTaxTotal;
+        @JsonProperty("orgPriceTaxTotal")
+        private Double orgPriceTaxTotal;
+        @JsonProperty("serviceTimes")
+        private Object serviceTimes;
+        @JsonProperty("relatedFlagFG2020")
+        private String relatedFlagFG2020;
+        @JsonProperty("scUpdateTime")
+        private String scUpdateTime;
+        @JsonProperty("useFormula")
+        private Object useFormula;
+        @JsonProperty("easyKindName")
+        private Object easyKindName;
+        @JsonProperty("shareModel")
+        private String shareModel;
+        @JsonProperty("riskShareModelSwitch")
+        private Object riskShareModelSwitch;
+        @JsonProperty("deductibleList")
+        private Object deductibleList;
+    }
+
+    @NoArgsConstructor
+    @Data
+    public static class ClauseList0801DTO {
+        @JsonProperty("proposalNo")
+        private String proposalNo;
+        @JsonProperty("clauseCode")
+        private String clauseCode;
+        @JsonProperty("clauseCName")
+        private String clauseCName;
+        @JsonProperty("clauseTName")
+        private String clauseTName;
+        @JsonProperty("clauseEName")
+        private String clauseEName;
+        @JsonProperty("language")
+        private String language;
+        @JsonProperty("validDate")
+        private String validDate;
+        @JsonProperty("inValidDate")
+        private String inValidDate;
+        @JsonProperty("validInd")
+        private String validInd;
+        @JsonProperty("remark")
+        private String remark;
+        @JsonProperty("readOnlyInd")
+        private String readOnlyInd;
+        @JsonProperty("clauseContent")
+        private String clauseContent;
+        @JsonProperty("clauseCompanyCode")
+        private String clauseCompanyCode;
+        @JsonProperty("clauseType")
+        private String clauseType;
+        @JsonProperty("addedValueServiceType")
+        private String addedValueServiceType;
+        @JsonProperty("clauseUseType")
+        private String clauseUseType;
+        @JsonProperty("clausePrintType")
+        private String clausePrintType;
+        @JsonProperty("createTime")
+        private String createTime;
+        @JsonProperty("creatorCode")
+        private String creatorCode;
+        @JsonProperty("updaterCode")
+        private String updaterCode;
+        @JsonProperty("updateTime")
+        private String updateTime;
+        @JsonProperty("version")
+        private String version;
+        @JsonProperty("riskClass")
+        private String riskClass;
+        @JsonProperty("conflictRuleCodes")
+        private Object conflictRuleCodes;
+        @JsonProperty("relyRuleDto")
+        private Object relyRuleDto;
+        @JsonProperty("productType")
+        private String productType;
+        @JsonProperty("matchRuleId")
+        private String matchRuleId;
+        @JsonProperty("editFlag")
+        private String editFlag;
+        @JsonProperty("associateClauseCodes")
+        private Object associateClauseCodes;
+        @JsonProperty("isEndor")
+        private String isEndor;
+        @JsonProperty("ggClauseParameterVos")
+        private Object ggClauseParameterVos;
+        @JsonProperty("clauseVariableArr")
+        private Object clauseVariableArr;
+    }
+
+    @NoArgsConstructor
+    @Data
+    public static class ClauseList0802DTO {
+        @JsonProperty("proposalNo")
+        private String proposalNo;
+        @JsonProperty("clauseCode")
+        private String clauseCode;
+        @JsonProperty("clauseCName")
+        private String clauseCName;
+        @JsonProperty("clauseTName")
+        private String clauseTName;
+        @JsonProperty("clauseEName")
+        private String clauseEName;
+        @JsonProperty("language")
+        private String language;
+        @JsonProperty("validDate")
+        private String validDate;
+        @JsonProperty("inValidDate")
+        private String inValidDate;
+        @JsonProperty("validInd")
+        private String validInd;
+        @JsonProperty("remark")
+        private String remark;
+        @JsonProperty("readOnlyInd")
+        private String readOnlyInd;
+        @JsonProperty("clauseContent")
+        private String clauseContent;
+        @JsonProperty("clauseCompanyCode")
+        private String clauseCompanyCode;
+        @JsonProperty("clauseType")
+        private String clauseType;
+        @JsonProperty("addedValueServiceType")
+        private String addedValueServiceType;
+        @JsonProperty("clauseUseType")
+        private String clauseUseType;
+        @JsonProperty("clausePrintType")
+        private String clausePrintType;
+        @JsonProperty("createTime")
+        private String createTime;
+        @JsonProperty("creatorCode")
+        private String creatorCode;
+        @JsonProperty("updaterCode")
+        private String updaterCode;
+        @JsonProperty("updateTime")
+        private String updateTime;
+        @JsonProperty("version")
+        private String version;
+        @JsonProperty("riskClass")
+        private String riskClass;
+        @JsonProperty("conflictRuleCodes")
+        private List<String> conflictRuleCodes;
+        @JsonProperty("relyRuleDto")
+        private Object relyRuleDto;
+        @JsonProperty("productType")
+        private String productType;
+        @JsonProperty("matchRuleId")
+        private String matchRuleId;
+        @JsonProperty("editFlag")
+        private String editFlag;
+        @JsonProperty("associateClauseCodes")
+        private Object associateClauseCodes;
+        @JsonProperty("isEndor")
+        private String isEndor;
+        @JsonProperty("ggClauseParameterVos")
+        private List<String> ggClauseParameterVos;
+        @JsonProperty("clauseVariableArr")
+        private Object clauseVariableArr;
+    }
+
+    @NoArgsConstructor
+    @Data
+    public static class FlowUWDtoDTO {
+        @JsonProperty("resultType")
+        private Integer resultType;
+        @JsonProperty("ruleId")
+        private String ruleId;
+        @JsonProperty("description")
+        private String description;
+        @JsonProperty("argument")
+        private String argument;
+    }
+
+    @NoArgsConstructor
+    @Data
+    public static class FlowApproveDtoDTO {
+        @JsonProperty("resultType")
+        private Integer resultType;
+        @JsonProperty("ruleId")
+        private String ruleId;
+        @JsonProperty("description")
+        private String description;
+        @JsonProperty("argument")
+        private String argument;
+    }
+}

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

@@ -0,0 +1,144 @@
+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 TaiPingCrawlerQueryListData {
+
+    @JsonProperty("records")
+    private List<RecordsDTO> records;
+
+    @JsonProperty("total")
+    private Integer total;
+
+    @JsonProperty("size")
+    private Integer size;
+
+    @JsonProperty("current")
+    private Integer current;
+
+    @JsonProperty("orders")
+    private List<Object> orders;
+
+    @JsonProperty("searchCount")
+    private Boolean searchCount;
+
+    @JsonProperty("pages")
+    private Integer pages;
+
+    @NoArgsConstructor
+    @Data
+    public static class RecordsDTO {
+        @JsonProperty("orderNo")
+        private String orderNo;
+        @JsonProperty("isAddMaterial")
+        private String isAddMaterial;
+        @JsonProperty("startDate")
+        private String startDate;
+        @JsonProperty("endDate")
+        private String endDate;
+        @JsonProperty("productCode")
+        private String productCode;
+        @JsonProperty("proposalNo")
+        private String proposalNo;
+        @JsonProperty("appliName")
+        private String appliName;
+        @JsonProperty("insuredName")
+        private String insuredName;
+        @JsonProperty("underWriteInd")
+        private String underWriteInd;
+        @JsonProperty("handlestatus")
+        private String handlestatus;
+        @JsonProperty("dealerCode")
+        private String dealerCode;
+        @JsonProperty("dealerName")
+        private String dealerName;
+        @JsonProperty("confirmItemDescription")
+        private Object confirmItemDescription;
+        @JsonProperty("approveTime")
+        private Object approveTime;
+        @JsonProperty("vipInd")
+        private Object vipInd;
+        @JsonProperty("inputDate")
+        private String inputDate;
+        @JsonProperty("electronicInsureFlag")
+        private String electronicInsureFlag;
+        @JsonProperty("szDoubleRecordFlag")
+        private String szDoubleRecordFlag;
+        @JsonProperty("paymentInd")
+        private String paymentInd;
+        @JsonProperty("infoConfirmStatus")
+        private String infoConfirmStatus;
+        @JsonProperty("infoConfirm")
+        private Object infoConfirm;
+        @JsonProperty("isSubmitToAudit")
+        private String isSubmitToAudit;
+        @JsonProperty("companyCode")
+        private String companyCode;
+        @JsonProperty("protfolioFlag")
+        private String protfolioFlag;
+        @JsonProperty("tradeNo")
+        private Object tradeNo;
+        @JsonProperty("validatemsgFlag")
+        private String validatemsgFlag;
+        @JsonProperty("policyNo")
+        private Object policyNo;
+        @JsonProperty("poaSerialNo")
+        private Object poaSerialNo;
+        @JsonProperty("policySort")
+        private String policySort;
+        @JsonProperty("productType")
+        private String productType;
+        @JsonProperty("type")
+        private String type;
+        @JsonProperty("licenseNo")
+        private String licenseNo;
+        @JsonProperty("xzxid")
+        private Object xzxid;
+        @JsonProperty("carOwner")
+        private String carOwner;
+        @JsonProperty("acciFlag")
+        private String acciFlag;
+        @JsonProperty("paymentType")
+        private Object paymentType;
+        @JsonProperty("bjCollectFlag")
+        private Object bjCollectFlag;
+        @JsonProperty("clientNo")
+        private String clientNo;
+        @JsonProperty("xzxIdNew")
+        private String xzxIdNew;
+        @JsonProperty("approvUser")
+        private Object approvUser;
+        @JsonProperty("batchNo")
+        private Object batchNo;
+        @JsonProperty("status")
+        private Object status;
+        @JsonProperty("operatorCode")
+        private Object operatorCode;
+        @JsonProperty("materialFlag")
+        private Object materialFlag;
+        @JsonProperty("vcStatus")
+        private Object vcStatus;
+        @JsonProperty("batchSum")
+        private Object batchSum;
+        @JsonProperty("batchSuc")
+        private Object batchSuc;
+        @JsonProperty("saicMode")
+        private Object saicMode;
+        @JsonProperty("proposalMainClientNo")
+        private Object proposalMainClientNo;
+        @JsonProperty("isFeeDeductionValueAdded")
+        private String isFeeDeductionValueAdded;
+        @JsonProperty("isButtonUse")
+        private Object isButtonUse;
+        @JsonProperty("insuredType")
+        private Object insuredType;
+        @JsonProperty("acceptInsurance")
+        private String acceptInsurance;
+    }
+}

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

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

+ 22 - 0
tenant/insurance/quotation-taiping/src/main/java/com/jzg/quotation/taiping/crawler/properties/TaiPingCrawlerProperties.java

@@ -0,0 +1,22 @@
+package com.jzg.quotation.taiping.crawler.properties;
+
+
+import lombok.Data;
+import org.springframework.boot.context.properties.ConfigurationProperties;
+import org.springframework.stereotype.Component;
+
+@Data
+@Component
+@ConfigurationProperties(prefix = "taiping.crawler")
+public class TaiPingCrawlerProperties {
+
+    /**
+     * 系统域名
+     */
+    private String url;
+    /**
+     * 获取cookie的url
+     */
+    private String cookieUrl;
+
+}

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

@@ -0,0 +1,6 @@
+package com.jzg.quotation.taiping.crawler.service;
+
+import com.jzg.quotation.commons.service.QuotationCrawlerBaseService;
+
+public interface TaiPingApiOrderService extends QuotationCrawlerBaseService {
+}

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

@@ -0,0 +1,53 @@
+package com.jzg.quotation.taiping.crawler.service.impl;
+
+import com.jzg.quotation.commons.constant.InsuranceCode;
+import com.jzg.quotation.commons.entity.vo.aggregated.InsuranceUploadImageVo;
+import com.jzg.quotation.commons.entity.vo.aggregated.QuoteResultsVo;
+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.base.LoginBase;
+import com.jzg.quotation.commons.entity.vo.base.OrderBase;
+import com.jzg.quotation.taiping.crawler.service.TaiPingApiOrderService;
+import lombok.RequiredArgsConstructor;
+import org.springframework.stereotype.Service;
+
+@Service(value = InsuranceCode.INSURANCE_TPIC)
+@RequiredArgsConstructor
+public class TaiPingApiOrderServiceImpl implements TaiPingApiOrderService {
+
+    @Override
+    public void login(LoginBase loginBase) {
+
+    }
+
+    @Override
+    public QuoteResultsVo quote(QuoteVo quoteVo) {
+        return null;
+    }
+
+    @Override
+    public void underwriting(UnderwritingVo underwritingVo) {
+
+    }
+
+    @Override
+    public String getPaymentLink(OrderBase orderBase) {
+        return "";
+    }
+
+    @Override
+    public void uploadImage(InsuranceUploadImageVo insuranceUploadImageVo) {
+
+    }
+
+    @Override
+    public void downloadPolicy(OrderBase orderBase) {
+
+    }
+
+    @Override
+    public void queryOrderState(OrderBase orderBase) {
+
+    }
+
+}

+ 15 - 1
tenant/insurance/quotation-taiping/src/main/java/com/jzg/quotation/taiping/crawler/utils/AESEncryption.java

@@ -4,10 +4,11 @@ import cn.hutool.core.codec.Base64;
 import cn.hutool.crypto.SecureUtil;
 import cn.hutool.crypto.symmetric.AES;
 import com.alibaba.fastjson2.JSON;
+import com.alibaba.fastjson2.TypeReference;
 
 public final class AESEncryption {
 
-    private AESEncryption()  {
+    private AESEncryption() {
         throw new IllegalStateException("Utility class");
     }
 
@@ -54,4 +55,17 @@ public final class AESEncryption {
         return JSON.parseObject(decrypt, tClass);
     }
 
+    /**
+     * 解密并且转码
+     *
+     * @param data           加密参数
+     * @param tTypeReference json转换后的类型
+     * @param <T>            json转换后的泛型
+     * @return 解密后的类
+     */
+    public static <T> T decrypt(String data, TypeReference<T> tTypeReference) {
+        String decrypt = decrypt(data);
+        return JSON.parseObject(decrypt, tTypeReference);
+    }
+
 }

+ 32 - 0
tenant/insurance/quotation-taiping/src/main/java/com/jzg/quotation/taiping/crawler/utils/VerifyCodeCreate.java

@@ -0,0 +1,32 @@
+package com.jzg.quotation.taiping.crawler.utils;
+
+import java.util.concurrent.ThreadLocalRandom;
+
+public final class VerifyCodeCreate {
+
+    private VerifyCodeCreate() {
+        throw new IllegalStateException("Utility class");
+    }
+
+    private final static String STRING = "xxxxxx_xxxx_3xxx_yxxx_xxxxxxxx";
+
+    private final static char X = 'x';
+
+    private final static char Y = 'y';
+
+    public static String getVerifyCode() {
+        StringBuilder sb = new StringBuilder(STRING);
+        for (int i = 0; i < sb.length(); i++) {
+            char c = sb.charAt(i);
+            if (c == X || c == Y) {
+                int randomValue = ThreadLocalRandom.current().nextInt(16);
+                if (c == Y) {
+                    randomValue = (randomValue & 3) | 8;
+                }
+                sb.setCharAt(i, Integer.toHexString(randomValue).charAt(0));
+            }
+        }
+        return sb.toString();
+    }
+
+}

+ 2 - 1
tenant/insurance/quotation-zijin/src/main/java/com/jzg/quotation/zijin/api/service/Impl/ZiJinApiRequestImpl.java

@@ -1,5 +1,6 @@
 package com.jzg.quotation.zijin.api.service.Impl;
 
+import com.jzg.quotation.commons.constant.InsuranceCode;
 import com.jzg.quotation.commons.entity.vo.aggregated.InsuranceUploadImageVo;
 import com.jzg.quotation.commons.entity.vo.aggregated.QuoteResultsVo;
 import com.jzg.quotation.commons.entity.vo.aggregated.QuoteVo;
@@ -32,7 +33,7 @@ import java.util.List;
  * @author: wenks
  * @date: 2025/2/21 17:19
  **/
-@Service
+@Service(value = InsuranceCode.INSURANCE_ZKIC)
 @RequiredArgsConstructor
 public class ZiJinApiRequestImpl implements ZiJinApiRequest {