Sfoglia il codice sorgente

save: 安盛天平 报价 相关

wks 1 anno fa
parent
commit
64b54c9b04
29 ha cambiato i file con 5468 aggiunte e 22 eliminazioni
  1. 2 0
      tenant/insurance/pom.xml
  2. 34 0
      tenant/insurance/quotation-ansheng/pom.xml
  3. 10 0
      tenant/insurance/quotation-ansheng/src/main/java/com/jzg/ansheng/crawler/component/AnShengCrawlerCacheComponent.java
  4. 152 0
      tenant/insurance/quotation-ansheng/src/main/java/com/jzg/ansheng/crawler/component/AnShengCrawlerRequestComponent.java
  5. 53 0
      tenant/insurance/quotation-ansheng/src/main/java/com/jzg/ansheng/crawler/constant/enums/RequestUrl.java
  6. 22 0
      tenant/insurance/quotation-ansheng/src/main/java/com/jzg/ansheng/crawler/entity/po/AnShengCrawlerOrder.java
  7. 894 0
      tenant/insurance/quotation-ansheng/src/main/java/com/jzg/ansheng/crawler/entity/request/AnShengCrawlerAutoSpecialPromiseRequest.java
  8. 1135 0
      tenant/insurance/quotation-ansheng/src/main/java/com/jzg/ansheng/crawler/entity/request/AnShengCrawlerCalculatePremiumApplyMessage.java
  9. 26 0
      tenant/insurance/quotation-ansheng/src/main/java/com/jzg/ansheng/crawler/entity/request/AnShengCrawlerCheckLoginRequest.java
  10. 36 0
      tenant/insurance/quotation-ansheng/src/main/java/com/jzg/ansheng/crawler/entity/request/AnShengCrawlerCheckVerificationRequest.java
  11. 19 0
      tenant/insurance/quotation-ansheng/src/main/java/com/jzg/ansheng/crawler/entity/request/AnShengCrawlerFileUploadRequest.java
  12. 85 0
      tenant/insurance/quotation-ansheng/src/main/java/com/jzg/ansheng/crawler/entity/request/AnShengCrawlerQueryDocumentsInformationRequest.java
  13. 44 0
      tenant/insurance/quotation-ansheng/src/main/java/com/jzg/ansheng/crawler/entity/request/AnShengCrawlerSearchVehicleByVinRequest.java
  14. 29 0
      tenant/insurance/quotation-ansheng/src/main/java/com/jzg/ansheng/crawler/entity/request/AnShengCrawlerVerifyRequest.java
  15. 84 0
      tenant/insurance/quotation-ansheng/src/main/java/com/jzg/ansheng/crawler/entity/response/AnShengCrawlerAutoSpecialPromiseResponse.java
  16. 1490 0
      tenant/insurance/quotation-ansheng/src/main/java/com/jzg/ansheng/crawler/entity/response/AnShengCrawlerCalculatePremiumApplyResponse.java
  17. 66 0
      tenant/insurance/quotation-ansheng/src/main/java/com/jzg/ansheng/crawler/entity/response/AnShengCrawlerFileUploadResponse.java
  18. 608 0
      tenant/insurance/quotation-ansheng/src/main/java/com/jzg/ansheng/crawler/entity/response/AnShengCrawlerGetUserDetailResponse.java
  19. 137 0
      tenant/insurance/quotation-ansheng/src/main/java/com/jzg/ansheng/crawler/entity/response/AnShengCrawlerQueryDocumentsInformationResponse.java
  20. 235 0
      tenant/insurance/quotation-ansheng/src/main/java/com/jzg/ansheng/crawler/entity/response/AnShengCrawlerSearchVehicleByVinResponse.java
  21. 85 0
      tenant/insurance/quotation-ansheng/src/main/java/com/jzg/ansheng/crawler/entity/response/AnShengCrawlerVerifyResponse.java
  22. 23 0
      tenant/insurance/quotation-ansheng/src/main/java/com/jzg/ansheng/crawler/properties/AnShengCrawlerProperties.java
  23. 6 0
      tenant/insurance/quotation-ansheng/src/main/java/com/jzg/ansheng/crawler/service/AnShengCrawlerRequest.java
  24. 67 0
      tenant/insurance/quotation-ansheng/src/main/java/com/jzg/ansheng/crawler/service/impl/AnShengCrawlerRequestImpl.java
  25. 35 18
      tenant/insurance/quotation-commons/src/main/java/com/jzg/quotation/commons/component/RequestComponent.java
  26. 46 0
      tenant/insurance/quotation-commons/src/main/java/com/jzg/quotation/commons/utils/RequestObjectConversion.java
  27. 38 0
      tenant/insurance/quotation-commons/src/main/java/com/jzg/quotation/commons/utils/TimeProcessing.java
  28. 4 1
      tenant/insurance/quotation-huanong/src/main/java/com/jzg/quote/huanong/crawler/entity/request/HuaNongCrawlerQuotedPriceRequest.java
  29. 3 3
      tenant/insurance/quotation-huanong/src/main/java/com/jzg/quote/huanong/crawler/service/impl/HuaNongCrawlerRequestImpl.java

+ 2 - 0
tenant/insurance/pom.xml

@@ -1,3 +1,4 @@
+
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
     <modelVersion>4.0.0</modelVersion>
@@ -26,6 +27,7 @@
         <module>quotation-guoren</module>
         <module>quotation-huanong</module>
         <module>quotation-taikang</module>
+        <module>quotation-ansheng</module>
     </modules>
 
     <dependencies>

+ 34 - 0
tenant/insurance/quotation-ansheng/pom.xml

@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+    <parent>
+        <groupId>com.jzg</groupId>
+        <artifactId>insurance</artifactId>
+        <version>1.0-SNAPSHOT</version>
+    </parent>
+
+    <artifactId>quotation-ansheng</artifactId>
+
+    <properties>
+        <maven.compiler.source>17</maven.compiler.source>
+        <maven.compiler.target>17</maven.compiler.target>
+        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+    </properties>
+
+    <dependencies>
+        <dependency>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-starter-web</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>com.jzg</groupId>
+            <artifactId>quotation-commons</artifactId>
+            <version>1.0-SNAPSHOT</version>
+        </dependency>
+
+    </dependencies>
+
+</project>

+ 10 - 0
tenant/insurance/quotation-ansheng/src/main/java/com/jzg/ansheng/crawler/component/AnShengCrawlerCacheComponent.java

@@ -0,0 +1,10 @@
+package com.jzg.ansheng.crawler.component;
+
+
+/**
+ * @description: 安盛天平 爬虫 缓存配置
+ * @author: wenks
+ * @date: 2025/3/31 15:15
+ **/
+public class AnShengCrawlerCacheComponent {
+}

+ 152 - 0
tenant/insurance/quotation-ansheng/src/main/java/com/jzg/ansheng/crawler/component/AnShengCrawlerRequestComponent.java

@@ -0,0 +1,152 @@
+package com.jzg.ansheng.crawler.component;
+
+
+import com.alibaba.fastjson.JSON;
+import com.jzg.ansheng.crawler.constant.enums.RequestUrl;
+import com.jzg.ansheng.crawler.entity.request.*;
+import com.jzg.ansheng.crawler.entity.response.*;
+import com.jzg.ansheng.crawler.properties.AnShengCrawlerProperties;
+import com.jzg.commons.exception.SystemException;
+import com.jzg.quotation.commons.component.RequestComponent;
+import com.jzg.quotation.commons.utils.RequestObjectConversion;
+import lombok.RequiredArgsConstructor;
+import org.springframework.http.HttpHeaders;
+import org.springframework.http.ResponseEntity;
+import org.springframework.stereotype.Component;
+import org.springframework.util.MultiValueMap;
+import org.springframework.util.ObjectUtils;
+
+import java.util.Map;
+import java.util.Optional;
+
+/**
+ * @description: 安盛天平 爬虫 请求
+ * @author: wenks
+ * @date: 2025/3/31 15:15
+ **/
+@Component
+@RequiredArgsConstructor
+public class AnShengCrawlerRequestComponent {
+
+    private final RequestComponent requestComponent;
+
+    private final AnShengCrawlerProperties anShengCrawlerProperties;
+
+    public <Response> Response request(RequestUrl requestUrl, Object body, Class<Response> responseClass, HttpHeaders headers) {
+        if (ObjectUtils.isEmpty(headers)) {
+            headers = new HttpHeaders();
+        }
+        ResponseEntity<Response> responseResponseEntity = requestComponent.objectPost(requestUrl.getRequestUrl(anShengCrawlerProperties.getUrl()), body, responseClass, headers);
+        return responseResponseEntity.getBody();
+    }
+
+    public <Response> Response post(RequestUrl requestUrl, Object body, Class<Response> responseClass, HttpHeaders headers) {
+        Map<String, String> message = Map.of("message", JSON.toJSONString(body));
+        ResponseEntity<Response> responseResponseEntity = requestComponent.objectPost(requestUrl.getRequestUrl(anShengCrawlerProperties.getUrl()), message, responseClass, headers);
+        return null;
+    }
+
+    /**
+     * 获取验证码
+     *
+     * @param request 获取验证码参数
+     * @return 验证码参数
+     */
+    public AnShengCrawlerVerifyResponse.DataDTO crawlerVerify(AnShengCrawlerVerifyRequest request) {
+        AnShengCrawlerVerifyResponse response = request(RequestUrl.MFA_VERIFY, request, AnShengCrawlerVerifyResponse.class, null);
+        return response.getData();
+    }
+
+    /**
+     * 验证验证码
+     *
+     * @param request 验证验证码请求
+     * @param headers 请求头
+     * @return 是否成功
+     */
+    public boolean checkVerification(AnShengCrawlerCheckVerificationRequest request, HttpHeaders headers) {
+        Map<String, Object> map = RequestObjectConversion.convertToMap(request);
+        return requestComponent.get(RequestUrl.CHECK_VERIFICATION.getRequestUrl(anShengCrawlerProperties.getUrl()), map, "", Boolean.class, headers);
+    }
+
+    /**
+     * 登录
+     *
+     * @param request 登录请求
+     * @param headers 请求头
+     */
+    public HttpHeaders login(AnShengCrawlerCheckLoginRequest request, HttpHeaders headers) {
+        MultiValueMap<String, Object> multiValueMap = RequestObjectConversion.convertMultiValueMap(request);
+        ResponseEntity<String> response = requestComponent.formData(RequestUrl.LOGIN.getRequestUrl(anShengCrawlerProperties.getUrl()), multiValueMap, String.class, headers);
+        return response.getHeaders();
+    }
+
+    /**
+     * 验证信息
+     *
+     * @param headers 请求头
+     */
+    public void authorize(HttpHeaders headers) {
+        requestComponent.baseGet(RequestUrl.OAUTH_AUTHORIZE.getRequestUrl(anShengCrawlerProperties.getUrl()), Map.of(), String.class, headers);
+    }
+
+    /**
+     * 获取归属信息
+     *
+     * @param headers 请求头
+     * @return 归属信息
+     */
+    public AnShengCrawlerGetUserDetailResponse.DataDTO getUserDetailResponse(HttpHeaders headers) {
+        ResponseEntity<AnShengCrawlerGetUserDetailResponse> response = requestComponent.stringPost(RequestUrl.GET_USER_DETAIL.getRequestUrl(anShengCrawlerProperties.getUrl()), "", AnShengCrawlerGetUserDetailResponse.class, headers);
+        return Optional.ofNullable(response.getBody())
+                .map(AnShengCrawlerGetUserDetailResponse::getData)
+                .orElseThrow(() -> new SystemException("找不到归属信息"));
+    }
+
+    /**
+     * 保费计算
+     *
+     * @param message 报价参数
+     * @param headers 请求头
+     * @return 报价返回
+     */
+    public AnShengCrawlerCalculatePremiumApplyResponse calculatePremiumApply(AnShengCrawlerCalculatePremiumApplyMessage message, HttpHeaders headers) {
+        return post(RequestUrl.CALCULATE_PREMIUM_APPLY, message, AnShengCrawlerCalculatePremiumApplyResponse.class, headers);
+    }
+
+    /**
+     * 车架号查询车型
+     *
+     * @param request vin查询请求
+     * @param headers 请求头
+     * @return 车辆信息
+     */
+    public AnShengCrawlerSearchVehicleByVinResponse searchVehicleByVin(AnShengCrawlerSearchVehicleByVinRequest request, HttpHeaders headers) {
+        ResponseEntity<AnShengCrawlerSearchVehicleByVinResponse> responseEntity = requestComponent.formData(RequestUrl.SEARCH_VEHICLE_BY_VIN.getRequestUrl(anShengCrawlerProperties.getUrl()), request, AnShengCrawlerSearchVehicleByVinResponse.class, headers);
+        return responseEntity.getBody();
+    }
+
+    /**
+     * 特别约定获取
+     *
+     * @param request 报价参数
+     * @param headers 请求头
+     * @return 报价返回
+     */
+    public AnShengCrawlerAutoSpecialPromiseResponse calculatePremiumApply(AnShengCrawlerAutoSpecialPromiseRequest request, HttpHeaders headers) {
+        return post(RequestUrl.AUTO_SPECIAL_PROMISE, request, AnShengCrawlerAutoSpecialPromiseResponse.class, headers);
+    }
+
+    /**
+     * 订单查询
+     *
+     * @param request 订单查询请求
+     * @param headers 请求头
+     * @return 订单信息
+     */
+    public AnShengCrawlerQueryDocumentsInformationResponse queryDocumentsInformation(AnShengCrawlerQueryDocumentsInformationRequest request, HttpHeaders headers) {
+        ResponseEntity<AnShengCrawlerQueryDocumentsInformationResponse> responseEntity = requestComponent.formData(RequestUrl.QUERY_DOCUMENTS_INFORMATION.getRequestUrl(anShengCrawlerProperties.getUrl()), request, AnShengCrawlerQueryDocumentsInformationResponse.class, headers);
+        return responseEntity.getBody();
+    }
+
+}

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

@@ -0,0 +1,53 @@
+package com.jzg.ansheng.crawler.constant.enums;
+
+import com.jzg.quotation.commons.standard.CrawlerRequestUrlStandard;
+import lombok.AllArgsConstructor;
+
+/**
+ * @description: 安盛天平 财险 请求地址
+ * @author: wenks
+ * @date: 2025/3/31 11:43
+ **/
+@AllArgsConstructor
+public enum RequestUrl implements CrawlerRequestUrlStandard {
+
+    // 登录
+    MFA_VERIFY("/ssooauth2/mfa/verify", "获取验证码"),
+    CHECK_VERIFICATION("/ssooauth2/captcha/check/verification/result", "验证验证码"),
+    LOGIN("/ssooauth2/login", "登录"),
+    OAUTH_AUTHORIZE("/ssooauth2/oauth/authorize?client_id=ast-prod&response_type=code", "oauth验证"),
+
+    // 归属信息
+    GET_USER_DETAIL("/portalapi/getUserDetail", "获取归属"),
+    // 登录
+    SEARCH_VEHICLE_BY_VIN("/portalapi/searchVehicleByVIN", "车架号查询"),
+    // 保费计算
+    CALCULATE_PREMIUM_APPLY("/portalapi/calculatePremiumApply", "保费计算"),
+    // 上传影像
+    FILE_UPLOAD("/portalapi/fileUpload", "影像上传"),
+    // 核保
+    AUTO_SPECIAL_PROMISE("/portalapi/autoSpecialPromise", "获取特别约定"),
+    RULE_CHECK_FOR_SIMPLE("/portalapi/principiumRuleCheckForSimple", "规则校验"),
+    APPLY_APPLICATION("/portalapi/applyApplication", "提交核保"),
+
+    PAYMENT("/portalapi/payment", "支付"),
+    // 投保状态查询
+    QUERY_DOCUMENTS_INFORMATION("/portalapi/queryDocumentsInformation", "订单状态查询"),
+    ;
+
+
+    private final String uri;
+
+    private final String description;
+
+
+    @Override
+    public String getRequestDescription() {
+        return description;
+    }
+
+    @Override
+    public String uri() {
+        return uri;
+    }
+}

+ 22 - 0
tenant/insurance/quotation-ansheng/src/main/java/com/jzg/ansheng/crawler/entity/po/AnShengCrawlerOrder.java

@@ -0,0 +1,22 @@
+package com.jzg.ansheng.crawler.entity.po;
+
+import org.springframework.data.annotation.Id;
+
+/**
+ * @version
+ * @description: 安盛财险 订单信息
+ * @author: wenks
+ * @date: 2025/3/31 15:14
+ **/
+public class AnShengCrawlerOrder {
+
+    @Id
+    private String id;
+
+    /**
+     * 保险公司订单号
+     */
+    private String orderNo;
+
+
+}

+ 894 - 0
tenant/insurance/quotation-ansheng/src/main/java/com/jzg/ansheng/crawler/entity/request/AnShengCrawlerAutoSpecialPromiseRequest.java

@@ -0,0 +1,894 @@
+package com.jzg.ansheng.crawler.entity.request;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.util.List;
+
+@NoArgsConstructor
+@Data
+public class AnShengCrawlerAutoSpecialPromiseRequest {
+
+    @JsonProperty("flag")
+    private String flag;
+
+    @JsonProperty("isTryCal")
+    private String isTryCal;
+
+    @JsonProperty("contracts")
+    private List<ContractsDTO> contracts;
+
+    @NoArgsConstructor
+    @Data
+    public static class ContractsDTO {
+
+        @JsonProperty("agentDefine")
+        private AgentDefineDTO agentDefine;
+
+        @JsonProperty("policyBase")
+        private PolicyBaseDTO policyBase;
+
+        @JsonProperty("departmentDefine")
+        private DepartmentDefineDTO departmentDefine;
+
+        @JsonProperty("saleBusinessSource")
+        private SaleBusinessSourceDTO saleBusinessSource;
+
+        @JsonProperty("policyPersons")
+        private List<PolicyPersonsDTO> policyPersons;
+
+        @JsonProperty("policyRatios")
+        private List<PolicyRatiosDTO> policyRatios;
+
+        @JsonProperty("targetList")
+        private List<TargetListDTO> targetList;
+
+        @JsonProperty("policyCoverages")
+        private List<PolicyCoveragesDTO> policyCoverages;
+
+        @NoArgsConstructor
+        @Data
+        public static class AgentDefineDTO {
+
+            @JsonProperty("agentCode")
+            private String agentCode;
+
+        }
+
+        @NoArgsConstructor
+        @Data
+        public static class PolicyBaseDTO {
+
+            @JsonProperty("rescueCountRemark")
+            private String rescueCountRemark;
+
+            @JsonProperty("businessType")
+            private String businessType;
+
+            @JsonProperty("approveName")
+            private String approveName;
+
+            @JsonProperty("approveCode")
+            private String approveCode;
+
+            @JsonProperty("businessTypeDetail")
+            private String businessTypeDetail;
+
+            @JsonProperty("insuranceBeginTime")
+            private String insuranceBeginTime;
+
+            @JsonProperty("insuranceEndTime")
+            private String insuranceEndTime;
+
+            @JsonProperty("planCode")
+            private String planCode;
+
+            @JsonProperty("productCode")
+            private String productCode;
+
+            @JsonProperty("departmentCode")
+            private String departmentCode;
+
+            @JsonProperty("targetType")
+            private String targetType;
+
+            @JsonProperty("shortTimeCoefficient")
+            private String shortTimeCoefficient;
+
+            @JsonProperty("groupFlag")
+            private String groupFlag;
+
+            @JsonProperty("peccancyTypeTimeStr")
+            private String peccancyTypeTimeStr;
+
+            @JsonProperty("renewType")
+            private String renewType;
+
+            @JsonProperty("totalStandardPremium")
+            private Integer totalStandardPremium;
+
+            @JsonProperty("totalActualPremium")
+            private Integer totalActualPremium;
+
+            @JsonProperty("addedValueTax")
+            private Double addedValueTax;
+
+            @JsonProperty("totalNetPremium")
+            private Double totalNetPremium;
+
+            @JsonProperty("totalAgreePremium")
+            private Integer totalAgreePremium;
+
+            @JsonProperty("rateScale")
+            private Integer rateScale;
+
+        }
+
+        @NoArgsConstructor
+        @Data
+        public static class DepartmentDefineDTO {
+
+            @JsonProperty("departmentCode")
+            private String departmentCode;
+
+        }
+
+        @NoArgsConstructor
+        @Data
+        public static class SaleBusinessSourceDTO {
+
+            @JsonProperty("saleAgentCode")
+            private String saleAgentCode;
+
+            @JsonProperty("salesGroupCode")
+            private String salesGroupCode;
+
+        }
+
+        @NoArgsConstructor
+        @Data
+        public static class PolicyPersonsDTO {
+
+            @JsonProperty("personnelAttribute")
+            private String personnelAttribute;
+
+            @JsonProperty("appliWithInsRelaship")
+            private String appliWithInsRelaship;
+
+            @JsonProperty("relationshipWithInsured")
+            private String relationshipWithInsured;
+
+            @JsonProperty("personnelInfoBase")
+            private PersonnelInfoBaseDTO personnelInfoBase;
+
+            @NoArgsConstructor
+            @Data
+            public static class PersonnelInfoBaseDTO {
+
+                @JsonProperty("personTypeDetailCode")
+                private String personTypeDetailCode;
+
+                @JsonProperty("personTypeOverseas")
+                private String personTypeOverseas;
+
+                @JsonProperty("vipMark")
+                private String vipMark;
+
+                @JsonProperty("person")
+                private PersonDTO person;
+
+                @NoArgsConstructor
+                @Data
+                public static class PersonDTO {
+
+                    @JsonProperty("idCardMachineCode")
+                    private String idCardMachineCode;
+
+                    @JsonProperty("issuedAt")
+                    private String issuedAt;
+
+                    @JsonProperty("nation")
+                    private String nation;
+
+                    @JsonProperty("personnelName")
+                    private String personnelName;
+                    @JsonProperty("personnelCode")
+                    private Object personnelCode;
+                    @JsonProperty("baseId")
+                    private String baseId;
+                    @JsonProperty("certificateType")
+                    private String certificateType;
+                    @JsonProperty("certificateNo")
+                    private String certificateNo;
+                    @JsonProperty("sexCode")
+                    private String sexCode;
+                    @JsonProperty("birthday")
+                    private String birthday;
+                    @JsonProperty("personnelAge")
+                    private String personnelAge;
+                    @JsonProperty("address")
+                    private String address;
+                    @JsonProperty("positionn")
+                    private String positionn;
+                    @JsonProperty("mobileTelephone")
+                    private String mobileTelephone;
+                    @JsonProperty("email")
+                    private String email;
+                    @JsonProperty("postcode")
+                    private String postcode;
+                    @JsonProperty("vipMark")
+                    private String vipMark;
+                    @JsonProperty("effectedDate")
+                    private String effectedDate;
+                    @JsonProperty("certType")
+                    private String certType;
+                    @JsonProperty("expiredDate")
+                    private String expiredDate;
+                    @JsonProperty("isRuralOrUrban")
+                    private String isRuralOrUrban;
+                    @JsonProperty("idCardAddress")
+                    private String idCardAddress;
+                    @JsonProperty("nationalityType")
+                    private String nationalityType;
+                    @JsonProperty("workUnit")
+                    private String workUnit;
+                    @JsonProperty("homeAddressAfter")
+                    private String homeAddressAfter;
+                    @JsonProperty("annualIncome")
+                    private String annualIncome;
+                    @JsonProperty("other1Address")
+                    private String other1Address;
+                    @JsonProperty("other1ProvinceCode")
+                    private String other1ProvinceCode;
+                    @JsonProperty("other1CityCode")
+                    private String other1CityCode;
+                    @JsonProperty("other1AreaCountyCode")
+                    private String other1AreaCountyCode;
+                    @JsonProperty("other2Address")
+                    private String other2Address;
+                    @JsonProperty("other2ProvinceCode")
+                    private String other2ProvinceCode;
+                    @JsonProperty("other2CityCode")
+                    private String other2CityCode;
+                    @JsonProperty("other2AreaCountyCode")
+                    private String other2AreaCountyCode;
+                    @JsonProperty("certificateaddress")
+                    private String certificateaddress;
+                    @JsonProperty("certiProvinceCode")
+                    private String certiProvinceCode;
+                    @JsonProperty("certiCityCode")
+                    private String certiCityCode;
+                    @JsonProperty("certiAreaCode")
+                    private String certiAreaCode;
+                    @JsonProperty("homeAddress")
+                    private String homeAddress;
+                    @JsonProperty("homeProvinceCode")
+                    private String homeProvinceCode;
+                    @JsonProperty("homeCityCode")
+                    private String homeCityCode;
+                    @JsonProperty("homeAreaCountyCode")
+                    private String homeAreaCountyCode;
+                    @JsonProperty("homeAreaCode")
+                    private String homeAreaCode;
+                    @JsonProperty("homeTelephone")
+                    private String homeTelephone;
+                    @JsonProperty("driverLicenseExpirationDate")
+                    private String driverLicenseExpirationDate;
+                    @JsonProperty("drivingExpirationDate")
+                    private String drivingExpirationDate;
+                    @JsonProperty("certificateAddressId")
+                    private String certificateAddressId;
+                    @JsonProperty("homeAddressId")
+                    private String homeAddressId;
+                    @JsonProperty("idCardAddressId")
+                    private String idCardAddressId;
+                    @JsonProperty("other1AddressId")
+                    private String other1AddressId;
+                    @JsonProperty("other2AddressId")
+                    private String other2AddressId;
+                    @JsonProperty("emailId")
+                    private String emailId;
+                    @JsonProperty("mobileTelephoneId")
+                    private String mobileTelephoneId;
+                    @JsonProperty("homeTelephoneId")
+                    private String homeTelephoneId;
+                    @JsonProperty("officeTelephoneId")
+                    private String officeTelephoneId;
+                    @JsonProperty("amlId")
+                    private String amlId;
+                    @JsonProperty("teleNoOwnerIsSelfFlag")
+                    private String teleNoOwnerIsSelfFlag;
+                    @JsonProperty("phoneOwnerCertiType")
+                    private String phoneOwnerCertiType;
+                    @JsonProperty("phoneOwnerCertiNo")
+                    private String phoneOwnerCertiNo;
+                    @JsonProperty("phoneOwnerName")
+                    private String phoneOwnerName;
+                    @JsonProperty("idCardAccess")
+                    private String idCardAccess;
+                    @JsonProperty("longExpiredDate")
+                    private String longExpiredDate;
+                    @JsonProperty("bankCode")
+                    private String bankCode;
+                    @JsonProperty("bankAccount")
+                    private String bankAccount;
+                    @JsonProperty("department")
+                    private String department;
+                    @JsonProperty("marriedStatu")
+                    private String marriedStatu;
+                    @JsonProperty("applyYears")
+                    private String applyYears;
+                    @JsonProperty("mobileTelephoneMarkBecause")
+                    private String mobileTelephoneMarkBecause;
+                    @JsonProperty("invalidateFlag")
+                    private String invalidateFlag;
+                    @JsonProperty("fixedTelephoneMarkBecause")
+                    private String fixedTelephoneMarkBecause;
+                    @JsonProperty("driveLicenseType1")
+                    private String driveLicenseType1;
+                    @JsonProperty("bankAccountId")
+                    private String bankAccountId;
+                }
+            }
+        }
+
+        @NoArgsConstructor
+        @Data
+        public static class PolicyRatiosDTO {
+            @JsonProperty("linkId")
+            private String linkId;
+            @JsonProperty("ratio")
+            private String ratio;
+            @JsonProperty("discountValue")
+            private String discountValue;
+            @JsonProperty("dutyCode")
+            private String dutyCode;
+            @JsonProperty("factorCode")
+            private String factorCode;
+            @JsonProperty("factorValue")
+            private String factorValue;
+            @JsonProperty("ratioOd")
+            private Integer ratioOd;
+            @JsonProperty("ratioTp")
+            private Integer ratioTp;
+            @JsonProperty("ratioTheft")
+            private Integer ratioTheft;
+            @JsonProperty("ratioOther")
+            private Integer ratioOther;
+            @JsonProperty("ratiototal")
+            private Integer ratiototal;
+        }
+
+        @NoArgsConstructor
+        @Data
+        public static class TargetListDTO {
+            @JsonProperty("linkId")
+            private String linkId;
+            @JsonProperty("targetId")
+            private String targetId;
+            @JsonProperty("ymElecBatteryType")
+            private String ymElecBatteryType;
+            @JsonProperty("vehicleCertificateNo")
+            private String vehicleCertificateNo;
+            @JsonProperty("vehicleCertificateType")
+            private String vehicleCertificateType;
+            @JsonProperty("vehiclePurchasePrice")
+            private String vehiclePurchasePrice;
+            @JsonProperty("modelsListedYear")
+            private String modelsListedYear;
+            @JsonProperty("platformId")
+            private String platformId;
+            @JsonProperty("vehicleColor")
+            private String vehicleColor;
+            @JsonProperty("theftproofEquipmentCode")
+            private String theftproofEquipmentCode;
+            @JsonProperty("isMortgage")
+            private String isMortgage;
+            @JsonProperty("isSpecialInsuranceVehicle")
+            private String isSpecialInsuranceVehicle;
+            @JsonProperty("vehicleVer")
+            private String vehicleVer;
+            @JsonProperty("groupCode")
+            private String groupCode;
+            @JsonProperty("standardName")
+            private String standardName;
+            @JsonProperty("tradeName")
+            private String tradeName;
+            @JsonProperty("tradeCode")
+            private String tradeCode;
+            @JsonProperty("totalVehicleWeight")
+            private String totalVehicleWeight;
+            @JsonProperty("seriesCode")
+            private String seriesCode;
+            @JsonProperty("modelIdCode")
+            private String modelIdCode;
+            @JsonProperty("seats")
+            private Integer seats;
+            @JsonProperty("rbCode")
+            private String rbCode;
+            @JsonProperty("otherEnergyTypeDesc")
+            private String otherEnergyTypeDesc;
+            @JsonProperty("madeDate")
+            private String madeDate;
+            @JsonProperty("exhaustCapability")
+            private Double exhaustCapability;
+            @JsonProperty("noDamageYears")
+            private String noDamageYears;
+            @JsonProperty("specialVehicleFlag")
+            private String specialVehicleFlag;
+            @JsonProperty("overseasVehicleFlag")
+            private String overseasVehicleFlag;
+            @JsonProperty("brand")
+            private String brand;
+            @JsonProperty("modelCodeAlien")
+            private String modelCodeAlien;
+            @JsonProperty("carNameAlien")
+            private String carNameAlien;
+            @JsonProperty("tradeNameAlien")
+            private String tradeNameAlien;
+            @JsonProperty("brandAlien")
+            private String brandAlien;
+            @JsonProperty("deptNameAlien")
+            private String deptNameAlien;
+            @JsonProperty("checkVehicleInfo")
+            private CheckVehicleInfoDTO checkVehicleInfo;
+            @JsonProperty("departmentCode")
+            private String departmentCode;
+            @JsonProperty("dbVehicleType")
+            private String dbVehicleType;
+            @JsonProperty("vehicleLicenceCode")
+            private String vehicleLicenceCode;
+            @JsonProperty("vehicleFrameNo")
+            private String vehicleFrameNo;
+            @JsonProperty("engineNo")
+            private String engineNo;
+            @JsonProperty("firstRegisterDate")
+            private String firstRegisterDate;
+            @JsonProperty("firstRegisterDateStr")
+            private String firstRegisterDateStr;
+            @JsonProperty("vehicleCertificateDate")
+            private String vehicleCertificateDate;
+            @JsonProperty("weigth")
+            private Double weigth;
+            @JsonProperty("totalMass")
+            private Double totalMass;
+            @JsonProperty("priceType")
+            private String priceType;
+            @JsonProperty("purchasePrice")
+            private String purchasePrice;
+            @JsonProperty("vehicleLossInsuredValue")
+            private Integer vehicleLossInsuredValue;
+            @JsonProperty("importFlag")
+            private String importFlag;
+            @JsonProperty("modelCode")
+            private String modelCode;
+            @JsonProperty("carName")
+            private String carName;
+            @JsonProperty("theftProof")
+            private String theftProof;
+            @JsonProperty("vehicleType")
+            private String vehicleType;
+            @JsonProperty("pureRange")
+            private String pureRange;
+            @JsonProperty("vehicleClass")
+            private String vehicleClass;
+            @JsonProperty("vehicleStyle")
+            private String vehicleStyle;
+            @JsonProperty("autoModelCode")
+            private String autoModelCode;
+            @JsonProperty("vehicleBrand")
+            private String vehicleBrand;
+            @JsonProperty("brandChnName")
+            private String brandChnName;
+            @JsonProperty("averageMile")
+            private String averageMile;
+            @JsonProperty("csTradeName")
+            private String csTradeName;
+            @JsonProperty("csTradeCode")
+            private String csTradeCode;
+            @JsonProperty("brandCode")
+            private String brandCode;
+            @JsonProperty("series")
+            private String series;
+            @JsonProperty("noticeType")
+            private String noticeType;
+            @JsonProperty("categoryName")
+            private String categoryName;
+            @JsonProperty("categoryCode")
+            private String categoryCode;
+            @JsonProperty("configType")
+            private String configType;
+            @JsonProperty("partInfo")
+            private String partInfo;
+            @JsonProperty("powerType")
+            private String powerType;
+            @JsonProperty("vehicleFgwCode")
+            private String vehicleFgwCode;
+            @JsonProperty("vehicleFgwName")
+            private String vehicleFgwName;
+            @JsonProperty("vehicleModelType")
+            private String vehicleModelType;
+            @JsonProperty("vehicleStyleDesc")
+            private String vehicleStyleDesc;
+            @JsonProperty("vehicleTypeName")
+            private String vehicleTypeName;
+            @JsonProperty("makeDate")
+            private Integer makeDate;
+            @JsonProperty("detailDesc")
+            private String detailDesc;
+            @JsonProperty("vehicleCategory")
+            private String vehicleCategory;
+            @JsonProperty("personnelName")
+            private String personnelName;
+            @JsonProperty("refitDesc")
+            private String refitDesc;
+            @JsonProperty("basicRateCode")
+            private String basicRateCode;
+            @JsonProperty("deptName")
+            private String deptName;
+            @JsonProperty("deptCode")
+            private String deptCode;
+            @JsonProperty("vehicleSeats")
+            private Integer vehicleSeats;
+            @JsonProperty("fuelType")
+            private String fuelType;
+            @JsonProperty("autoModelChnName")
+            private String autoModelChnName;
+            @JsonProperty("licenceTypeCode")
+            private String licenceTypeCode;
+            @JsonProperty("ecdemicVehicleFlag")
+            private String ecdemicVehicleFlag;
+            @JsonProperty("vehicleTonnages")
+            private Integer vehicleTonnages;
+            @JsonProperty("power")
+            private String power;
+            @JsonProperty("maxDesignSpeed")
+            private String maxDesignSpeed;
+            @JsonProperty("runCardCertificateDate")
+            private String runCardCertificateDate;
+            @JsonProperty("customerNegotiatePrice")
+            private Double customerNegotiatePrice;
+            @JsonProperty("originalCustomerNegotiatePrice")
+            private String originalCustomerNegotiatePrice;
+            @JsonProperty("fleetNo")
+            private String fleetNo;
+            @JsonProperty("maker")
+            private String maker;
+            @JsonProperty("approvedCapacity")
+            private String approvedCapacity;
+            @JsonProperty("ineffectualDate")
+            private String ineffectualDate;
+            @JsonProperty("lastCheckDate")
+            private String lastCheckDate;
+            @JsonProperty("rejectDate")
+            private String rejectDate;
+            @JsonProperty("riskFlag")
+            private String riskFlag;
+            @JsonProperty("targetType")
+            private String targetType;
+            @JsonProperty("fleetRate")
+            private String fleetRate;
+            @JsonProperty("usageAttributeCode")
+            private String usageAttributeCode;
+            @JsonProperty("usageAttributeCodePM")
+            private String usageAttributeCodePM;
+            @JsonProperty("ownershipAttributeCode")
+            private String ownershipAttributeCode;
+            @JsonProperty("beneficiaryList")
+            private List<?> beneficiaryList;
+            @JsonProperty("checkVehicleCodeSecret")
+            private String checkVehicleCodeSecret;
+            @JsonProperty("policyPricing")
+            private PolicyPricingDTO policyPricing;
+            @JsonProperty("vehicleTax")
+            private VehicleTaxDTO vehicleTax;
+
+            @NoArgsConstructor
+            @Data
+            public static class CheckVehicleInfoDTO {
+                @JsonProperty("usageAttributeCode")
+                private String usageAttributeCode;
+                @JsonProperty("usageAttributeCodePM")
+                private String usageAttributeCodePM;
+                @JsonProperty("runRegionCode")
+                private String runRegionCode;
+                @JsonProperty("checkVehicleFlag")
+                private String checkVehicleFlag;
+                @JsonProperty("uploadCheckVehicleInfo")
+                private String uploadCheckVehicleInfo;
+                @JsonProperty("checkVehicleSituation")
+                private String checkVehicleSituation;
+                @JsonProperty("vehicleChecker")
+                private String vehicleChecker;
+                @JsonProperty("checkRecord")
+                private String checkRecord;
+                @JsonProperty("checkTime")
+                private String checkTime;
+            }
+
+            @NoArgsConstructor
+            @Data
+            public static class PolicyPricingDTO {
+                @JsonProperty("usageAttributeCode")
+                private String usageAttributeCode;
+                @JsonProperty("usageAttributeCodePM")
+                private String usageAttributeCodePM;
+                @JsonProperty("ownershipAttributeCode")
+                private String ownershipAttributeCode;
+                @JsonProperty("nonclaimAdjust")
+                private String nonclaimAdjust;
+                @JsonProperty("claimAdjustLevel")
+                private String claimAdjustLevel;
+                @JsonProperty("lastyearStartDate")
+                private String lastyearStartDate;
+                @JsonProperty("lastyearEndDate")
+                private String lastyearEndDate;
+                @JsonProperty("partInfo")
+                private String partInfo;
+                @JsonProperty("isMortgage")
+                private String isMortgage;
+                @JsonProperty("isSpecialInsuranceVehicle")
+                private String isSpecialInsuranceVehicle;
+                @JsonProperty("claimRecordBizScoreSize")
+                private String claimRecordBizScoreSize;
+                @JsonProperty("loanVehicleFlag")
+                private String loanVehicleFlag;
+                @JsonProperty("injurySite")
+                private String injurySite;
+                @JsonProperty("transferFlag")
+                private String transferFlag;
+                @JsonProperty("searchSequenceNo")
+                private String searchSequenceNo;
+                @JsonProperty("dbVehicleAutoModelChnName")
+                private String dbVehicleAutoModelChnName;
+                @JsonProperty("refitDesc")
+                private String refitDesc;
+                @JsonProperty("lastYearIsTel")
+                private String lastYearIsTel;
+                @JsonProperty("reinsureFlag")
+                private String reinsureFlag;
+                @JsonProperty("rateFloatFlag")
+                private String rateFloatFlag;
+                @JsonProperty("ratioFluctuateType")
+                private String ratioFluctuateType;
+                @JsonProperty("repairFactory")
+                private String repairFactory;
+                @JsonProperty("dbVehicleWeigth")
+                private String dbVehicleWeigth;
+                @JsonProperty("riskScore")
+                private String riskScore;
+                @JsonProperty("riskScoreTwenty")
+                private String riskScoreTwenty;
+                @JsonProperty("algrId")
+                private String algrId;
+                @JsonProperty("riskScoreColor")
+                private String riskScoreColor;
+                @JsonProperty("scoreReason")
+                private String scoreReason;
+                @JsonProperty("scoreReasonLevel")
+                private String scoreReasonLevel;
+                @JsonProperty("scoreReasonLevel2")
+                private String scoreReasonLevel2;
+                @JsonProperty("scoreReasonLevel3")
+                private String scoreReasonLevel3;
+                @JsonProperty("highRiskFlag")
+                private String highRiskFlag;
+                @JsonProperty("effectReason")
+                private String effectReason;
+                @JsonProperty("dbVehicleVeiw")
+                private String dbVehicleVeiw;
+                @JsonProperty("lastYearCompanyId")
+                private String lastYearCompanyId;
+                @JsonProperty("chargeRateFinal")
+                private String chargeRateFinal;
+                @JsonProperty("rateType")
+                private String rateType;
+                @JsonProperty("priceRises")
+                private String priceRises;
+                @JsonProperty("underWriteRate")
+                private String underWriteRate;
+                @JsonProperty("autoRuleRatioOD")
+                private String autoRuleRatioOD;
+                @JsonProperty("autoRuleRatioTP")
+                private String autoRuleRatioTP;
+                @JsonProperty("autoRuleRatioTHEFT")
+                private String autoRuleRatioTHEFT;
+                @JsonProperty("autoRuleRatioOTHER")
+                private String autoRuleRatioOTHER;
+                @JsonProperty("underwriteRuleRatioOD")
+                private String underwriteRuleRatioOD;
+                @JsonProperty("underwriteRuleRatioTP")
+                private String underwriteRuleRatioTP;
+                @JsonProperty("underwriteRuleRatioTHEFT")
+                private String underwriteRuleRatioTHEFT;
+                @JsonProperty("underwriteRuleRatioOTHER")
+                private String underwriteRuleRatioOTHER;
+                @JsonProperty("tlType")
+                private String tlType;
+                @JsonProperty("autoFloatRatioOD")
+                private Integer autoFloatRatioOD;
+                @JsonProperty("autoFloatRatioTp")
+                private String autoFloatRatioTp;
+                @JsonProperty("autoFloatRatioTheft")
+                private String autoFloatRatioTheft;
+                @JsonProperty("autoFloatRatioOther")
+                private String autoFloatRatioOther;
+                @JsonProperty("appointAreaCode")
+                private String appointAreaCode;
+                @JsonProperty("fdConfigId")
+                private String fdConfigId;
+                @JsonProperty("modelDiscount")
+                private String modelDiscount;
+                @JsonProperty("autoFloatHandingCost")
+                private String autoFloatHandingCost;
+                @JsonProperty("modelrate")
+                private String modelrate;
+                @JsonProperty("advicediscount")
+                private String advicediscount;
+                @JsonProperty("dbVehicleBrand")
+                private String dbVehicleBrand;
+                @JsonProperty("dbVehicleTypeName")
+                private String dbVehicleTypeName;
+                @JsonProperty("usageLicenceName")
+                private String usageLicenceName;
+                @JsonProperty("vehicleTypeChiName")
+                private String vehicleTypeChiName;
+                @JsonProperty("autoFloatTargetRebate")
+                private String autoFloatTargetRebate;
+                @JsonProperty("riskFlag")
+                private String riskFlag;
+                @JsonProperty("dbExhaustCapability")
+                private String dbExhaustCapability;
+                @JsonProperty("dbVehicleSeats")
+                private String dbVehicleSeats;
+                @JsonProperty("dbVehicleTonnages")
+                private String dbVehicleTonnages;
+                @JsonProperty("dbVehicleValue")
+                private String dbVehicleValue;
+                @JsonProperty("ifModelRate")
+                private String ifModelRate;
+                @JsonProperty("isMotorcade")
+                private String isMotorcade;
+                @JsonProperty("scoreRunId")
+                private String scoreRunId;
+                @JsonProperty("specialCarFlag")
+                private String specialCarFlag;
+                @JsonProperty("transferDate")
+                private String transferDate;
+                @JsonProperty("vehicleAlias")
+                private String vehicleAlias;
+            }
+
+            @NoArgsConstructor
+            @Data
+            public static class VehicleTaxDTO {
+                @JsonProperty("page")
+                private Integer page;
+                @JsonProperty("pageSize")
+                private Integer pageSize;
+                @JsonProperty("vehicleTaxAmount")
+                private Integer vehicleTaxAmount;
+                @JsonProperty("vehicleTaxAmountThis")
+                private Integer vehicleTaxAmountThis;
+                @JsonProperty("vehicleTaxAmountLast")
+                private Integer vehicleTaxAmountLast;
+                @JsonProperty("lateFeeAmount")
+                private Integer lateFeeAmount;
+                @JsonProperty("startDate")
+                private String startDate;
+                @JsonProperty("endDate")
+                private String endDate;
+                @JsonProperty("lateDay")
+                private Integer lateDay;
+                @JsonProperty("personCert")
+                private String personCert;
+                @JsonProperty("vehicleState")
+                private String vehicleState;
+                @JsonProperty("yearTax")
+                private Integer yearTax;
+                @JsonProperty("vehicleTaxAmountThisCheck")
+                private Integer vehicleTaxAmountThisCheck;
+                @JsonProperty("steerCardVehicleType")
+                private String steerCardVehicleType;
+                @JsonProperty("payTaxWay")
+                private String payTaxWay;
+                @JsonProperty("localOrEcdemic")
+                private String localOrEcdemic;
+                @JsonProperty("urgentState")
+                private Boolean urgentState;
+                @JsonProperty("endorseChange")
+                private Boolean endorseChange;
+                @JsonProperty("sumTaxDefault")
+                private Integer sumTaxDefault;
+                @JsonProperty("annualTaxDue")
+                private Integer annualTaxDue;
+                @JsonProperty("sumAnnualTaxDue")
+                private Integer sumAnnualTaxDue;
+                @JsonProperty("personTaxCode")
+                private String personTaxCode;
+                @JsonProperty("taxDocumentDateString")
+                private String taxDocumentDateString;
+                @JsonProperty("startDateString")
+                private String startDateString;
+                @JsonProperty("endDateString")
+                private String endDateString;
+                @JsonProperty("recordVehicleTax")
+                private Boolean recordVehicleTax;
+                @JsonProperty("payTaxe")
+                private Boolean payTaxe;
+                @JsonProperty("lowercaseVehicleTaxAmount")
+                private Integer lowercaseVehicleTaxAmount;
+            }
+        }
+
+        @NoArgsConstructor
+        @Data
+        public static class PolicyCoveragesDTO {
+            @JsonProperty("dutyCode")
+            private String dutyCode;
+            @JsonProperty("dutyChineseName")
+            private String dutyChineseName;
+            @JsonProperty("insuredAmount")
+            private String insuredAmount;
+            @JsonProperty("equipmentInsureAmount")
+            private String equipmentInsureAmount;
+            @JsonProperty("deductibleDiscount")
+            private String deductibleDiscount;
+            @JsonProperty("totalActualPremium")
+            private String totalActualPremium;
+            @JsonProperty("deductionRate")
+            private Integer deductionRate;
+            @JsonProperty("serviceNum")
+            private String serviceNum;
+            @JsonProperty("isTelpeson")
+            private String isTelpeson;
+            @JsonProperty("telPhone")
+            private String telPhone;
+            @JsonProperty("mileage")
+            private String mileage;
+            @JsonProperty("setMeal")
+            private String setMeal;
+            @JsonProperty("fireMultiple")
+            private String fireMultiple;
+            @JsonProperty("allAmount")
+            private String allAmount;
+            @JsonProperty("riskPremum")
+            private String riskPremum;
+            @JsonProperty("seats")
+            private String seats;
+            @JsonProperty("deductible")
+            private String deductible;
+            @JsonProperty("totalStandardPremium")
+            private Double totalStandardPremium;
+            @JsonProperty("addedValueTax")
+            private Double addedValueTax;
+            @JsonProperty("totalAgreePremium")
+            private Double totalAgreePremium;
+            @JsonProperty("totalNetPremium")
+            private Double totalNetPremium;
+            @JsonProperty("newEquipmentList")
+            private List<?> newEquipmentList;
+            @JsonProperty("chargingPostDataList")
+            private List<?> chargingPostDataList;
+            @JsonProperty("fullYearPremium")
+            private String fullYearPremium;
+            @JsonProperty("dieAmount")
+            private String dieAmount;
+            @JsonProperty("medicalAmount")
+            private String medicalAmount;
+            @JsonProperty("propertyAmount")
+            private String propertyAmount;
+            @JsonProperty("noFaultDieAmount")
+            private String noFaultDieAmount;
+            @JsonProperty("noFaultMedicalAmount")
+            private String noFaultMedicalAmount;
+            @JsonProperty("noFaultPropertyAmount")
+            private String noFaultPropertyAmount;
+            @JsonProperty("basePremium")
+            private String basePremium;
+            @JsonProperty("premiumRate")
+            private String premiumRate;
+        }
+    }
+}

+ 1135 - 0
tenant/insurance/quotation-ansheng/src/main/java/com/jzg/ansheng/crawler/entity/request/AnShengCrawlerCalculatePremiumApplyMessage.java

@@ -0,0 +1,1135 @@
+package com.jzg.ansheng.crawler.entity.request;
+import com.google.common.collect.Lists;
+
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.jzg.commons.entity.quote.vo.CustomerInfoVo;
+import com.jzg.commons.entity.quote.vo.KindInfoVo;
+import com.jzg.quotation.commons.entity.vo.aggregated.QuoteVo;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+import org.springframework.util.ObjectUtils;
+
+import java.util.ArrayList;
+import java.util.List;
+
+@NoArgsConstructor
+@Data
+public class AnShengCrawlerCalculatePremiumApplyMessage {
+
+    @JsonProperty("isTryCal")
+    private Boolean isTryCal;
+
+    @JsonProperty("contracts")
+    private List<ContractsDTO> contracts;
+
+    public AnShengCrawlerCalculatePremiumApplyMessage(QuoteVo quoteVo) {
+        this.isTryCal = false;
+        this.contracts = new ArrayList<>();
+        if (!ObjectUtils.isEmpty(quoteVo.getBiRiskInfoVo())) {
+            ContractsDTO baseContracts = getBaseContracts(quoteVo);
+            baseContracts.addCompulsoryInsurance(baseContracts);
+            this.contracts.add(baseContracts);
+        }
+        if (!ObjectUtils.isEmpty(quoteVo.getCiRiskInfoVo())) {
+            ContractsDTO baseContracts = getBaseContracts(quoteVo);
+            baseContracts.addBusinessInsurance(baseContracts, quoteVo.getKindInfoVo());
+            this.contracts.add(baseContracts);
+        }
+    }
+
+    public ContractsDTO getBaseContracts(QuoteVo quoteVo) {
+        return new ContractsDTO(quoteVo);
+    }
+
+    @NoArgsConstructor
+    @Data
+    public static class ContractsDTO {
+        @JsonProperty("policyExtend")
+        private PolicyExtendDTO policyExtend;
+        @JsonProperty("noVehicleNo")
+        private Boolean noVehicleNo;
+        @JsonProperty("noCarowner")
+        private Boolean noCarowner;
+        @JsonProperty("agentDefine")
+        private AgentDefineDTO agentDefine;
+        @JsonProperty("autoGetTimeFlag")
+        private String autoGetTimeFlag;
+        @JsonProperty("policyBase")
+        private PolicyBaseDTO policyBase;
+        @JsonProperty("departmentDefine")
+        private DepartmentDefineDTO departmentDefine;
+        @JsonProperty("saleBusinessSource")
+        private SaleBusinessSourceDTO saleBusinessSource;
+        @JsonProperty("policyAttachments")
+        private List<?> policyAttachments;
+        @JsonProperty("targetList")
+        private List<TargetListDTO> targetList;
+        @JsonProperty("policyCoverages")
+        private List<PolicyCoveragesDTO> policyCoverages;
+        @JsonProperty("policyPersons")
+        private List<PolicyPersonsDTO> policyPersons;
+        @JsonProperty("policyRatios")
+        private List<PolicyRatiosDTO> policyRatios;
+
+        public void addCompulsoryInsurance(ContractsDTO contractsDTO) {
+            PolicyCoveragesDTO policyCoveragesDTO = new PolicyCoveragesDTO();
+            policyCoveragesDTO.setDutyCode("TPF");
+            policyCoveragesDTO.setDutyChineseName("交强险");
+            policyCoveragesDTO.setInsuredAmount("200000");
+            policyCoveragesDTO.setEquipmentInsureAmount("");
+            policyCoveragesDTO.setPremiumRate("");
+            policyCoveragesDTO.setDeductibleDiscount("");
+            policyCoveragesDTO.setTotalActualPremium("");
+            policyCoveragesDTO.setDeductionRate("");
+            policyCoveragesDTO.setServiceNum("");
+            policyCoveragesDTO.setIsTelpeson("");
+            policyCoveragesDTO.setTelPhone("");
+            policyCoveragesDTO.setMileage("");
+            policyCoveragesDTO.setSetMeal("");
+            policyCoveragesDTO.setFireMultiple("");
+            policyCoveragesDTO.setAllAmount("");
+            policyCoveragesDTO.setRiskPremum("");
+            policyCoveragesDTO.setSeats("");
+            policyCoveragesDTO.setDeductible("");
+            policyCoveragesDTO.setTotalStandardPremium(0);
+            policyCoveragesDTO.setAddedValueTax(0);
+            policyCoveragesDTO.setTotalAgreePremium(0);
+            policyCoveragesDTO.setTotalNetPremium(0);
+            policyCoveragesDTO.setNewEquipmentList(Lists.newArrayList());
+            policyCoveragesDTO.setChargingPostDataList(Lists.newArrayList());
+            policyCoveragesDTO.setFullYearPremium("");
+            policyCoveragesDTO.setDieAmount("180000");
+            policyCoveragesDTO.setMedicalAmount("18000");
+            policyCoveragesDTO.setPropertyAmount("2000");
+            policyCoveragesDTO.setNoFaultDieAmount("18000");
+            policyCoveragesDTO.setNoFaultMedicalAmount("1800");
+            policyCoveragesDTO.setNoFaultPropertyAmount("100");
+            policyCoveragesDTO.setBasePremium("");
+            contractsDTO.getPolicyCoverages().add(policyCoveragesDTO);
+        }
+
+        public void addBusinessInsurance(ContractsDTO contractsDTO, List<KindInfoVo> kindInfoVo){
+            for (KindInfoVo kind : kindInfoVo) {
+                PolicyCoveragesDTO policyCoveragesDTO = new PolicyCoveragesDTO(kind);
+                contractsDTO.getPolicyCoverages().add(policyCoveragesDTO);
+            }
+        }
+
+        public ContractsDTO(QuoteVo quoteVo) {
+            this.policyExtend = new PolicyExtendDTO("", "", "", "", "", "");
+            this.noVehicleNo = false;
+            this.noCarowner = false;
+            this.agentDefine = new AgentDefineDTO();
+            this.autoGetTimeFlag = "0";
+            this.policyBase = new PolicyBaseDTO();
+            this.departmentDefine = new DepartmentDefineDTO();
+            this.saleBusinessSource = new SaleBusinessSourceDTO();
+            this.policyAttachments = new ArrayList<>();
+            this.targetList = new ArrayList<>();
+            this.policyCoverages = new ArrayList<>();
+            this.policyPersons = buildPolicyPersons(quoteVo.getOwnersInfo(), quoteVo.getPolicyHolderInfo(), quoteVo.getInsuredPersonInfo());
+            this.policyRatios = new ArrayList<>();
+        }
+
+        private List<PolicyPersonsDTO> buildPolicyPersons(CustomerInfoVo ownersInfo, CustomerInfoVo policyHolderInfo, CustomerInfoVo insuredPersonInfo) {
+            PolicyPersonsDTO policyHolder = new PolicyPersonsDTO(policyHolderInfo, "0100000000");
+            PolicyPersonsDTO insuredPerson = new PolicyPersonsDTO(insuredPersonInfo, "1000000000");
+            PolicyPersonsDTO owners = new PolicyPersonsDTO(ownersInfo, "0000010000");
+            return List.of(owners, policyHolder, insuredPerson);
+        }
+
+        @AllArgsConstructor
+        @NoArgsConstructor
+        @Data
+        public static class PolicyExtendDTO {
+
+            @JsonProperty("targetPremium")
+            private String targetPremium;
+
+            @JsonProperty("eicRiskScore")
+            private String eicRiskScore;
+
+            @JsonProperty("usageAttributeCodePM")
+            private String usageAttributeCodePM;
+
+            @JsonProperty("vehicleRiskType")
+            private String vehicleRiskType;
+
+            @JsonProperty("expectedDiscount")
+            private String expectedDiscount;
+
+            @JsonProperty("expectedDiscountRange")
+            private String expectedDiscountRange;
+
+        }
+
+        @NoArgsConstructor
+        @Data
+        public static class AgentDefineDTO {
+
+            @JsonProperty("agentCode")
+            private String agentCode;
+        }
+
+        @NoArgsConstructor
+        @Data
+        public static class PolicyBaseDTO {
+            @JsonProperty("arbitrationCommission")
+            private String arbitrationCommission;
+            @JsonProperty("rescueCountRemark")
+            private String rescueCountRemark;
+            @JsonProperty("calculateUsedTime")
+            private String calculateUsedTime;
+            @JsonProperty("businessType")
+            private String businessType;
+            @JsonProperty("realBusinessType")
+            private String realBusinessType;
+            @JsonProperty("approveName")
+            private String approveName;
+            @JsonProperty("approveCode")
+            private String approveCode;
+            @JsonProperty("businessTypeDetail")
+            private String businessTypeDetail;
+            @JsonProperty("insuranceBeginTime")
+            private String insuranceBeginTime;
+            @JsonProperty("insuranceEndTime")
+            private String insuranceEndTime;
+            @JsonProperty("planCode")
+            private String planCode;
+            @JsonProperty("productCode")
+            private String productCode;
+            @JsonProperty("departmentCode")
+            private String departmentCode;
+            @JsonProperty("targetType")
+            private String targetType;
+            @JsonProperty("shortTimeCoefficient")
+            private Integer shortTimeCoefficient;
+            @JsonProperty("agentPersonName")
+            private String agentPersonName;
+            @JsonProperty("groupFlag")
+            private String groupFlag;
+            @JsonProperty("currencyCode")
+            private String currencyCode;
+            @JsonProperty("salesGroupCode")
+            private String salesGroupCode;
+            @JsonProperty("salesGroupName")
+            private String salesGroupName;
+            @JsonProperty("peccancyTime")
+            private String peccancyTime;
+            @JsonProperty("peccancyTypeTimeStr")
+            private String peccancyTypeTimeStr;
+            @JsonProperty("renewType")
+            private String renewType;
+            @JsonProperty("serviceNetCar")
+            private String serviceNetCar;
+            @JsonProperty("customerSource")
+            private String customerSource;
+            @JsonProperty("totalNetPremium")
+            private Integer totalNetPremium;
+            @JsonProperty("addedValueTax")
+            private Integer addedValueTax;
+            @JsonProperty("relationPolicy")
+            private String relationPolicy;
+        }
+
+        @NoArgsConstructor
+        @Data
+        public static class DepartmentDefineDTO {
+            @JsonProperty("departmentCode")
+            private String departmentCode;
+        }
+
+        @NoArgsConstructor
+        @Data
+        public static class SaleBusinessSourceDTO {
+            @JsonProperty("saleAgentCode")
+            private String saleAgentCode;
+            @JsonProperty("salesGroupCode")
+            private String salesGroupCode;
+        }
+
+        @NoArgsConstructor
+        @Data
+        public static class TargetListDTO {
+            @JsonProperty("linkId")
+            private String linkId;
+            @JsonProperty("targetId")
+            private String targetId;
+            @JsonProperty("ymIsbuyOrnot")
+            private String ymIsbuyOrnot;
+            @JsonProperty("ymBirthDate")
+            private String ymBirthDate;
+            @JsonProperty("ymElecBatteryType")
+            private String ymElecBatteryType;
+            @JsonProperty("marketDate")
+            private String marketDate;
+            @JsonProperty("vehicleCertificateNo")
+            private String vehicleCertificateNo;
+            @JsonProperty("vehicleCertificateType")
+            private String vehicleCertificateType;
+            @JsonProperty("vehiclePurchasePrice")
+            private String vehiclePurchasePrice;
+            @JsonProperty("modelsListedYear")
+            private String modelsListedYear;
+            @JsonProperty("platformId")
+            private String platformId;
+            @JsonProperty("vehicleColor")
+            private String vehicleColor;
+            @JsonProperty("theftproofEquipmentCode")
+            private String theftproofEquipmentCode;
+            @JsonProperty("isMortgage")
+            private String isMortgage;
+            @JsonProperty("isSpecialInsuranceVehicle")
+            private String isSpecialInsuranceVehicle;
+            @JsonProperty("vehicleVer")
+            private String vehicleVer;
+            @JsonProperty("groupCode")
+            private String groupCode;
+            @JsonProperty("standardName")
+            private String standardName;
+            @JsonProperty("tradeName")
+            private String tradeName;
+            @JsonProperty("tradeCode")
+            private String tradeCode;
+            @JsonProperty("totalVehicleWeight")
+            private String totalVehicleWeight;
+            @JsonProperty("seriesCode")
+            private String seriesCode;
+            @JsonProperty("modelIdCode")
+            private String modelIdCode;
+            @JsonProperty("seats")
+            private String seats;
+            @JsonProperty("rbCode")
+            private String rbCode;
+            @JsonProperty("otherEnergyTypeDesc")
+            private String otherEnergyTypeDesc;
+            @JsonProperty("madeDate")
+            private String madeDate;
+            @JsonProperty("exhaustCapability")
+            private String exhaustCapability;
+            @JsonProperty("noDamageYears")
+            private String noDamageYears;
+            @JsonProperty("specialVehicleFlag")
+            private String specialVehicleFlag;
+            @JsonProperty("overseasVehicleFlag")
+            private String overseasVehicleFlag;
+            @JsonProperty("brand")
+            private String brand;
+            @JsonProperty("modelCodeAlien")
+            private String modelCodeAlien;
+            @JsonProperty("carNameAlien")
+            private String carNameAlien;
+            @JsonProperty("tradeNameAlien")
+            private String tradeNameAlien;
+            @JsonProperty("brandAlien")
+            private String brandAlien;
+            @JsonProperty("deptNameAlien")
+            private String deptNameAlien;
+            @JsonProperty("checkVehicleInfo")
+            private CheckVehicleInfoDTO checkVehicleInfo;
+            @JsonProperty("departmentCode")
+            private String departmentCode;
+            @JsonProperty("dbVehicleType")
+            private String dbVehicleType;
+            @JsonProperty("vehicleLicenceCode")
+            private String vehicleLicenceCode;
+            @JsonProperty("vehicleFrameNo")
+            private String vehicleFrameNo;
+            @JsonProperty("engineNo")
+            private String engineNo;
+            @JsonProperty("firstRegisterDate")
+            private String firstRegisterDate;
+            @JsonProperty("firstRegisterDateStr")
+            private String firstRegisterDateStr;
+            @JsonProperty("vehicleCertificateDate")
+            private String vehicleCertificateDate;
+            @JsonProperty("weigth")
+            private String weigth;
+            @JsonProperty("totalMass")
+            private String totalMass;
+            @JsonProperty("priceType")
+            private String priceType;
+            @JsonProperty("purchasePrice")
+            private String purchasePrice;
+            @JsonProperty("vehicleLossInsuredValue")
+            private String vehicleLossInsuredValue;
+            @JsonProperty("importFlag")
+            private String importFlag;
+            @JsonProperty("modelCode")
+            private String modelCode;
+            @JsonProperty("carName")
+            private String carName;
+            @JsonProperty("theftProof")
+            private String theftProof;
+            @JsonProperty("vehicleType")
+            private String vehicleType;
+            @JsonProperty("pureRange")
+            private String pureRange;
+            @JsonProperty("vehicleClass")
+            private String vehicleClass;
+            @JsonProperty("vehicleStyle")
+            private String vehicleStyle;
+            @JsonProperty("autoModelCode")
+            private String autoModelCode;
+            @JsonProperty("vehicleBrand")
+            private String vehicleBrand;
+            @JsonProperty("brandChnName")
+            private String brandChnName;
+            @JsonProperty("averageMile")
+            private String averageMile;
+            @JsonProperty("csTradeName")
+            private String csTradeName;
+            @JsonProperty("csTradeCode")
+            private String csTradeCode;
+            @JsonProperty("brandCode")
+            private String brandCode;
+            @JsonProperty("series")
+            private String series;
+            @JsonProperty("noticeType")
+            private String noticeType;
+            @JsonProperty("categoryName")
+            private String categoryName;
+            @JsonProperty("categoryCode")
+            private String categoryCode;
+            @JsonProperty("configType")
+            private String configType;
+            @JsonProperty("partInfo")
+            private String partInfo;
+            @JsonProperty("powerType")
+            private String powerType;
+            @JsonProperty("vehicleFgwCode")
+            private String vehicleFgwCode;
+            @JsonProperty("vehicleFgwName")
+            private String vehicleFgwName;
+            @JsonProperty("vehicleModelType")
+            private String vehicleModelType;
+            @JsonProperty("vehicleStyleDesc")
+            private String vehicleStyleDesc;
+            @JsonProperty("vehicleTypeName")
+            private String vehicleTypeName;
+            @JsonProperty("makeDate")
+            private Integer makeDate;
+            @JsonProperty("stopFlag")
+            private String stopFlag;
+            @JsonProperty("detailDesc")
+            private String detailDesc;
+            @JsonProperty("vehicleCategory")
+            private String vehicleCategory;
+            @JsonProperty("personnelName")
+            private String personnelName;
+            @JsonProperty("refitDesc")
+            private String refitDesc;
+            @JsonProperty("basicRateCode")
+            private String basicRateCode;
+            @JsonProperty("deptName")
+            private String deptName;
+            @JsonProperty("deptCode")
+            private String deptCode;
+            @JsonProperty("vehicleSeats")
+            private String vehicleSeats;
+            @JsonProperty("fuelType")
+            private String fuelType;
+            @JsonProperty("autoModelChnName")
+            private String autoModelChnName;
+            @JsonProperty("licenceTypeCode")
+            private String licenceTypeCode;
+            @JsonProperty("ecdemicVehicleFlag")
+            private String ecdemicVehicleFlag;
+            @JsonProperty("vehicleTonnages")
+            private String vehicleTonnages;
+            @JsonProperty("power")
+            private String power;
+            @JsonProperty("maxDesignSpeed")
+            private Integer maxDesignSpeed;
+            @JsonProperty("runCardCertificateDate")
+            private String runCardCertificateDate;
+            @JsonProperty("customerNegotiatePrice")
+            private String customerNegotiatePrice;
+            @JsonProperty("originalCustomerNegotiatePrice")
+            private String originalCustomerNegotiatePrice;
+            @JsonProperty("fleetNo")
+            private String fleetNo;
+            @JsonProperty("maker")
+            private String maker;
+            @JsonProperty("approvedCapacity")
+            private String approvedCapacity;
+            @JsonProperty("ineffectualDate")
+            private String ineffectualDate;
+            @JsonProperty("lastCheckDate")
+            private String lastCheckDate;
+            @JsonProperty("rejectDate")
+            private String rejectDate;
+            @JsonProperty("riskFlag")
+            private String riskFlag;
+            @JsonProperty("targetType")
+            private String targetType;
+            @JsonProperty("fleetRate")
+            private String fleetRate;
+            @JsonProperty("usageAttributeCode")
+            private String usageAttributeCode;
+            @JsonProperty("usageAttributeCodePM")
+            private String usageAttributeCodePM;
+            @JsonProperty("ownershipAttributeCode")
+            private String ownershipAttributeCode;
+            @JsonProperty("beneficiaryList")
+            private List<?> beneficiaryList;
+            @JsonProperty("checkVehicleCodeSecret")
+            private String checkVehicleCodeSecret;
+            @JsonProperty("policyPricing")
+            private PolicyPricingDTO policyPricing;
+            @JsonProperty("vehicleTax")
+            private VehicleTaxDTO vehicleTax;
+
+            @NoArgsConstructor
+            @Data
+            public static class CheckVehicleInfoDTO {
+                @JsonProperty("usageAttributeCode")
+                private String usageAttributeCode;
+                @JsonProperty("usageAttributeCodePM")
+                private String usageAttributeCodePM;
+                @JsonProperty("runRegionCode")
+                private String runRegionCode;
+                @JsonProperty("checkVehicleFlag")
+                private String checkVehicleFlag;
+                @JsonProperty("uploadCheckVehicleInfo")
+                private String uploadCheckVehicleInfo;
+                @JsonProperty("checkVehicleSituation")
+                private String checkVehicleSituation;
+                @JsonProperty("vehicleChecker")
+                private String vehicleChecker;
+                @JsonProperty("checkRecord")
+                private String checkRecord;
+                @JsonProperty("checkTime")
+                private String checkTime;
+            }
+
+            @NoArgsConstructor
+            @Data
+            public static class PolicyPricingDTO {
+                @JsonProperty("usageAttributeCode")
+                private String usageAttributeCode;
+                @JsonProperty("usageAttributeCodePM")
+                private String usageAttributeCodePM;
+                @JsonProperty("ownershipAttributeCode")
+                private String ownershipAttributeCode;
+                @JsonProperty("nonclaimAdjust")
+                private String nonclaimAdjust;
+                @JsonProperty("claimAdjustLevel")
+                private String claimAdjustLevel;
+                @JsonProperty("lastyearStartDate")
+                private String lastyearStartDate;
+                @JsonProperty("lastyearEndDate")
+                private String lastyearEndDate;
+                @JsonProperty("partInfo")
+                private String partInfo;
+                @JsonProperty("isMortgage")
+                private String isMortgage;
+                @JsonProperty("isSpecialInsuranceVehicle")
+                private String isSpecialInsuranceVehicle;
+                @JsonProperty("claimRecordBizScoreSize")
+                private String claimRecordBizScoreSize;
+                @JsonProperty("loanVehicleFlag")
+                private String loanVehicleFlag;
+                @JsonProperty("injurySite")
+                private String injurySite;
+                @JsonProperty("transferFlag")
+                private String transferFlag;
+                @JsonProperty("searchSequenceNo")
+                private String searchSequenceNo;
+                @JsonProperty("dbVehicleAutoModelChnName")
+                private String dbVehicleAutoModelChnName;
+                @JsonProperty("refitDesc")
+                private String refitDesc;
+                @JsonProperty("lastYearIsTel")
+                private String lastYearIsTel;
+                @JsonProperty("reinsureFlag")
+                private String reinsureFlag;
+                @JsonProperty("rateFloatFlag")
+                private String rateFloatFlag;
+                @JsonProperty("ratioFluctuateType")
+                private String ratioFluctuateType;
+                @JsonProperty("repairFactory")
+                private String repairFactory;
+                @JsonProperty("dbVehicleWeigth")
+                private String dbVehicleWeigth;
+                @JsonProperty("riskScore")
+                private String riskScore;
+                @JsonProperty("riskScoreTwenty")
+                private String riskScoreTwenty;
+                @JsonProperty("algrId")
+                private String algrId;
+                @JsonProperty("riskScoreColor")
+                private String riskScoreColor;
+                @JsonProperty("scoreReason")
+                private String scoreReason;
+                @JsonProperty("scoreReasonLevel")
+                private String scoreReasonLevel;
+                @JsonProperty("scoreReasonLevel2")
+                private String scoreReasonLevel2;
+                @JsonProperty("scoreReasonLevel3")
+                private String scoreReasonLevel3;
+                @JsonProperty("highRiskFlag")
+                private String highRiskFlag;
+                @JsonProperty("effectReason")
+                private String effectReason;
+                @JsonProperty("dbVehicleVeiw")
+                private String dbVehicleVeiw;
+                @JsonProperty("lastYearCompanyId")
+                private String lastYearCompanyId;
+                @JsonProperty("chargeRateFinal")
+                private String chargeRateFinal;
+                @JsonProperty("rateType")
+                private String rateType;
+                @JsonProperty("priceRises")
+                private String priceRises;
+                @JsonProperty("underWriteRate")
+                private String underWriteRate;
+                @JsonProperty("autoRuleRatioOD")
+                private String autoRuleRatioOD;
+                @JsonProperty("autoRuleRatioTP")
+                private String autoRuleRatioTP;
+                @JsonProperty("autoRuleRatioTHEFT")
+                private String autoRuleRatioTHEFT;
+                @JsonProperty("autoRuleRatioOTHER")
+                private String autoRuleRatioOTHER;
+                @JsonProperty("underwriteRuleRatioOD")
+                private String underwriteRuleRatioOD;
+                @JsonProperty("underwriteRuleRatioTP")
+                private String underwriteRuleRatioTP;
+                @JsonProperty("underwriteRuleRatioTHEFT")
+                private String underwriteRuleRatioTHEFT;
+                @JsonProperty("underwriteRuleRatioOTHER")
+                private String underwriteRuleRatioOTHER;
+                @JsonProperty("tlType")
+                private String tlType;
+                @JsonProperty("autoFloatRatioOD")
+                private Integer autoFloatRatioOD;
+                @JsonProperty("autoFloatRatioTp")
+                private String autoFloatRatioTp;
+                @JsonProperty("autoFloatRatioTheft")
+                private String autoFloatRatioTheft;
+                @JsonProperty("autoFloatRatioOther")
+                private String autoFloatRatioOther;
+                @JsonProperty("appointAreaCode")
+                private String appointAreaCode;
+                @JsonProperty("fdConfigId")
+                private String fdConfigId;
+                @JsonProperty("modelDiscount")
+                private String modelDiscount;
+                @JsonProperty("autoFloatHandingCost")
+                private Integer autoFloatHandingCost;
+                @JsonProperty("modelrate")
+                private String modelrate;
+                @JsonProperty("advicediscount")
+                private String advicediscount;
+                @JsonProperty("dbVehicleBrand")
+                private String dbVehicleBrand;
+                @JsonProperty("dbVehicleTypeName")
+                private String dbVehicleTypeName;
+                @JsonProperty("usageLicenceName")
+                private String usageLicenceName;
+                @JsonProperty("vehicleTypeChiName")
+                private String vehicleTypeChiName;
+                @JsonProperty("autoFloatTargetRebate")
+                private String autoFloatTargetRebate;
+                @JsonProperty("riskFlag")
+                private String riskFlag;
+                @JsonProperty("dbExhaustCapability")
+                private String dbExhaustCapability;
+                @JsonProperty("dbVehicleSeats")
+                private String dbVehicleSeats;
+                @JsonProperty("dbVehicleTonnages")
+                private String dbVehicleTonnages;
+                @JsonProperty("dbVehicleValue")
+                private String dbVehicleValue;
+                @JsonProperty("ifModelRate")
+                private String ifModelRate;
+                @JsonProperty("isMotorcade")
+                private String isMotorcade;
+                @JsonProperty("scoreRunId")
+                private String scoreRunId;
+                @JsonProperty("specialCarFlag")
+                private String specialCarFlag;
+                @JsonProperty("transferDate")
+                private String transferDate;
+                @JsonProperty("vehicleAlias")
+                private String vehicleAlias;
+                @JsonProperty("customerSource")
+                private String customerSource;
+            }
+
+            @NoArgsConstructor
+            @Data
+            public static class VehicleTaxDTO {
+                @JsonProperty("ownerName")
+                private String ownerName;
+                @JsonProperty("vehicleTaxAmount")
+                private String vehicleTaxAmount;
+                @JsonProperty("drivingLicenseAddress")
+                private String drivingLicenseAddress;
+                @JsonProperty("replacesPaysTaxArea")
+                private String replacesPaysTaxArea;
+                @JsonProperty("changeDate")
+                private String changeDate;
+                @JsonProperty("taxChangeReasonCodeAp")
+                private String taxChangeReasonCodeAp;
+                @JsonProperty("taxChangeRensonDescAp")
+                private String taxChangeRensonDescAp;
+                @JsonProperty("taxAmountFlag")
+                private String taxAmountFlag;
+                @JsonProperty("computeNo")
+                private String computeNo;
+                @JsonProperty("localOrEcdemic")
+                private String localOrEcdemic;
+                @JsonProperty("oldCarMark")
+                private String oldCarMark;
+                @JsonProperty("boroughAndCounty")
+                private String boroughAndCounty;
+                @JsonProperty("personTaxCode")
+                private String personTaxCode;
+                @JsonProperty("sumAnnualTaxDue")
+                private String sumAnnualTaxDue;
+                @JsonProperty("lastYearEndDate")
+                private String lastYearEndDate;
+                @JsonProperty("vehicleState")
+                private String vehicleState;
+                @JsonProperty("personCert")
+                private String personCert;
+                @JsonProperty("startDate")
+                private String startDate;
+                @JsonProperty("endDate")
+                private String endDate;
+                @JsonProperty("certDepartmentName")
+                private String certDepartmentName;
+                @JsonProperty("steerCardVehicleType")
+                private String steerCardVehicleType;
+                @JsonProperty("registerDate")
+                private String registerDate;
+                @JsonProperty("certificateDate")
+                private String certificateDate;
+                @JsonProperty("vehicleTaxAmountLast")
+                private String vehicleTaxAmountLast;
+                @JsonProperty("payTaxWay")
+                private String payTaxWay;
+                @JsonProperty("lastEndCert")
+                private String lastEndCert;
+                @JsonProperty("vehicleTaxAmountThis")
+                private String vehicleTaxAmountThis;
+                @JsonProperty("vehicleTaxAmountThisCheck")
+                private String vehicleTaxAmountThisCheck;
+                @JsonProperty("lateDay")
+                private String lateDay;
+                @JsonProperty("lateFeeAmount")
+                private String lateFeeAmount;
+                @JsonProperty("currentTaxStartDate")
+                private String currentTaxStartDate;
+                @JsonProperty("currentTaxEndDate")
+                private String currentTaxEndDate;
+                @JsonProperty("currentTaxUnitTypeCode")
+                private String currentTaxUnitTypeCode;
+                @JsonProperty("currentUnitRate")
+                private String currentUnitRate;
+                @JsonProperty("certDepartmentCode")
+                private String certDepartmentCode;
+            }
+        }
+
+        @NoArgsConstructor
+        @Data
+        public static class PolicyCoveragesDTO {
+            @JsonProperty("dutyCode")
+            private String dutyCode;
+            @JsonProperty("dutyChineseName")
+            private String dutyChineseName;
+            @JsonProperty("insuredAmount")
+            private String insuredAmount;
+            @JsonProperty("equipmentInsureAmount")
+            private String equipmentInsureAmount;
+            @JsonProperty("premiumRate")
+            private String premiumRate;
+            @JsonProperty("deductibleDiscount")
+            private String deductibleDiscount;
+            @JsonProperty("totalActualPremium")
+            private String totalActualPremium;
+            @JsonProperty("deductionRate")
+            private String deductionRate;
+            @JsonProperty("serviceNum")
+            private String serviceNum;
+            @JsonProperty("isTelpeson")
+            private String isTelpeson;
+            @JsonProperty("telPhone")
+            private String telPhone;
+            @JsonProperty("mileage")
+            private String mileage;
+            @JsonProperty("setMeal")
+            private String setMeal;
+            @JsonProperty("fireMultiple")
+            private String fireMultiple;
+            @JsonProperty("allAmount")
+            private String allAmount;
+            @JsonProperty("riskPremum")
+            private String riskPremum;
+            @JsonProperty("seats")
+            private String seats;
+            @JsonProperty("deductible")
+            private String deductible;
+            @JsonProperty("totalStandardPremium")
+            private Integer totalStandardPremium;
+            @JsonProperty("addedValueTax")
+            private Integer addedValueTax;
+            @JsonProperty("totalAgreePremium")
+            private Integer totalAgreePremium;
+            @JsonProperty("totalNetPremium")
+            private Integer totalNetPremium;
+            @JsonProperty("newEquipmentList")
+            private List<?> newEquipmentList;
+            @JsonProperty("chargingPostDataList")
+            private List<?> chargingPostDataList;
+            @JsonProperty("fullYearPremium")
+            private String fullYearPremium;
+            @JsonProperty("dieAmount")
+            private String dieAmount;
+            @JsonProperty("medicalAmount")
+            private String medicalAmount;
+            @JsonProperty("propertyAmount")
+            private String propertyAmount;
+            @JsonProperty("noFaultDieAmount")
+            private String noFaultDieAmount;
+            @JsonProperty("noFaultMedicalAmount")
+            private String noFaultMedicalAmount;
+            @JsonProperty("noFaultPropertyAmount")
+            private String noFaultPropertyAmount;
+            @JsonProperty("basePremium")
+            private String basePremium;
+
+            public PolicyCoveragesDTO(KindInfoVo kind) {
+                this.dutyCode = kind.getKindCode();
+                this.dutyChineseName = kind.getKindName();
+                this.insuredAmount = kind.getUnitAmount();
+                this.equipmentInsureAmount = "";
+                this.premiumRate = "";
+                this.deductibleDiscount = "";
+                this.totalActualPremium = "";
+                this.deductionRate = "";
+                this.serviceNum = "";
+                this.isTelpeson = "";
+                this.telPhone = "";
+                this.mileage = "";
+                this.setMeal = "";
+                this.fireMultiple = "";
+                this.allAmount = "";
+                this.riskPremum = "";
+                this.seats = kind.getQuantity();
+                this.deductible = "";
+                this.totalStandardPremium = 0;
+                this.addedValueTax = 0;
+                this.totalAgreePremium = 0;
+                this.totalNetPremium = 0;
+                this.newEquipmentList = new ArrayList<>();
+                this.chargingPostDataList = new ArrayList<>();
+                this.fullYearPremium = "";
+                this.dieAmount = "";
+                this.medicalAmount = "";
+                this.propertyAmount = "";
+                this.noFaultDieAmount = "";
+                this.noFaultMedicalAmount = "";
+                this.noFaultPropertyAmount = "";
+                this.basePremium = "";
+            }
+        }
+
+        @NoArgsConstructor
+        @Data
+        public static class PolicyPersonsDTO {
+            @JsonProperty("personnelAttribute")
+            private String personnelAttribute;
+            @JsonProperty("appliWithInsRelaship")
+            private String appliWithInsRelaship;
+            @JsonProperty("relationshipWithInsured")
+            private String relationshipWithInsured;
+            @JsonProperty("personnelInfoBase")
+            private PersonnelInfoBaseDTO personnelInfoBase;
+
+            public PolicyPersonsDTO(CustomerInfoVo customerInfoVo, String personnelAttribute) {
+                this.personnelAttribute = personnelAttribute;
+                this.appliWithInsRelaship = "";
+                this.relationshipWithInsured = "";
+                this.personnelInfoBase = new PersonnelInfoBaseDTO(customerInfoVo);
+            }
+
+            @NoArgsConstructor
+            @Data
+            public static class PersonnelInfoBaseDTO {
+                @JsonProperty("personTypeDetailCode")
+                private String personTypeDetailCode;
+                @JsonProperty("personTypeOverseas")
+                private String personTypeOverseas;
+                @JsonProperty("vipMark")
+                private String vipMark;
+                @JsonProperty("person")
+                private PersonDTO person;
+
+                public PersonnelInfoBaseDTO(CustomerInfoVo customerInfoVo) {
+                    this.personTypeDetailCode = "1";
+                    this.personTypeOverseas = "0";
+                    this.vipMark = "1";
+                    this.person = new PersonDTO(customerInfoVo);
+                }
+
+                @NoArgsConstructor
+                @Data
+                public static class PersonDTO {
+                    @JsonProperty("idCardMachineCode")
+                    private String idCardMachineCode;
+                    @JsonProperty("issuedAt")
+                    private String issuedAt;
+                    @JsonProperty("nation")
+                    private String nation;
+                    @JsonProperty("personnelName")
+                    private String personnelName;
+                    @JsonProperty("personnelCode")
+                    private Object personnelCode;
+                    @JsonProperty("baseId")
+                    private String baseId;
+                    @JsonProperty("certificateType")
+                    private String certificateType;
+                    @JsonProperty("certificateNo")
+                    private String certificateNo;
+                    @JsonProperty("sexCode")
+                    private String sexCode;
+                    @JsonProperty("birthday")
+                    private String birthday;
+                    @JsonProperty("personnelAge")
+                    private String personnelAge;
+                    @JsonProperty("address")
+                    private String address;
+                    @JsonProperty("positionn")
+                    private String positionn;
+                    @JsonProperty("mobileTelephone")
+                    private String mobileTelephone;
+                    @JsonProperty("email")
+                    private String email;
+                    @JsonProperty("postcode")
+                    private String postcode;
+                    @JsonProperty("vipMark")
+                    private String vipMark;
+                    @JsonProperty("effectedDate")
+                    private String effectedDate;
+                    @JsonProperty("certType")
+                    private String certType;
+                    @JsonProperty("expiredDate")
+                    private String expiredDate;
+                    @JsonProperty("isRuralOrUrban")
+                    private String isRuralOrUrban;
+                    @JsonProperty("idCardAddress")
+                    private String idCardAddress;
+                    @JsonProperty("nationalityType")
+                    private String nationalityType;
+                    @JsonProperty("workUnit")
+                    private String workUnit;
+                    @JsonProperty("homeAddressAfter")
+                    private String homeAddressAfter;
+                    @JsonProperty("annualIncome")
+                    private String annualIncome;
+                    @JsonProperty("other1Address")
+                    private String other1Address;
+                    @JsonProperty("other1ProvinceCode")
+                    private String other1ProvinceCode;
+                    @JsonProperty("other1CityCode")
+                    private String other1CityCode;
+                    @JsonProperty("other1AreaCountyCode")
+                    private String other1AreaCountyCode;
+                    @JsonProperty("other2Address")
+                    private String other2Address;
+                    @JsonProperty("other2ProvinceCode")
+                    private String other2ProvinceCode;
+                    @JsonProperty("other2CityCode")
+                    private String other2CityCode;
+                    @JsonProperty("other2AreaCountyCode")
+                    private String other2AreaCountyCode;
+                    @JsonProperty("certificateaddress")
+                    private String certificateaddress;
+                    @JsonProperty("certiProvinceCode")
+                    private String certiProvinceCode;
+                    @JsonProperty("certiCityCode")
+                    private String certiCityCode;
+                    @JsonProperty("certiAreaCode")
+                    private String certiAreaCode;
+                    @JsonProperty("homeAddress")
+                    private String homeAddress;
+                    @JsonProperty("homeProvinceCode")
+                    private String homeProvinceCode;
+                    @JsonProperty("homeCityCode")
+                    private String homeCityCode;
+                    @JsonProperty("homeAreaCountyCode")
+                    private String homeAreaCountyCode;
+                    @JsonProperty("homeAreaCode")
+                    private String homeAreaCode;
+                    @JsonProperty("homeTelephone")
+                    private String homeTelephone;
+                    @JsonProperty("driverLicenseExpirationDate")
+                    private String driverLicenseExpirationDate;
+                    @JsonProperty("drivingExpirationDate")
+                    private String drivingExpirationDate;
+                    @JsonProperty("certificateAddressId")
+                    private String certificateAddressId;
+                    @JsonProperty("homeAddressId")
+                    private String homeAddressId;
+                    @JsonProperty("idCardAddressId")
+                    private String idCardAddressId;
+                    @JsonProperty("other1AddressId")
+                    private String other1AddressId;
+                    @JsonProperty("other2AddressId")
+                    private String other2AddressId;
+                    @JsonProperty("emailId")
+                    private String emailId;
+                    @JsonProperty("mobileTelephoneId")
+                    private String mobileTelephoneId;
+                    @JsonProperty("homeTelephoneId")
+                    private String homeTelephoneId;
+                    @JsonProperty("officeTelephoneId")
+                    private String officeTelephoneId;
+                    @JsonProperty("amlId")
+                    private String amlId;
+                    @JsonProperty("teleNoOwnerIsSelfFlag")
+                    private String teleNoOwnerIsSelfFlag;
+                    @JsonProperty("phoneOwnerCertiType")
+                    private String phoneOwnerCertiType;
+                    @JsonProperty("phoneOwnerCertiNo")
+                    private String phoneOwnerCertiNo;
+                    @JsonProperty("phoneOwnerName")
+                    private String phoneOwnerName;
+                    @JsonProperty("idCardAccess")
+                    private String idCardAccess;
+                    @JsonProperty("longExpiredDate")
+                    private String longExpiredDate;
+                    @JsonProperty("bankCode")
+                    private String bankCode;
+                    @JsonProperty("bankAccount")
+                    private String bankAccount;
+                    @JsonProperty("department")
+                    private String department;
+                    @JsonProperty("marriedStatu")
+                    private String marriedStatu;
+                    @JsonProperty("applyYears")
+                    private String applyYears;
+                    @JsonProperty("mobileTelephoneMarkBecause")
+                    private String mobileTelephoneMarkBecause;
+                    @JsonProperty("invalidateFlag")
+                    private String invalidateFlag;
+                    @JsonProperty("fixedTelephoneMarkBecause")
+                    private String fixedTelephoneMarkBecause;
+                    @JsonProperty("driveLicenseType1")
+                    private String driveLicenseType1;
+                    @JsonProperty("bankAccountId")
+                    private String bankAccountId;
+
+                    public PersonDTO(CustomerInfoVo customerInfoVo) {
+                        this.idCardMachineCode = "";
+                        this.issuedAt = "";
+                        this.nation = "";
+                        this.personnelName = customerInfoVo.getName();
+                        this.personnelCode = "";
+                        this.baseId = "";
+                        this.certificateType = "";
+                        this.certificateNo = customerInfoVo.getIdentifyNumber();
+                        this.sexCode = "";
+                        this.birthday = customerInfoVo.getBirthday();
+                        this.personnelAge = "";
+                        this.address = customerInfoVo.getAddr();
+                        this.positionn = "";
+                        this.mobileTelephone = customerInfoVo.getMobile();
+                        this.email = "";
+                        this.postcode = "";
+                        this.vipMark = "";
+                        this.effectedDate = customerInfoVo.getIdentifyValidDate();
+                        this.certType = "";
+                        this.expiredDate = customerInfoVo.getIdentifyValidEndDate();
+                        this.isRuralOrUrban = "";
+                        this.idCardAddress = "";
+                        this.nationalityType = "";
+                        this.workUnit = "";
+                        this.homeAddressAfter = "";
+                        this.annualIncome = "";
+                        this.other1Address = "";
+                        this.other1ProvinceCode = "";
+                        this.other1CityCode = "";
+                        this.other1AreaCountyCode = "";
+                        this.other2Address = "";
+                        this.other2ProvinceCode = "";
+                        this.other2CityCode = "";
+                        this.other2AreaCountyCode = "";
+                        this.certificateaddress = "";
+                        this.certiProvinceCode = "";
+                        this.certiCityCode = "";
+                        this.certiAreaCode = "";
+                        this.homeAddress = customerInfoVo.getAddr();
+                        this.homeProvinceCode = customerInfoVo.getProvinceCode();
+                        this.homeCityCode = customerInfoVo.getCityCode();
+                        this.homeAreaCountyCode = customerInfoVo.getCountyCode();
+                        this.homeAreaCode = "";
+                        this.homeTelephone = "";
+                        this.driverLicenseExpirationDate = "";
+                        this.drivingExpirationDate = "";
+                        this.certificateAddressId = "";
+                        this.homeAddressId = "";
+                        this.idCardAddressId = "";
+                        this.other1AddressId = "";
+                        this.other2AddressId = "";
+                        this.emailId = "";
+                        this.mobileTelephoneId = "";
+                        this.homeTelephoneId = "";
+                        this.officeTelephoneId = "";
+                        this.amlId = "";
+                        this.teleNoOwnerIsSelfFlag = "";
+                        this.phoneOwnerCertiType = "";
+                        this.phoneOwnerCertiNo = "";
+                        this.phoneOwnerName = "";
+                        this.idCardAccess = "";
+                        this.longExpiredDate = "";
+                        this.bankCode = "";
+                        this.bankAccount = "";
+                        this.department = "";
+                        this.marriedStatu = "";
+                        this.applyYears = "";
+                        this.mobileTelephoneMarkBecause = "";
+                        this.invalidateFlag = "";
+                        this.fixedTelephoneMarkBecause = "";
+                        this.driveLicenseType1 = "";
+                        this.bankAccountId = "";
+                    }
+
+                }
+            }
+        }
+
+        @NoArgsConstructor
+        @Data
+        public static class PolicyRatiosDTO {
+            @JsonProperty("linkId")
+            private String linkId;
+            @JsonProperty("ratio")
+            private String ratio;
+            @JsonProperty("discountValue")
+            private String discountValue;
+            @JsonProperty("dutyCode")
+            private String dutyCode;
+            @JsonProperty("factorCode")
+            private String factorCode;
+            @JsonProperty("factorValue")
+            private String factorValue;
+            @JsonProperty("ratioOd")
+            private Integer ratioOd;
+            @JsonProperty("ratioTp")
+            private Integer ratioTp;
+            @JsonProperty("ratioTheft")
+            private Integer ratioTheft;
+            @JsonProperty("ratioOther")
+            private Integer ratioOther;
+            @JsonProperty("ratiototal")
+            private Integer ratiototal;
+        }
+    }
+}

+ 26 - 0
tenant/insurance/quotation-ansheng/src/main/java/com/jzg/ansheng/crawler/entity/request/AnShengCrawlerCheckLoginRequest.java

@@ -0,0 +1,26 @@
+package com.jzg.ansheng.crawler.entity.request;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.jzg.quotation.commons.utils.RequestObjectConversion;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+
+import java.util.Map;
+
+@Data
+@AllArgsConstructor
+public class AnShengCrawlerCheckLoginRequest {
+
+    @JsonProperty("_csrf")
+    private String csrf;
+
+    @JsonProperty("username")
+    private String username;
+
+    @JsonProperty("password")
+    private String password;
+
+    @JsonProperty("accountType")
+    private String accountType;
+
+}

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

@@ -0,0 +1,36 @@
+package com.jzg.ansheng.crawler.entity.request;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+/**
+ * @description: 安盛天平 验证验证码
+ * @author: wenks
+ * @date: 2025/4/2 15:03
+ **/
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+public class AnShengCrawlerCheckVerificationRequest {
+
+    @JsonProperty("x")
+    private String x;
+
+    @JsonProperty("y")
+    private String y;
+
+    @JsonProperty("key")
+    private String key;
+
+    @JsonProperty("acountName")
+    private String accountName;
+
+    @JsonProperty("clientId")
+    private String clientId;
+
+    @JsonProperty("accountType")
+    private String accountType;
+
+}

+ 19 - 0
tenant/insurance/quotation-ansheng/src/main/java/com/jzg/ansheng/crawler/entity/request/AnShengCrawlerFileUploadRequest.java

@@ -0,0 +1,19 @@
+package com.jzg.ansheng.crawler.entity.request;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+public class AnShengCrawlerFileUploadRequest {
+
+    @JsonProperty("value1")
+    private String value1;
+
+    @JsonProperty("uploadFileType1")
+    private String uploadFileType1;
+
+}

+ 85 - 0
tenant/insurance/quotation-ansheng/src/main/java/com/jzg/ansheng/crawler/entity/request/AnShengCrawlerQueryDocumentsInformationRequest.java

@@ -0,0 +1,85 @@
+package com.jzg.ansheng.crawler.entity.request;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.jzg.quotation.commons.utils.TimeProcessing;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.util.List;
+
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+public class AnShengCrawlerQueryDocumentsInformationRequest {
+
+    @JsonProperty("agentCode")
+    private String agentCode;
+
+    @JsonProperty("updateType")
+    private Integer updateType;
+
+    @JsonProperty("page")
+    private Integer page;
+
+    @JsonProperty("pageSize")
+    private Integer pageSize;
+
+    @JsonProperty("departmentCode")
+    private String departmentCode;
+
+    @JsonProperty("planList")
+    private List<String> planList;
+
+    @JsonProperty("businessTypeList")
+    private List<Integer> businessTypeList;
+
+    @JsonProperty("channelSourceList")
+    private String channelSourceList;
+
+    @JsonProperty("documentType")
+    private Integer documentType;
+
+    @JsonProperty("appDateStart")
+    private String appDateStart;
+
+    @JsonProperty("appDateEnd")
+    private String appDateEnd;
+
+    @JsonProperty("isSubDepartment")
+    private Boolean isSubDepartment;
+
+    @JsonProperty("insuredFlag")
+    private Boolean insuredFlag;
+
+    @JsonProperty("unInsuredFlag")
+    private Boolean unInsuredFlag;
+
+    @JsonProperty
+    private String documentNo;
+
+    public AnShengCrawlerQueryDocumentsInformationRequest(String agentCode, String departmentCode, String documentNo, String quotationTime) {
+        this.agentCode = agentCode;
+        this.updateType = 2;
+        this.page = 1;
+        this.pageSize = 10;
+        this.departmentCode = departmentCode;
+        this.planList = List.of("103", "105", "107", "109", "110", "111", "113", "516", "518", "521",
+                "610", "712", "718", "788", "888", "889", "890", "895", "CFF", "G01",
+                "GAP", "GH1", "GPI", "H01", "H09", "H17", "H18", "H19", "H20", "H21",
+                "H23", "H24", "H25", "H27", "H86", "H90", "H91", "H92", "H93", "H96",
+                "H98", "H99", "P01", "P03", "P12", "P13", "P15", "P17", "P20", "P23",
+                "P24", "P95");
+        this.businessTypeList = List.of(3);
+        this.channelSourceList = "1,2";
+        this.documentType = 9;
+        TimeProcessing.TimeFrame timeFrame = TimeProcessing.getTimeFrame(quotationTime, true);
+        this.appDateStart = timeFrame.getStartTime();
+        this.appDateEnd = timeFrame.getEndTime();
+        // 订单号
+        this.documentNo = documentNo;
+        this.isSubDepartment = true;
+        this.insuredFlag = false;
+        this.unInsuredFlag = false;
+    }
+}

+ 44 - 0
tenant/insurance/quotation-ansheng/src/main/java/com/jzg/ansheng/crawler/entity/request/AnShengCrawlerSearchVehicleByVinRequest.java

@@ -0,0 +1,44 @@
+package com.jzg.ansheng.crawler.entity.request;
+
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import lombok.Data;
+
+@Data
+public class AnShengCrawlerSearchVehicleByVinRequest {
+
+    @JsonProperty("vin")
+    private String vin;
+
+    @JsonProperty("priceType")
+    private String priceType;
+
+    @JsonProperty("planCode")
+    private String planCode;
+
+    @JsonProperty("departmentCode")
+    private String departmentCode;
+
+    @JsonProperty("usageAttributeCode")
+    private String usageAttributeCode;
+
+    @JsonProperty("initWeigth")
+    private String initWeigth;
+
+    @JsonProperty("vehicleDBFlag")
+    private String vehicleDBFlag;
+
+    @JsonProperty("vehicleType")
+    private String vehicleType;
+
+    @JsonProperty("agentCode")
+    private String agentCode;
+
+    @JsonProperty("realBusinessType")
+    private String realBusinessType;
+
+    @JsonProperty("customerSourceCode")
+    private String customerSourceCode;
+
+
+}

+ 29 - 0
tenant/insurance/quotation-ansheng/src/main/java/com/jzg/ansheng/crawler/entity/request/AnShengCrawlerVerifyRequest.java

@@ -0,0 +1,29 @@
+package com.jzg.ansheng.crawler.entity.request;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+/**
+ * @version
+ * @description: 安盛财险 验证码
+ * @author: wenks
+ * @date: 2025/3/31 10:15
+ **/
+@NoArgsConstructor
+@Data
+public class AnShengCrawlerVerifyRequest {
+
+    @JsonProperty("accountName")
+    private String accountName;
+
+    @JsonProperty("passWord")
+    private String passWord;
+
+    @JsonProperty("clientId")
+    private String clientId;
+
+    @JsonProperty("accountType")
+    private String accountType;
+
+}

+ 84 - 0
tenant/insurance/quotation-ansheng/src/main/java/com/jzg/ansheng/crawler/entity/response/AnShengCrawlerAutoSpecialPromiseResponse.java

@@ -0,0 +1,84 @@
+package com.jzg.ansheng.crawler.entity.response;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.util.List;
+
+
+@NoArgsConstructor
+@Data
+public class AnShengCrawlerAutoSpecialPromiseResponse {
+
+    @JsonProperty("code")
+    private Integer code;
+
+    @JsonProperty("simpleMessage")
+    private String simpleMessage;
+
+    @JsonProperty("message")
+    private String message;
+
+    @JsonProperty("data")
+    private List<DataDTO> data;
+
+    @NoArgsConstructor
+    @Data
+    public static class DataDTO {
+
+        @JsonProperty("page")
+        private Integer page;
+
+        @JsonProperty("pageSize")
+        private Integer pageSize;
+
+        @JsonProperty("planCode")
+        private String planCode;
+
+        @JsonProperty("includeSubDep")
+        private Boolean includeSubDep;
+
+        @JsonProperty("businessClass")
+        private String businessClass;
+
+        @JsonProperty("rateScale")
+        private Integer rateScale;
+
+        @JsonProperty("rateTwoScale")
+        private Integer rateTwoScale;
+
+        @JsonProperty("alterableSpecialPromise")
+        private String alterableSpecialPromise;
+
+        @JsonProperty("claimRecordBizSize")
+        private Integer claimRecordBizSize;
+
+        @JsonProperty("claimRecordSize")
+        private Integer claimRecordSize;
+
+        @JsonProperty("allClaimAmountBiz")
+        private Integer allClaimAmountBiz;
+
+        @JsonProperty("allClaimAmount")
+        private Integer allClaimAmount;
+
+        @JsonProperty("illegalInsuredCertFlag")
+        private Boolean illegalInsuredCertFlag;
+
+        @JsonProperty("immediateEffectFlag")
+        private String immediateEffectFlag;
+
+        @JsonProperty("isOverdue")
+        private Boolean isOverdue;
+
+        @JsonProperty("shortTimeCoefficientShow")
+        private Boolean shortTimeCoefficientShow;
+
+        @JsonProperty("factorScale")
+        private String factorScale;
+
+        @JsonProperty("minRatioMode")
+        private String minRatioMode;
+    }
+}

+ 1490 - 0
tenant/insurance/quotation-ansheng/src/main/java/com/jzg/ansheng/crawler/entity/response/AnShengCrawlerCalculatePremiumApplyResponse.java

@@ -0,0 +1,1490 @@
+package com.jzg.ansheng.crawler.entity.response;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.util.List;
+
+@NoArgsConstructor
+@Data
+public class AnShengCrawlerCalculatePremiumApplyResponse {
+
+    @JsonProperty("code")
+    private Integer code;
+    @JsonProperty("simpleMessage")
+    private String simpleMessage;
+    @JsonProperty("message")
+    private String message;
+    @JsonProperty("data")
+    private DataDTO data;
+
+    @NoArgsConstructor
+    @Data
+    public static class DataDTO {
+        @JsonProperty("contracts")
+        private List<ContractsDTO> contracts;
+        @JsonProperty("ruleMap")
+        private RuleMapDTO ruleMap;
+        @JsonProperty("commissionConclusion")
+        private String commissionConclusion;
+        @JsonProperty("newProcessSwitch")
+        private String newProcessSwitch;
+        @JsonProperty("basicstring")
+        private String basicstring;
+        @JsonProperty("comprehensiveScoreStr")
+        private String comprehensiveScoreStr;
+        @JsonProperty("riskScore")
+        private String riskScore;
+        @JsonProperty("unifiedScore")
+        private String unifiedScore;
+        @JsonProperty("bussinessLevel")
+        private String bussinessLevel;
+        @JsonProperty("color")
+        private String color;
+        @JsonProperty("highScoreList")
+        private List<HighScoreListDTO> highScoreList;
+        @JsonProperty("floorScoreList")
+        private List<FloorScoreListDTO> floorScoreList;
+        @JsonProperty("isRenewAfterAndRepeatInsureMessage")
+        private String isRenewAfterAndRepeatInsureMessage;
+        @JsonProperty("tryCal")
+        private Boolean tryCal;
+        @JsonProperty("policyRatioSums")
+        private List<PolicyRatioSumsDTO> policyRatioSums;
+        @JsonProperty("blackDivisor")
+        private String blackDivisor;
+        @JsonProperty("releaseMark")
+        private Boolean releaseMark;
+        @JsonProperty("resetCustomerNegotiatePrice")
+        private String resetCustomerNegotiatePrice;
+
+        @NoArgsConstructor
+        @Data
+        public static class RuleMapDTO {
+            @JsonProperty("ruleSwitch")
+            private String ruleSwitch;
+            @JsonProperty("ruleMessage")
+            private String ruleMessage;
+            @JsonProperty("ruleShortMessage")
+            private String ruleShortMessage;
+        }
+
+        @NoArgsConstructor
+        @Data
+        public static class ContractsDTO {
+            @JsonProperty("page")
+            private Integer page;
+            @JsonProperty("pageSize")
+            private Integer pageSize;
+            @JsonProperty("policyBase")
+            private PolicyBaseDTO policyBase;
+            @JsonProperty("targets")
+            private List<TargetsDTO> targets;
+            @JsonProperty("planDefine")
+            private PlanDefineDTO planDefine;
+            @JsonProperty("policyCoverages")
+            private List<PolicyCoveragesDTO> policyCoverages;
+            @JsonProperty("policyRatios")
+            private List<PolicyRatiosDTO> policyRatios;
+            @JsonProperty("exeRuleRsp")
+            private ExeRuleRspDTO exeRuleRsp;
+            @JsonProperty("policyExtend")
+            private PolicyExtendDTO policyExtend;
+            @JsonProperty("returnDateStr")
+            private String returnDateStr;
+            @JsonProperty("flag")
+            private Boolean flag;
+            @JsonProperty("hasNon")
+            private Boolean hasNon;
+            @JsonProperty("allAmountChangeFlag")
+            private String allAmountChangeFlag;
+            @JsonProperty("premiumParameter")
+            private PremiumParameterDTO premiumParameter;
+            @JsonProperty("noVehicleNo")
+            private Boolean noVehicleNo;
+            @JsonProperty("noCarowner")
+            private Boolean noCarowner;
+            @JsonProperty("riskInfo")
+            private List<?> riskInfo;
+            @JsonProperty("releaseMark")
+            private Boolean releaseMark;
+            @JsonProperty("returnOrCancelPolicy")
+            private Boolean returnOrCancelPolicy;
+            @JsonProperty("planCode")
+            private String planCode;
+            @JsonProperty("businessInsureCa")
+            private Boolean businessInsureCa;
+            @JsonProperty("insuranceEndTime")
+            private String insuranceEndTime;
+            @JsonProperty("vehicle")
+            private VehicleDTO vehicle;
+            @JsonProperty("usageAttributeCode")
+            private String usageAttributeCode;
+            @JsonProperty("insuranceBeginTime")
+            private String insuranceBeginTime;
+            @JsonProperty("compulsoryInsureCa")
+            private Boolean compulsoryInsureCa;
+            @JsonProperty("productCode")
+            private String productCode;
+            @JsonProperty("commerialFlag")
+            private Boolean commerialFlag;
+            @JsonProperty("vehicleAge")
+            private Double vehicleAge;
+            @JsonProperty("haveCBDorODorCDA")
+            private Boolean haveCBDorODorCDA;
+            @JsonProperty("cancelPolicy")
+            private Boolean cancelPolicy;
+            @JsonProperty("returnPolicy")
+            private Boolean returnPolicy;
+            @JsonProperty("claimReturnBlackPolicy")
+            private Boolean claimReturnBlackPolicy;
+
+            @NoArgsConstructor
+            @Data
+            public static class PolicyBaseDTO {
+                @JsonProperty("page")
+                private Integer page;
+                @JsonProperty("pageSize")
+                private Integer pageSize;
+                @JsonProperty("planCode")
+                private String planCode;
+                @JsonProperty("productCode")
+                private String productCode;
+                @JsonProperty("includeSubDep")
+                private Boolean includeSubDep;
+                @JsonProperty("insuranceBeginTime")
+                private String insuranceBeginTime;
+                @JsonProperty("insuranceEndTime")
+                private String insuranceEndTime;
+                @JsonProperty("applicantName")
+                private String applicantName;
+                @JsonProperty("insuranerName")
+                private String insuranerName;
+                @JsonProperty("totalInsuredAmount")
+                private Integer totalInsuredAmount;
+                @JsonProperty("totalStandardPremium")
+                private Double totalStandardPremium;
+                @JsonProperty("totalAgreePremium")
+                private Double totalAgreePremium;
+                @JsonProperty("totalActualPremium")
+                private Double totalActualPremium;
+                @JsonProperty("totalNetPremium")
+                private Double totalNetPremium;
+                @JsonProperty("totalActualSumPremium")
+                private Integer totalActualSumPremium;
+                @JsonProperty("addedValueTax")
+                private Double addedValueTax;
+                @JsonProperty("rateScale")
+                private Double rateScale;
+                @JsonProperty("rateTwoScale")
+                private Integer rateTwoScale;
+                @JsonProperty("shortTimeCoefficient")
+                private String shortTimeCoefficient;
+                @JsonProperty("quoteTaskNo")
+                private String quoteTaskNo;
+                @JsonProperty("keyOverServer")
+                private String keyOverServer;
+                @JsonProperty("applyQueryCode")
+                private String applyQueryCode;
+                @JsonProperty("applyQueryPlatformID")
+                private String applyQueryPlatformID;
+                @JsonProperty("personnelName")
+                private String personnelName;
+                @JsonProperty("claimRecordBizSize")
+                private Integer claimRecordBizSize;
+                @JsonProperty("claimRecordSize")
+                private Integer claimRecordSize;
+                @JsonProperty("relationId")
+                private String relationId;
+                @JsonProperty("premiumCountDataToken")
+                private String premiumCountDataToken;
+                @JsonProperty("commissionRateUpper")
+                private String commissionRateUpper;
+                @JsonProperty("companyCommissionRateUpper")
+                private String companyCommissionRateUpper;
+                @JsonProperty("commissionChargeProportion")
+                private String commissionChargeProportion;
+                @JsonProperty("allClaimAmountBiz")
+                private Integer allClaimAmountBiz;
+                @JsonProperty("allClaimAmount")
+                private Integer allClaimAmount;
+                @JsonProperty("illegalInsuredCertFlag")
+                private Boolean illegalInsuredCertFlag;
+                @JsonProperty("immediateEffectFlag")
+                private String immediateEffectFlag;
+                @JsonProperty("isHaveFee")
+                private String isHaveFee;
+                @JsonProperty("isOverdue")
+                private Boolean isOverdue;
+                @JsonProperty("blackDivisor")
+                private String blackDivisor;
+                @JsonProperty("basicTypeCountsMap")
+                private List<?> basicTypeCountsMap;
+                @JsonProperty("shortTimeCoefficientShow")
+                private Boolean shortTimeCoefficientShow;
+                @JsonProperty("factorScale")
+                private String factorScale;
+                @JsonProperty("minRatioMode")
+                private String minRatioMode;
+            }
+
+            @NoArgsConstructor
+            @Data
+            public static class PlanDefineDTO {
+                @JsonProperty("createdBy")
+                private String createdBy;
+                @JsonProperty("createdDate")
+                private String createdDate;
+                @JsonProperty("updatedBy")
+                private String updatedBy;
+                @JsonProperty("updatedDate")
+                private String updatedDate;
+                @JsonProperty("page")
+                private Integer page;
+                @JsonProperty("pageSize")
+                private Integer pageSize;
+                @JsonProperty("planCode")
+                private String planCode;
+                @JsonProperty("planType")
+                private String planType;
+                @JsonProperty("planChineseName")
+                private String planChineseName;
+                @JsonProperty("planChineseNameAbbr")
+                private String planChineseNameAbbr;
+                @JsonProperty("targetType")
+                private String targetType;
+                @JsonProperty("targetName")
+                private String targetName;
+                @JsonProperty("riskUnitName")
+                private String riskUnitName;
+                @JsonProperty("needValidate")
+                private String needValidate;
+                @JsonProperty("effectiveDateDelay")
+                private Integer effectiveDateDelay;
+                @JsonProperty("productType")
+                private String productType;
+                @JsonProperty("planSeries")
+                private String planSeries;
+                @JsonProperty("commissionRateUpper")
+                private String commissionRateUpper;
+                @JsonProperty("index")
+                private String index;
+                @JsonProperty("hasVehicleTax")
+                private String hasVehicleTax;
+                @JsonProperty("axaTour")
+                private Boolean axaTour;
+                @JsonProperty("axaAccident")
+                private Boolean axaAccident;
+                @JsonProperty("disputedSettleModeArbitrate")
+                private Boolean disputedSettleModeArbitrate;
+                @JsonProperty("axa")
+                private Boolean axa;
+                @JsonProperty("healthPlanCode")
+                private Boolean healthPlanCode;
+                @JsonProperty("businessMotorcycle")
+                private Boolean businessMotorcycle;
+                @JsonProperty("autoAccident")
+                private Boolean autoAccident;
+                @JsonProperty("autoBusinessType")
+                private String autoBusinessType;
+                @JsonProperty("autoRenewal")
+                private Boolean autoRenewal;
+                @JsonProperty("checkAmount")
+                private Boolean checkAmount;
+                @JsonProperty("getByRule")
+                private Boolean getByRule;
+                @JsonProperty("oldDutyOdamount")
+                private Boolean oldDutyOdamount;
+                @JsonProperty("personnalAccidentProduct")
+                private Boolean personnalAccidentProduct;
+                @JsonProperty("nonAutoCalculateModeProduct")
+                private Boolean nonAutoCalculateModeProduct;
+                @JsonProperty("premiumRateUnits")
+                private Double premiumRateUnits;
+                @JsonProperty("existPolicyExtendProduct")
+                private Boolean existPolicyExtendProduct;
+                @JsonProperty("ecardProduct")
+                private Boolean ecardProduct;
+                @JsonProperty("needAttachmentProduct")
+                private Boolean needAttachmentProduct;
+                @JsonProperty("insureTermRelate")
+                private Boolean insureTermRelate;
+                @JsonProperty("noTargetProduct")
+                private Boolean noTargetProduct;
+                @JsonProperty("equitmentInsure")
+                private Boolean equitmentInsure;
+                @JsonProperty("useMailNo")
+                private Boolean useMailNo;
+                @JsonProperty("noWriteInsure")
+                private Boolean noWriteInsure;
+                @JsonProperty("groupInsure")
+                private Boolean groupInsure;
+                @JsonProperty("chargesingleInsure")
+                private Boolean chargesingleInsure;
+                @JsonProperty("limitAcceptAge")
+                private Boolean limitAcceptAge;
+                @JsonProperty("motorcycleInsure")
+                private Boolean motorcycleInsure;
+                @JsonProperty("telSaleSpecial")
+                private Boolean telSaleSpecial;
+                @JsonProperty("needReturnCerti")
+                private Boolean needReturnCerti;
+                @JsonProperty("upOneYear")
+                private Boolean upOneYear;
+                @JsonProperty("shortRateCalculate")
+                private String shortRateCalculate;
+                @JsonProperty("premiumCarry")
+                private String premiumCarry;
+                @JsonProperty("upOneYearPlan")
+                private Boolean upOneYearPlan;
+                @JsonProperty("changeSelectedTargetTable")
+                private Boolean changeSelectedTargetTable;
+                @JsonProperty("immediateEffect")
+                private Boolean immediateEffect;
+                @JsonProperty("autoBusiness")
+                private Boolean autoBusiness;
+                @JsonProperty("motorcycleCompulsory")
+                private Boolean motorcycleCompulsory;
+                @JsonProperty("telSalesBusiness")
+                private Boolean telSalesBusiness;
+                @JsonProperty("compulsoryMoto")
+                private Boolean compulsoryMoto;
+                @JsonProperty("planCode504")
+                private Boolean planCode504;
+                @JsonProperty("riAmountMode")
+                private String riAmountMode;
+                @JsonProperty("axaFamily")
+                private Boolean axaFamily;
+                @JsonProperty("axaGolf")
+                private Boolean axaGolf;
+                @JsonProperty("useReverse")
+                private Boolean useReverse;
+                @JsonProperty("showEndoresMemoPaymentWay")
+                private Boolean showEndoresMemoPaymentWay;
+                @JsonProperty("reportEngine")
+                private String reportEngine;
+                @JsonProperty("tireRisk")
+                private Boolean tireRisk;
+                @JsonProperty("masterAdditionControl")
+                private Boolean masterAdditionControl;
+                @JsonProperty("axaLiability")
+                private Boolean axaLiability;
+                @JsonProperty("productVersion")
+                private Boolean productVersion;
+                @JsonProperty("nonCarRetail")
+                private Boolean nonCarRetail;
+                @JsonProperty("useXslfo")
+                private Boolean useXslfo;
+                @JsonProperty("applyUseXslfo")
+                private Boolean applyUseXslfo;
+                @JsonProperty("underwritePlanSeries")
+                private String underwritePlanSeries;
+                @JsonProperty("enonmotorPlan")
+                private Boolean enonmotorPlan;
+                @JsonProperty("planReApplyWay")
+                private String planReApplyWay;
+                @JsonProperty("reinsCededPlan")
+                private Boolean reinsCededPlan;
+                @JsonProperty("nonNeedCertNo")
+                private Boolean nonNeedCertNo;
+                @JsonProperty("groupTravel")
+                private Boolean groupTravel;
+                @JsonProperty("enonmotor")
+                private Boolean enonmotor;
+                @JsonProperty("groupHealth")
+                private Boolean groupHealth;
+                @JsonProperty("autoPlan")
+                private Boolean autoPlan;
+                @JsonProperty("businessInsure")
+                private Boolean businessInsure;
+                @JsonProperty("dutyAmount")
+                private Boolean dutyAmount;
+                @JsonProperty("compulsoryNotMoto")
+                private Boolean compulsoryNotMoto;
+                @JsonProperty("compulsoryInsure")
+                private Boolean compulsoryInsure;
+                @JsonProperty("virtualProduct")
+                private Boolean virtualProduct;
+                @JsonProperty("forSale")
+                private Boolean forSale;
+                @JsonProperty("vehiclePurchasePrice")
+                private Boolean vehiclePurchasePrice;
+                @JsonProperty("nonCarRetailPlanCode")
+                private Boolean nonCarRetailPlanCode;
+            }
+
+            @NoArgsConstructor
+            @Data
+            public static class ExeRuleRspDTO {
+                @JsonProperty("page")
+                private Integer page;
+                @JsonProperty("pageSize")
+                private Integer pageSize;
+                @JsonProperty("ocrAttachmentList")
+                private List<?> ocrAttachmentList;
+                @JsonProperty("allPassed")
+                private Boolean allPassed;
+                @JsonProperty("errorShortMessage")
+                private String errorShortMessage;
+            }
+
+            @NoArgsConstructor
+            @Data
+            public static class PolicyExtendDTO {
+                @JsonProperty("page")
+                private Integer page;
+                @JsonProperty("pageSize")
+                private Integer pageSize;
+                @JsonProperty("newProcessSwitch")
+                private String newProcessSwitch;
+            }
+
+            @NoArgsConstructor
+            @Data
+            public static class PremiumParameterDTO {
+                @JsonProperty("page")
+                private Integer page;
+                @JsonProperty("pageSize")
+                private Integer pageSize;
+                @JsonProperty("basicRiskScoreLevel")
+                private String basicRiskScoreLevel;
+                @JsonProperty("basicRiskScore")
+                private String basicRiskScore;
+                @JsonProperty("basicFlagValues")
+                private String basicFlagValues;
+                @JsonProperty("basicHighPriTranche")
+                private String basicHighPriTranche;
+                @JsonProperty("basicRiskScoreLevelValue")
+                private String basicRiskScoreLevelValue;
+                @JsonProperty("basicStatusQG")
+                private String basicStatusQG;
+                @JsonProperty("attendanceTimeValues1")
+                private String attendanceTimeValues1;
+                @JsonProperty("airportTimeValues1")
+                private String airportTimeValues1;
+                @JsonProperty("unfamilRoadfactorValues1")
+                private String unfamilRoadfactorValues1;
+                @JsonProperty("crossMileageRatioValues1")
+                private String crossMileageRatioValues1;
+                @JsonProperty("morningMileageRatioValues1")
+                private String morningMileageRatioValues1;
+                @JsonProperty("dailyMileageValues1")
+                private String dailyMileageValues1;
+                @JsonProperty("midwayMileageRatioValues1")
+                private String midwayMileageRatioValues1;
+                @JsonProperty("statusFlag")
+                private String statusFlag;
+                @JsonProperty("truckRating")
+                private String truckRating;
+                @JsonProperty("zjProvinceDriScore")
+                private String zjProvinceDriScore;
+                @JsonProperty("zjNationalDriScore")
+                private String zjNationalDriScore;
+                @JsonProperty("basicstring")
+                private String basicstring;
+            }
+
+            @NoArgsConstructor
+            @Data
+            public static class VehicleDTO {
+                @JsonProperty("page")
+                private Integer page;
+                @JsonProperty("pageSize")
+                private Integer pageSize;
+                @JsonProperty("targetType")
+                private String targetType;
+                @JsonProperty("targetId")
+                private String targetId;
+                @JsonProperty("vehicleVer")
+                private String vehicleVer;
+                @JsonProperty("beneficiaryList")
+                private List<?> beneficiaryList;
+                @JsonProperty("policyPricing")
+                private PolicyPricingDTO policyPricing;
+                @JsonProperty("linkId")
+                private String linkId;
+                @JsonProperty("vehicleLicenceCode")
+                private String vehicleLicenceCode;
+                @JsonProperty("vehicleFrameNo")
+                private String vehicleFrameNo;
+                @JsonProperty("engineNo")
+                private String engineNo;
+                @JsonProperty("firstRegisterDate")
+                private String firstRegisterDate;
+                @JsonProperty("firstRegisterDateStr")
+                private String firstRegisterDateStr;
+                @JsonProperty("priceType")
+                private String priceType;
+                @JsonProperty("purchasePrice")
+                private String purchasePrice;
+                @JsonProperty("importFlag")
+                private String importFlag;
+                @JsonProperty("vehicleType")
+                private String vehicleType;
+                @JsonProperty("vehicleStyle")
+                private String vehicleStyle;
+                @JsonProperty("autoModelCode")
+                private String autoModelCode;
+                @JsonProperty("vehicleBrand")
+                private String vehicleBrand;
+                @JsonProperty("vehicleSeats")
+                private Integer vehicleSeats;
+                @JsonProperty("fuelType")
+                private String fuelType;
+                @JsonProperty("autoModelChnName")
+                private String autoModelChnName;
+                @JsonProperty("licenceTypeCode")
+                private String licenceTypeCode;
+                @JsonProperty("ecdemicVehicleFlag")
+                private String ecdemicVehicleFlag;
+                @JsonProperty("exhaustCapability")
+                private Double exhaustCapability;
+                @JsonProperty("vehicleTonnages")
+                private Integer vehicleTonnages;
+                @JsonProperty("power")
+                private Integer power;
+                @JsonProperty("maxDesignSpeed")
+                private String maxDesignSpeed;
+                @JsonProperty("ownershipAttributeCode")
+                private String ownershipAttributeCode;
+                @JsonProperty("vehicleCertificateType")
+                private String vehicleCertificateType;
+                @JsonProperty("runCardCertificateDate")
+                private String runCardCertificateDate;
+                @JsonProperty("customerNegotiatePrice")
+                private Double customerNegotiatePrice;
+                @JsonProperty("originalCustomerNegotiatePrice")
+                private Double originalCustomerNegotiatePrice;
+                @JsonProperty("vehicleTax")
+                private VehicleTaxDTO vehicleTax;
+                @JsonProperty("departmentCode")
+                private String departmentCode;
+                @JsonProperty("vehicleStyleDesc")
+                private String vehicleStyleDesc;
+                @JsonProperty("modelCode")
+                private String modelCode;
+                @JsonProperty("weigth")
+                private Double weigth;
+                @JsonProperty("fleetNo")
+                private String fleetNo;
+                @JsonProperty("fleetRate")
+                private String fleetRate;
+                @JsonProperty("vehicleCertificateNo")
+                private String vehicleCertificateNo;
+                @JsonProperty("maker")
+                private String maker;
+                @JsonProperty("usageAttributeCode")
+                private String usageAttributeCode;
+                @JsonProperty("brandChnName")
+                private String brandChnName;
+                @JsonProperty("carName")
+                private String carName;
+                @JsonProperty("categoryCode")
+                private String categoryCode;
+                @JsonProperty("categoryName")
+                private String categoryName;
+                @JsonProperty("configType")
+                private String configType;
+                @JsonProperty("deptCode")
+                private String deptCode;
+                @JsonProperty("deptName")
+                private String deptName;
+                @JsonProperty("modelIdCode")
+                private String modelIdCode;
+                @JsonProperty("noticeType")
+                private String noticeType;
+                @JsonProperty("partInfo")
+                private String partInfo;
+                @JsonProperty("powerType")
+                private String powerType;
+                @JsonProperty("series")
+                private String series;
+                @JsonProperty("seriesCode")
+                private String seriesCode;
+                @JsonProperty("tradeCode")
+                private String tradeCode;
+                @JsonProperty("tradeName")
+                private String tradeName;
+                @JsonProperty("vehicleFgwCode")
+                private String vehicleFgwCode;
+                @JsonProperty("vehicleFgwName")
+                private String vehicleFgwName;
+                @JsonProperty("vehicleLossInsuredValue")
+                private Integer vehicleLossInsuredValue;
+                @JsonProperty("vehicleModelType")
+                private String vehicleModelType;
+                @JsonProperty("vehicleTypeName")
+                private String vehicleTypeName;
+                @JsonProperty("makeDate")
+                private String makeDate;
+                @JsonProperty("detailDesc")
+                private String detailDesc;
+                @JsonProperty("dbVehicleType")
+                private String dbVehicleType;
+                @JsonProperty("ineffectualDate")
+                private String ineffectualDate;
+                @JsonProperty("lastCheckDate")
+                private String lastCheckDate;
+                @JsonProperty("rejectDate")
+                private String rejectDate;
+                @JsonProperty("modelCodeAlien")
+                private String modelCodeAlien;
+                @JsonProperty("usageAttributeCodePM")
+                private String usageAttributeCodePM;
+                @JsonProperty("brand")
+                private String brand;
+                @JsonProperty("vehicleColor")
+                private String vehicleColor;
+                @JsonProperty("personnelName")
+                private String personnelName;
+                @JsonProperty("vehicleCategory")
+                private String vehicleCategory;
+                @JsonProperty("brandCode")
+                private String brandCode;
+                @JsonProperty("basicRateCode")
+                private String basicRateCode;
+                @JsonProperty("madeDate")
+                private String madeDate;
+                @JsonProperty("specialVehicleFlag")
+                private String specialVehicleFlag;
+                @JsonProperty("overseasVehicleFlag")
+                private String overseasVehicleFlag;
+                @JsonProperty("isMortgage")
+                private String isMortgage;
+                @JsonProperty("modelsListedYear")
+                private String modelsListedYear;
+                @JsonProperty("vehiclePurchasePrice")
+                private String vehiclePurchasePrice;
+                @JsonProperty("groupCode")
+                private String groupCode;
+                @JsonProperty("refitDesc")
+                private String refitDesc;
+                @JsonProperty("carNameAlien")
+                private String carNameAlien;
+                @JsonProperty("tradeNameAlien")
+                private String tradeNameAlien;
+                @JsonProperty("brandAlien")
+                private String brandAlien;
+                @JsonProperty("deptNameAlien")
+                private String deptNameAlien;
+                @JsonProperty("checkVehicleInfo")
+                private CheckVehicleInfoDTO checkVehicleInfo;
+                @JsonProperty("theftproofEquipmentCode")
+                private String theftproofEquipmentCode;
+                @JsonProperty("vehicleClass")
+                private String vehicleClass;
+                @JsonProperty("standardName")
+                private String standardName;
+                @JsonProperty("macauVehicleFlag")
+                private String macauVehicleFlag;
+                @JsonProperty("ymElecBatteryType")
+                private String ymElecBatteryType;
+                @JsonProperty("rbCode")
+                private String rbCode;
+                @JsonProperty("pureRange")
+                private String pureRange;
+                @JsonProperty("otherEnergyTypeDesc")
+                private String otherEnergyTypeDesc;
+                @JsonProperty("checkVehicleCodeSecret")
+                private String checkVehicleCodeSecret;
+                @JsonProperty("totalMass")
+                private Double totalMass;
+                @JsonProperty("local")
+                private Boolean local;
+                @JsonProperty("targetTotalActualPremium")
+                private Integer targetTotalActualPremium;
+
+                @NoArgsConstructor
+                @Data
+                public static class PolicyPricingDTO {
+                    @JsonProperty("page")
+                    private Integer page;
+                    @JsonProperty("pageSize")
+                    private Integer pageSize;
+                    @JsonProperty("vehiclePrices")
+                    private List<VehiclePricesDTO> vehiclePrices;
+                    @JsonProperty("autoRuleRatioOD")
+                    private Double autoRuleRatioOD;
+                    @JsonProperty("autoRuleRatioTP")
+                    private Double autoRuleRatioTP;
+                    @JsonProperty("autoRuleRatioTHEFT")
+                    private Double autoRuleRatioTHEFT;
+                    @JsonProperty("autoRuleRatioOTHER")
+                    private Double autoRuleRatioOTHER;
+                    @JsonProperty("autoFloatRatioOD")
+                    private Integer autoFloatRatioOD;
+                    @JsonProperty("autoFloatHandingCost")
+                    private Integer autoFloatHandingCost;
+                    @JsonProperty("scoreRunId")
+                    private String scoreRunId;
+                    @JsonProperty("vehicleTypeChiName")
+                    private String vehicleTypeChiName;
+                    @JsonProperty("modelrate")
+                    private String modelrate;
+                    @JsonProperty("claimAdjustRatio")
+                    private String claimAdjustRatio;
+                    @JsonProperty("peccancyAdjustRatio")
+                    private String peccancyAdjustRatio;
+                    @JsonProperty("isMortgage")
+                    private String isMortgage;
+                    @JsonProperty("modelDiscount")
+                    private Double modelDiscount;
+                    @JsonProperty("riskScore")
+                    private Integer riskScore;
+                    @JsonProperty("unifiedScore")
+                    private Integer unifiedScore;
+                    @JsonProperty("color")
+                    private String color;
+                    @JsonProperty("riskScoreTwenty")
+                    private Integer riskScoreTwenty;
+                    @JsonProperty("bizName")
+                    private String bizName;
+                    @JsonProperty("adviceDiscount")
+                    private Integer adviceDiscount;
+                    @JsonProperty("businessInOrOut")
+                    private String businessInOrOut;
+                    @JsonProperty("ruleRatioOD")
+                    private Double ruleRatioOD;
+                    @JsonProperty("ruleRatioTP")
+                    private Double ruleRatioTP;
+                    @JsonProperty("ruleRatioTHEFT")
+                    private Double ruleRatioTHEFT;
+                    @JsonProperty("ruleRatioOTHER")
+                    private Double ruleRatioOTHER;
+                    @JsonProperty("reinsureFlag")
+                    private String reinsureFlag;
+                    @JsonProperty("riskImpackListStr")
+                    private String riskImpackListStr;
+                    @JsonProperty("claimAdjustLevel")
+                    private String claimAdjustLevel;
+                    @JsonProperty("comprehensiveScore")
+                    private Integer comprehensiveScore;
+                    @JsonProperty("sumPeccancy")
+                    private String sumPeccancy;
+                    @JsonProperty("slightPeccancyCount")
+                    private String slightPeccancyCount;
+                    @JsonProperty("electronicCertInfo")
+                    private List<ElectronicCertInfoDTO> electronicCertInfo;
+                    @JsonProperty("newColor")
+                    private String newColor;
+
+                    @NoArgsConstructor
+                    @Data
+                    public static class VehiclePricesDTO {
+                        @JsonProperty("page")
+                        private Integer page;
+                        @JsonProperty("pageSize")
+                        private Integer pageSize;
+                        @JsonProperty("brandChnName")
+                        private String brandChnName;
+                        @JsonProperty("purchasePrice")
+                        private String purchasePrice;
+                        @JsonProperty("vehSeries")
+                        private String vehSeries;
+                        @JsonProperty("totalVehicleWeight")
+                        private String totalVehicleWeight;
+                        @JsonProperty("limitVehicle")
+                        private Integer limitVehicle;
+                    }
+
+                    @NoArgsConstructor
+                    @Data
+                    public static class ElectronicCertInfoDTO {
+                        @JsonProperty("name")
+                        private String name;
+                    }
+                }
+
+                @NoArgsConstructor
+                @Data
+                public static class VehicleTaxDTO {
+                    @JsonProperty("page")
+                    private Integer page;
+                    @JsonProperty("pageSize")
+                    private Integer pageSize;
+                    @JsonProperty("vehicleTaxAmount")
+                    private Double vehicleTaxAmount;
+                    @JsonProperty("vehicleTaxAmountThis")
+                    private Double vehicleTaxAmountThis;
+                    @JsonProperty("vehicleTaxAmountLast")
+                    private Double vehicleTaxAmountLast;
+                    @JsonProperty("lateFeeAmount")
+                    private Double lateFeeAmount;
+                    @JsonProperty("startDate")
+                    private String startDate;
+                    @JsonProperty("endDate")
+                    private String endDate;
+                    @JsonProperty("lateDay")
+                    private Integer lateDay;
+                    @JsonProperty("personCert")
+                    private String personCert;
+                    @JsonProperty("certDepartmentName")
+                    private String certDepartmentName;
+                    @JsonProperty("vehicleState")
+                    private String vehicleState;
+                    @JsonProperty("freeNo")
+                    private String freeNo;
+                    @JsonProperty("yearTax")
+                    private Double yearTax;
+                    @JsonProperty("vehicleTaxAmountThisCheck")
+                    private Double vehicleTaxAmountThisCheck;
+                    @JsonProperty("steerCardVehicleType")
+                    private String steerCardVehicleType;
+                    @JsonProperty("payTaxWay")
+                    private String payTaxWay;
+                    @JsonProperty("localOrEcdemic")
+                    private String localOrEcdemic;
+                    @JsonProperty("urgentState")
+                    private Boolean urgentState;
+                    @JsonProperty("endorseChange")
+                    private Boolean endorseChange;
+                    @JsonProperty("sumTaxDefault")
+                    private Double sumTaxDefault;
+                    @JsonProperty("annualTaxDue")
+                    private Double annualTaxDue;
+                    @JsonProperty("deductionDueCode")
+                    private String deductionDueCode;
+                    @JsonProperty("deductionDueType")
+                    private String deductionDueType;
+                    @JsonProperty("taxAmountFlag")
+                    private String taxAmountFlag;
+                    @JsonProperty("calcTaxFlag")
+                    private String calcTaxFlag;
+                    @JsonProperty("calcTaxFlagName")
+                    private String calcTaxFlagName;
+                    @JsonProperty("sumAnnualTaxDue")
+                    private Double sumAnnualTaxDue;
+                    @JsonProperty("ownerName")
+                    private String ownerName;
+                    @JsonProperty("personTaxCode")
+                    private String personTaxCode;
+                    @JsonProperty("taxDocumentDateString")
+                    private String taxDocumentDateString;
+                    @JsonProperty("startDateString")
+                    private String startDateString;
+                    @JsonProperty("endDateString")
+                    private String endDateString;
+                    @JsonProperty("recordVehicleTax")
+                    private Boolean recordVehicleTax;
+                    @JsonProperty("payTaxe")
+                    private Boolean payTaxe;
+                    @JsonProperty("lowercaseVehicleTaxAmount")
+                    private Double lowercaseVehicleTaxAmount;
+                }
+
+                @NoArgsConstructor
+                @Data
+                public static class CheckVehicleInfoDTO {
+                    @JsonProperty("page")
+                    private Integer page;
+                    @JsonProperty("pageSize")
+                    private Integer pageSize;
+                    @JsonProperty("checkVehicleSituation")
+                    private String checkVehicleSituation;
+                    @JsonProperty("vehicleChecker")
+                    private String vehicleChecker;
+                    @JsonProperty("checkRecord")
+                    private String checkRecord;
+                    @JsonProperty("checkVehicleFlag")
+                    private String checkVehicleFlag;
+                    @JsonProperty("uploadCheckVehicleInfo")
+                    private String uploadCheckVehicleInfo;
+                }
+            }
+
+            @NoArgsConstructor
+            @Data
+            public static class TargetsDTO {
+                @JsonProperty("page")
+                private Integer page;
+                @JsonProperty("pageSize")
+                private Integer pageSize;
+                @JsonProperty("targetType")
+                private String targetType;
+                @JsonProperty("targetId")
+                private String targetId;
+                @JsonProperty("vehicleVer")
+                private String vehicleVer;
+                @JsonProperty("beneficiaryList")
+                private List<?> beneficiaryList;
+                @JsonProperty("policyPricing")
+                private PolicyPricingDTO policyPricing;
+                @JsonProperty("linkId")
+                private String linkId;
+                @JsonProperty("vehicleLicenceCode")
+                private String vehicleLicenceCode;
+                @JsonProperty("vehicleFrameNo")
+                private String vehicleFrameNo;
+                @JsonProperty("engineNo")
+                private String engineNo;
+                @JsonProperty("firstRegisterDate")
+                private String firstRegisterDate;
+                @JsonProperty("firstRegisterDateStr")
+                private String firstRegisterDateStr;
+                @JsonProperty("priceType")
+                private String priceType;
+                @JsonProperty("purchasePrice")
+                private String purchasePrice;
+                @JsonProperty("importFlag")
+                private String importFlag;
+                @JsonProperty("vehicleType")
+                private String vehicleType;
+                @JsonProperty("vehicleStyle")
+                private String vehicleStyle;
+                @JsonProperty("autoModelCode")
+                private String autoModelCode;
+                @JsonProperty("vehicleBrand")
+                private String vehicleBrand;
+                @JsonProperty("vehicleSeats")
+                private Integer vehicleSeats;
+                @JsonProperty("fuelType")
+                private String fuelType;
+                @JsonProperty("autoModelChnName")
+                private String autoModelChnName;
+                @JsonProperty("licenceTypeCode")
+                private String licenceTypeCode;
+                @JsonProperty("ecdemicVehicleFlag")
+                private String ecdemicVehicleFlag;
+                @JsonProperty("exhaustCapability")
+                private Double exhaustCapability;
+                @JsonProperty("vehicleTonnages")
+                private Integer vehicleTonnages;
+                @JsonProperty("power")
+                private Integer power;
+                @JsonProperty("maxDesignSpeed")
+                private String maxDesignSpeed;
+                @JsonProperty("ownershipAttributeCode")
+                private String ownershipAttributeCode;
+                @JsonProperty("vehicleCertificateType")
+                private String vehicleCertificateType;
+                @JsonProperty("runCardCertificateDate")
+                private String runCardCertificateDate;
+                @JsonProperty("customerNegotiatePrice")
+                private Double customerNegotiatePrice;
+                @JsonProperty("originalCustomerNegotiatePrice")
+                private Double originalCustomerNegotiatePrice;
+                @JsonProperty("vehicleTax")
+                private VehicleTaxDTO vehicleTax;
+                @JsonProperty("departmentCode")
+                private String departmentCode;
+                @JsonProperty("vehicleStyleDesc")
+                private String vehicleStyleDesc;
+                @JsonProperty("modelCode")
+                private String modelCode;
+                @JsonProperty("weigth")
+                private Double weigth;
+                @JsonProperty("fleetNo")
+                private String fleetNo;
+                @JsonProperty("fleetRate")
+                private String fleetRate;
+                @JsonProperty("vehicleCertificateNo")
+                private String vehicleCertificateNo;
+                @JsonProperty("maker")
+                private String maker;
+                @JsonProperty("usageAttributeCode")
+                private String usageAttributeCode;
+                @JsonProperty("brandChnName")
+                private String brandChnName;
+                @JsonProperty("carName")
+                private String carName;
+                @JsonProperty("categoryCode")
+                private String categoryCode;
+                @JsonProperty("categoryName")
+                private String categoryName;
+                @JsonProperty("configType")
+                private String configType;
+                @JsonProperty("deptCode")
+                private String deptCode;
+                @JsonProperty("deptName")
+                private String deptName;
+                @JsonProperty("modelIdCode")
+                private String modelIdCode;
+                @JsonProperty("noticeType")
+                private String noticeType;
+                @JsonProperty("partInfo")
+                private String partInfo;
+                @JsonProperty("powerType")
+                private String powerType;
+                @JsonProperty("series")
+                private String series;
+                @JsonProperty("seriesCode")
+                private String seriesCode;
+                @JsonProperty("tradeCode")
+                private String tradeCode;
+                @JsonProperty("tradeName")
+                private String tradeName;
+                @JsonProperty("vehicleFgwCode")
+                private String vehicleFgwCode;
+                @JsonProperty("vehicleFgwName")
+                private String vehicleFgwName;
+                @JsonProperty("vehicleLossInsuredValue")
+                private Integer vehicleLossInsuredValue;
+                @JsonProperty("vehicleModelType")
+                private String vehicleModelType;
+                @JsonProperty("vehicleTypeName")
+                private String vehicleTypeName;
+                @JsonProperty("makeDate")
+                private String makeDate;
+                @JsonProperty("detailDesc")
+                private String detailDesc;
+                @JsonProperty("dbVehicleType")
+                private String dbVehicleType;
+                @JsonProperty("ineffectualDate")
+                private String ineffectualDate;
+                @JsonProperty("lastCheckDate")
+                private String lastCheckDate;
+                @JsonProperty("rejectDate")
+                private String rejectDate;
+                @JsonProperty("modelCodeAlien")
+                private String modelCodeAlien;
+                @JsonProperty("usageAttributeCodePM")
+                private String usageAttributeCodePM;
+                @JsonProperty("brand")
+                private String brand;
+                @JsonProperty("vehicleColor")
+                private String vehicleColor;
+                @JsonProperty("personnelName")
+                private String personnelName;
+                @JsonProperty("vehicleCategory")
+                private String vehicleCategory;
+                @JsonProperty("brandCode")
+                private String brandCode;
+                @JsonProperty("basicRateCode")
+                private String basicRateCode;
+                @JsonProperty("madeDate")
+                private String madeDate;
+                @JsonProperty("specialVehicleFlag")
+                private String specialVehicleFlag;
+                @JsonProperty("overseasVehicleFlag")
+                private String overseasVehicleFlag;
+                @JsonProperty("isMortgage")
+                private String isMortgage;
+                @JsonProperty("modelsListedYear")
+                private String modelsListedYear;
+                @JsonProperty("vehiclePurchasePrice")
+                private String vehiclePurchasePrice;
+                @JsonProperty("groupCode")
+                private String groupCode;
+                @JsonProperty("refitDesc")
+                private String refitDesc;
+                @JsonProperty("carNameAlien")
+                private String carNameAlien;
+                @JsonProperty("tradeNameAlien")
+                private String tradeNameAlien;
+                @JsonProperty("brandAlien")
+                private String brandAlien;
+                @JsonProperty("deptNameAlien")
+                private String deptNameAlien;
+                @JsonProperty("checkVehicleInfo")
+                private CheckVehicleInfoDTO checkVehicleInfo;
+                @JsonProperty("theftproofEquipmentCode")
+                private String theftproofEquipmentCode;
+                @JsonProperty("vehicleClass")
+                private String vehicleClass;
+                @JsonProperty("standardName")
+                private String standardName;
+                @JsonProperty("macauVehicleFlag")
+                private String macauVehicleFlag;
+                @JsonProperty("ymElecBatteryType")
+                private String ymElecBatteryType;
+                @JsonProperty("rbCode")
+                private String rbCode;
+                @JsonProperty("pureRange")
+                private String pureRange;
+                @JsonProperty("otherEnergyTypeDesc")
+                private String otherEnergyTypeDesc;
+                @JsonProperty("checkVehicleCodeSecret")
+                private String checkVehicleCodeSecret;
+                @JsonProperty("totalMass")
+                private Double totalMass;
+                @JsonProperty("local")
+                private Boolean local;
+                @JsonProperty("targetTotalActualPremium")
+                private Integer targetTotalActualPremium;
+
+                @NoArgsConstructor
+                @Data
+                public static class PolicyPricingDTO {
+                    @JsonProperty("page")
+                    private Integer page;
+                    @JsonProperty("pageSize")
+                    private Integer pageSize;
+                    @JsonProperty("vehiclePrices")
+                    private List<VehiclePricesDTO> vehiclePrices;
+                    @JsonProperty("autoRuleRatioOD")
+                    private Double autoRuleRatioOD;
+                    @JsonProperty("autoRuleRatioTP")
+                    private Double autoRuleRatioTP;
+                    @JsonProperty("autoRuleRatioTHEFT")
+                    private Double autoRuleRatioTHEFT;
+                    @JsonProperty("autoRuleRatioOTHER")
+                    private Double autoRuleRatioOTHER;
+                    @JsonProperty("autoFloatRatioOD")
+                    private Integer autoFloatRatioOD;
+                    @JsonProperty("autoFloatHandingCost")
+                    private Integer autoFloatHandingCost;
+                    @JsonProperty("scoreRunId")
+                    private String scoreRunId;
+                    @JsonProperty("vehicleTypeChiName")
+                    private String vehicleTypeChiName;
+                    @JsonProperty("modelrate")
+                    private String modelrate;
+                    @JsonProperty("claimAdjustRatio")
+                    private String claimAdjustRatio;
+                    @JsonProperty("peccancyAdjustRatio")
+                    private String peccancyAdjustRatio;
+                    @JsonProperty("isMortgage")
+                    private String isMortgage;
+                    @JsonProperty("modelDiscount")
+                    private Double modelDiscount;
+                    @JsonProperty("riskScore")
+                    private Integer riskScore;
+                    @JsonProperty("unifiedScore")
+                    private Integer unifiedScore;
+                    @JsonProperty("color")
+                    private String color;
+                    @JsonProperty("riskScoreTwenty")
+                    private Integer riskScoreTwenty;
+                    @JsonProperty("bizName")
+                    private String bizName;
+                    @JsonProperty("adviceDiscount")
+                    private Integer adviceDiscount;
+                    @JsonProperty("businessInOrOut")
+                    private String businessInOrOut;
+                    @JsonProperty("ruleRatioOD")
+                    private Double ruleRatioOD;
+                    @JsonProperty("ruleRatioTP")
+                    private Double ruleRatioTP;
+                    @JsonProperty("ruleRatioTHEFT")
+                    private Double ruleRatioTHEFT;
+                    @JsonProperty("ruleRatioOTHER")
+                    private Double ruleRatioOTHER;
+                    @JsonProperty("reinsureFlag")
+                    private String reinsureFlag;
+                    @JsonProperty("riskImpackListStr")
+                    private String riskImpackListStr;
+                    @JsonProperty("claimAdjustLevel")
+                    private String claimAdjustLevel;
+                    @JsonProperty("comprehensiveScore")
+                    private Integer comprehensiveScore;
+                    @JsonProperty("sumPeccancy")
+                    private String sumPeccancy;
+                    @JsonProperty("slightPeccancyCount")
+                    private String slightPeccancyCount;
+                    @JsonProperty("electronicCertInfo")
+                    private List<ElectronicCertInfoDTO> electronicCertInfo;
+                    @JsonProperty("newColor")
+                    private String newColor;
+
+                    @NoArgsConstructor
+                    @Data
+                    public static class VehiclePricesDTO {
+                        @JsonProperty("page")
+                        private Integer page;
+                        @JsonProperty("pageSize")
+                        private Integer pageSize;
+                        @JsonProperty("brandChnName")
+                        private String brandChnName;
+                        @JsonProperty("purchasePrice")
+                        private String purchasePrice;
+                        @JsonProperty("vehSeries")
+                        private String vehSeries;
+                        @JsonProperty("totalVehicleWeight")
+                        private String totalVehicleWeight;
+                        @JsonProperty("limitVehicle")
+                        private Integer limitVehicle;
+                    }
+
+                    @NoArgsConstructor
+                    @Data
+                    public static class ElectronicCertInfoDTO {
+                        @JsonProperty("name")
+                        private String name;
+                    }
+                }
+
+                @NoArgsConstructor
+                @Data
+                public static class VehicleTaxDTO {
+                    @JsonProperty("page")
+                    private Integer page;
+                    @JsonProperty("pageSize")
+                    private Integer pageSize;
+                    @JsonProperty("vehicleTaxAmount")
+                    private Double vehicleTaxAmount;
+                    @JsonProperty("vehicleTaxAmountThis")
+                    private Double vehicleTaxAmountThis;
+                    @JsonProperty("vehicleTaxAmountLast")
+                    private Double vehicleTaxAmountLast;
+                    @JsonProperty("lateFeeAmount")
+                    private Double lateFeeAmount;
+                    @JsonProperty("startDate")
+                    private String startDate;
+                    @JsonProperty("endDate")
+                    private String endDate;
+                    @JsonProperty("lateDay")
+                    private Integer lateDay;
+                    @JsonProperty("personCert")
+                    private String personCert;
+                    @JsonProperty("certDepartmentName")
+                    private String certDepartmentName;
+                    @JsonProperty("vehicleState")
+                    private String vehicleState;
+                    @JsonProperty("freeNo")
+                    private String freeNo;
+                    @JsonProperty("yearTax")
+                    private Double yearTax;
+                    @JsonProperty("vehicleTaxAmountThisCheck")
+                    private Double vehicleTaxAmountThisCheck;
+                    @JsonProperty("steerCardVehicleType")
+                    private String steerCardVehicleType;
+                    @JsonProperty("payTaxWay")
+                    private String payTaxWay;
+                    @JsonProperty("localOrEcdemic")
+                    private String localOrEcdemic;
+                    @JsonProperty("urgentState")
+                    private Boolean urgentState;
+                    @JsonProperty("endorseChange")
+                    private Boolean endorseChange;
+                    @JsonProperty("sumTaxDefault")
+                    private Double sumTaxDefault;
+                    @JsonProperty("annualTaxDue")
+                    private Double annualTaxDue;
+                    @JsonProperty("deductionDueCode")
+                    private String deductionDueCode;
+                    @JsonProperty("deductionDueType")
+                    private String deductionDueType;
+                    @JsonProperty("taxAmountFlag")
+                    private String taxAmountFlag;
+                    @JsonProperty("calcTaxFlag")
+                    private String calcTaxFlag;
+                    @JsonProperty("calcTaxFlagName")
+                    private String calcTaxFlagName;
+                    @JsonProperty("sumAnnualTaxDue")
+                    private Double sumAnnualTaxDue;
+                    @JsonProperty("ownerName")
+                    private String ownerName;
+                    @JsonProperty("personTaxCode")
+                    private String personTaxCode;
+                    @JsonProperty("taxDocumentDateString")
+                    private String taxDocumentDateString;
+                    @JsonProperty("startDateString")
+                    private String startDateString;
+                    @JsonProperty("endDateString")
+                    private String endDateString;
+                    @JsonProperty("recordVehicleTax")
+                    private Boolean recordVehicleTax;
+                    @JsonProperty("payTaxe")
+                    private Boolean payTaxe;
+                    @JsonProperty("lowercaseVehicleTaxAmount")
+                    private Double lowercaseVehicleTaxAmount;
+                }
+
+                @NoArgsConstructor
+                @Data
+                public static class CheckVehicleInfoDTO {
+                    @JsonProperty("page")
+                    private Integer page;
+                    @JsonProperty("pageSize")
+                    private Integer pageSize;
+                    @JsonProperty("checkVehicleSituation")
+                    private String checkVehicleSituation;
+                    @JsonProperty("vehicleChecker")
+                    private String vehicleChecker;
+                    @JsonProperty("checkRecord")
+                    private String checkRecord;
+                    @JsonProperty("checkVehicleFlag")
+                    private String checkVehicleFlag;
+                    @JsonProperty("uploadCheckVehicleInfo")
+                    private String uploadCheckVehicleInfo;
+                }
+            }
+
+            @NoArgsConstructor
+            @Data
+            public static class PolicyCoveragesDTO {
+                @JsonProperty("page")
+                private Integer page;
+                @JsonProperty("pageSize")
+                private Integer pageSize;
+                @JsonProperty("riskPremum")
+                private String riskPremum;
+                @JsonProperty("dutyCode")
+                private String dutyCode;
+                @JsonProperty("dutyChineseName")
+                private String dutyChineseName;
+                @JsonProperty("seats")
+                private Integer seats;
+                @JsonProperty("premiumRate")
+                private Integer premiumRate;
+                @JsonProperty("deductionAmount")
+                private Integer deductionAmount;
+                @JsonProperty("deductible")
+                private Integer deductible;
+                @JsonProperty("medicalAmount")
+                private Integer medicalAmount;
+                @JsonProperty("dieAmount")
+                private Integer dieAmount;
+                @JsonProperty("propertyAmount")
+                private Integer propertyAmount;
+                @JsonProperty("noFaultMedicalAmount")
+                private Integer noFaultMedicalAmount;
+                @JsonProperty("noFaultDieAmount")
+                private Integer noFaultDieAmount;
+                @JsonProperty("noFaultPropertyAmount")
+                private Integer noFaultPropertyAmount;
+                @JsonProperty("allAmount")
+                private Integer allAmount;
+                @JsonProperty("insuredAmount")
+                private Integer insuredAmount;
+                @JsonProperty("totalStandardPremium")
+                private Double totalStandardPremium;
+                @JsonProperty("totalAgreePremium")
+                private Double totalAgreePremium;
+                @JsonProperty("totalActualPremium")
+                private Double totalActualPremium;
+                @JsonProperty("totalNetPremium")
+                private Double totalNetPremium;
+                @JsonProperty("addedValueTax")
+                private Double addedValueTax;
+                @JsonProperty("equipmentInsureAmount")
+                private Integer equipmentInsureAmount;
+                @JsonProperty("newFlag")
+                private Boolean newFlag;
+                @JsonProperty("modifyFlag")
+                private Boolean modifyFlag;
+                @JsonProperty("calculateEndorsePremium")
+                private Integer calculateEndorsePremium;
+                @JsonProperty("checkTotalNetPremium")
+                private Integer checkTotalNetPremium;
+                @JsonProperty("checkAddedValueTax")
+                private Integer checkAddedValueTax;
+                @JsonProperty("checked")
+                private Boolean checked;
+                @JsonProperty("deductionRate")
+                private Integer deductionRate;
+                @JsonProperty("serviceNum")
+                private String serviceNum;
+                @JsonProperty("mileage")
+                private String mileage;
+                @JsonProperty("setMeal")
+                private String setMeal;
+                @JsonProperty("isTelpeson")
+                private String isTelpeson;
+                @JsonProperty("telPhone")
+                private String telPhone;
+                @JsonProperty("refundFlag")
+                private String refundFlag;
+                @JsonProperty("coverageNum")
+                private Integer coverageNum;
+                @JsonProperty("priority")
+                private String priority;
+                @JsonProperty("ariExpense")
+                private Integer ariExpense;
+            }
+
+            @NoArgsConstructor
+            @Data
+            public static class PolicyRatiosDTO {
+                @JsonProperty("page")
+                private Integer page;
+                @JsonProperty("pageSize")
+                private Integer pageSize;
+                @JsonProperty("linkId")
+                private String linkId;
+                @JsonProperty("dutyCode")
+                private String dutyCode;
+                @JsonProperty("factorCode")
+                private String factorCode;
+                @JsonProperty("factorValue")
+                private String factorValue;
+                @JsonProperty("ratioOd")
+                private Double ratioOd;
+                @JsonProperty("ratioTp")
+                private Double ratioTp;
+                @JsonProperty("ratioTheft")
+                private Double ratioTheft;
+                @JsonProperty("ratioOther")
+                private Double ratioOther;
+                @JsonProperty("ratiototal")
+                private Double ratiototal;
+                @JsonProperty("viewFlag")
+                private Boolean viewFlag;
+                @JsonProperty("ratioMap")
+                private RatioMapDTO ratioMap;
+                @JsonProperty("labelName")
+                private String labelName;
+                @JsonProperty("averageRatio")
+                private Double averageRatio;
+
+                @NoArgsConstructor
+                @Data
+                public static class RatioMapDTO {
+                }
+            }
+        }
+
+        @NoArgsConstructor
+        @Data
+        public static class HighScoreListDTO {
+            @JsonProperty("varName")
+            private String varName;
+            @JsonProperty("scoreRisk")
+            private String scoreRisk;
+            @JsonProperty("riskImpact")
+            private String riskImpact;
+            @JsonProperty("order")
+            private Integer order;
+        }
+
+        @NoArgsConstructor
+        @Data
+        public static class FloorScoreListDTO {
+            @JsonProperty("varName")
+            private String varName;
+            @JsonProperty("scoreRisk")
+            private String scoreRisk;
+            @JsonProperty("riskImpact")
+            private String riskImpact;
+            @JsonProperty("order")
+            private Integer order;
+        }
+
+        @NoArgsConstructor
+        @Data
+        public static class PolicyRatioSumsDTO {
+            @JsonProperty("page")
+            private Integer page;
+            @JsonProperty("pageSize")
+            private Integer pageSize;
+            @JsonProperty("dutyCode")
+            private String dutyCode;
+            @JsonProperty("factorValue")
+            private String factorValue;
+            @JsonProperty("ratioOd")
+            private Double ratioOd;
+            @JsonProperty("ratioTp")
+            private Double ratioTp;
+            @JsonProperty("ratioTheft")
+            private Double ratioTheft;
+            @JsonProperty("ratioOther")
+            private Double ratioOther;
+            @JsonProperty("ratiototal")
+            private Double ratiototal;
+            @JsonProperty("viewFlag")
+            private Boolean viewFlag;
+            @JsonProperty("ratioMap")
+            private RatioMapDTO ratioMap;
+            @JsonProperty("labelName")
+            private String labelName;
+            @JsonProperty("averageRatio")
+            private Double averageRatio;
+
+            @NoArgsConstructor
+            @Data
+            public static class RatioMapDTO {
+            }
+        }
+    }
+}

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

@@ -0,0 +1,66 @@
+package com.jzg.ansheng.crawler.entity.response;
+
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.util.List;
+
+@NoArgsConstructor
+@Data
+public class AnShengCrawlerFileUploadResponse {
+
+    @JsonProperty("code")
+    private Integer code;
+
+    @JsonProperty("simpleMessage")
+    private String simpleMessage;
+
+    @JsonProperty("message")
+    private String message;
+
+    @JsonProperty("data")
+    private List<DataDTO> data;
+
+    @NoArgsConstructor
+    @Data
+    public static class DataDTO {
+
+        @JsonProperty("createdBy")
+        private String createdBy;
+
+        @JsonProperty("createdDate")
+        private String createdDate;
+
+        @JsonProperty("updatedBy")
+        private String updatedBy;
+
+        @JsonProperty("page")
+        private Integer page;
+
+        @JsonProperty("pageSize")
+        private Integer pageSize;
+
+        @JsonProperty("attachmentType")
+        private String attachmentType;
+
+        @JsonProperty("attachmentName")
+        private String attachmentName;
+
+        @JsonProperty("uploadFileNo")
+        private String uploadFileNo;
+
+        @JsonProperty("attachmentPlanCode")
+        private String attachmentPlanCode;
+
+        @JsonProperty("uploadFileType")
+        private String uploadFileType;
+
+        @JsonProperty("uploadFileTypeName")
+        private String uploadFileTypeName;
+
+        @JsonProperty("createdDateString")
+        private String createdDateString;
+    }
+}

+ 608 - 0
tenant/insurance/quotation-ansheng/src/main/java/com/jzg/ansheng/crawler/entity/response/AnShengCrawlerGetUserDetailResponse.java

@@ -0,0 +1,608 @@
+package com.jzg.ansheng.crawler.entity.response;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.util.List;
+
+/**
+ * @version
+ * @description: 安盛天平 获取归属信息
+ * @author: wenks
+ * @date: 2025/4/7 10:10
+ **/
+@NoArgsConstructor
+@Data
+public class AnShengCrawlerGetUserDetailResponse {
+
+    @JsonProperty("code")
+    private Integer code;
+
+    @JsonProperty("simpleMessage")
+    private String simpleMessage;
+
+    @JsonProperty("message")
+    private String message;
+
+    @JsonProperty("data")
+    private DataDTO data;
+
+    @NoArgsConstructor
+    @Data
+    public static class DataDTO {
+
+        @JsonProperty("page")
+        private Integer page;
+
+        @JsonProperty("pageSize")
+        private Integer pageSize;
+
+        @JsonProperty("userName")
+        private String userName;
+
+        @JsonProperty("menuList")
+        private List<?> menuList;
+
+        @JsonProperty("failureDate")
+        private String failureDate;
+
+        @JsonProperty("userIdentity")
+        private String userIdentity;
+
+        @JsonProperty("virtualOperationMap")
+        private VirtualOperationMapDTO virtualOperationMap;
+
+        @JsonProperty("userDetail")
+        private UserDetailDTO userDetail;
+
+        @JsonProperty("userPlanDepartList")
+        private List<UserPlanDepartListDTO> userPlanDepartList;
+
+        @JsonProperty("paymentList")
+        private List<PaymentListDTO> paymentList;
+
+        @JsonProperty("agentDefine")
+        private AgentDefineDTO agentDefine;
+
+        @JsonProperty("principalid")
+        private String principalid;
+
+        @JsonProperty("departmentCode")
+        private String departmentCode;
+
+        @NoArgsConstructor
+        @Data
+        public static class VirtualOperationMapDTO {
+
+            @JsonProperty("vp-tpaic-auto-srearch_mode_delete_cent")
+            private VptpaicautosrearchModeDeleteCentDTO vptpaicautosrearchModeDeleteCent;
+
+            @JsonProperty("vp-portal-inquire-delete")
+            private VpportalinquiredeleteDTO vpportalinquiredelete;
+
+            @JsonProperty("vp-tpaic-portalapi-endorseReason")
+            private VptpaicportalapiendorseReasonDTO vptpaicportalapiendorseReason;
+
+            @JsonProperty("vp-tpaic-auto-payment_mode_recieve_zfb")
+            private VptpaicautopaymentModeRecieveZfbDTO vptpaicautopaymentModeRecieveZfb;
+
+            @JsonProperty("vp-tpaic-auto-queryGeneral-isShowScore")
+            private VptpaicautoqueryGeneralisShowScoreDTO vptpaicautoqueryGeneralisShowScore;
+
+            @JsonProperty("vp-tpaic-auto-show-score-color")
+            private VptpaicautoshowscorecolorDTO vptpaicautoshowscorecolor;
+
+            @JsonProperty("vp-tpaic-portalapi-reg-endorseReason")
+            private VptpaicportalapiregendorseReasonDTO vptpaicportalapiregendorseReason;
+
+            @JsonProperty("vp-tpaic-auto-payment_mode_recieve_wx")
+            private VptpaicautopaymentModeRecieveWxDTO vptpaicautopaymentModeRecieveWx;
+
+            @JsonProperty("vp-tpaic-auto-general-query-process-pos")
+            private VptpaicautogeneralqueryprocessposDTO vptpaicautogeneralqueryprocesspos;
+
+            @JsonProperty("vp-tpaic-auto-normal-channel")
+            private VptpaicautonormalchannelDTO vptpaicautonormalchannel;
+
+            @JsonProperty("vp-tpaic-auto-payment_mode_cheque")
+            private VptpaicautopaymentModeChequeDTO vptpaicautopaymentModeCheque;
+
+            @NoArgsConstructor
+            @Data
+            public static class VptpaicautosrearchModeDeleteCentDTO {
+
+                @JsonProperty("id")
+                private Integer id;
+
+                @JsonProperty("name")
+                private String name;
+
+                @JsonProperty("describe")
+                private String describe;
+
+                @JsonProperty("methodType")
+                private String methodType;
+
+                @JsonProperty("resourceType")
+                private String resourceType;
+
+                @JsonProperty("code")
+                private String code;
+
+                @JsonProperty("displayNo")
+                private Integer displayNo;
+
+                @JsonProperty("sysName")
+                private String sysName;
+            }
+
+            @NoArgsConstructor
+            @Data
+            public static class VpportalinquiredeleteDTO {
+
+                @JsonProperty("id")
+                private Integer id;
+
+                @JsonProperty("name")
+                private String name;
+
+                @JsonProperty("describe")
+                private String describe;
+
+                @JsonProperty("methodType")
+                private String methodType;
+
+                @JsonProperty("resourceType")
+                private String resourceType;
+
+                @JsonProperty("code")
+                private String code;
+
+                @JsonProperty("displayNo")
+                private Integer displayNo;
+
+                @JsonProperty("sysName")
+                private String sysName;
+            }
+
+            @NoArgsConstructor
+            @Data
+            public static class VptpaicportalapiendorseReasonDTO {
+
+                @JsonProperty("id")
+                private Integer id;
+
+                @JsonProperty("name")
+                private String name;
+
+                @JsonProperty("describe")
+                private String describe;
+
+                @JsonProperty("methodType")
+                private String methodType;
+
+                @JsonProperty("resourceType")
+                private String resourceType;
+
+                @JsonProperty("code")
+                private String code;
+
+                @JsonProperty("displayNo")
+                private Integer displayNo;
+
+                @JsonProperty("sysName")
+                private String sysName;
+            }
+
+            @NoArgsConstructor
+            @Data
+            public static class VptpaicautopaymentModeRecieveZfbDTO {
+
+                @JsonProperty("id")
+                private Integer id;
+
+                @JsonProperty("name")
+                private String name;
+
+                @JsonProperty("describe")
+                private String describe;
+
+                @JsonProperty("methodType")
+                private String methodType;
+
+                @JsonProperty("resourceType")
+                private String resourceType;
+
+                @JsonProperty("code")
+                private String code;
+
+                @JsonProperty("displayNo")
+                private Integer displayNo;
+
+                @JsonProperty("sysName")
+                private String sysName;
+            }
+
+            @NoArgsConstructor
+            @Data
+            public static class VptpaicautoqueryGeneralisShowScoreDTO {
+
+                @JsonProperty("id")
+                private Integer id;
+
+                @JsonProperty("name")
+                private String name;
+
+                @JsonProperty("describe")
+                private String describe;
+
+                @JsonProperty("methodType")
+                private String methodType;
+
+                @JsonProperty("resourceType")
+                private String resourceType;
+
+                @JsonProperty("code")
+                private String code;
+
+                @JsonProperty("displayNo")
+                private Integer displayNo;
+
+                @JsonProperty("sysName")
+                private String sysName;
+            }
+
+            @NoArgsConstructor
+            @Data
+            public static class VptpaicautoshowscorecolorDTO {
+
+                @JsonProperty("id")
+                private Integer id;
+
+                @JsonProperty("name")
+                private String name;
+
+                @JsonProperty("describe")
+                private String describe;
+
+                @JsonProperty("methodType")
+                private String methodType;
+
+                @JsonProperty("resourceType")
+                private String resourceType;
+
+                @JsonProperty("code")
+                private String code;
+
+                @JsonProperty("displayNo")
+                private Integer displayNo;
+
+                @JsonProperty("sysName")
+                private String sysName;
+            }
+
+            @NoArgsConstructor
+            @Data
+            public static class VptpaicportalapiregendorseReasonDTO {
+                @JsonProperty("id")
+                private Integer id;
+
+                @JsonProperty("name")
+                private String name;
+
+                @JsonProperty("describe")
+                private String describe;
+
+                @JsonProperty("methodType")
+                private String methodType;
+
+                @JsonProperty("resourceType")
+                private String resourceType;
+
+                @JsonProperty("code")
+                private String code;
+
+                @JsonProperty("displayNo")
+                private Integer displayNo;
+
+                @JsonProperty("sysName")
+                private String sysName;
+            }
+
+            @NoArgsConstructor
+            @Data
+            public static class VptpaicautopaymentModeRecieveWxDTO {
+                @JsonProperty("id")
+                private Integer id;
+                @JsonProperty("name")
+                private String name;
+                @JsonProperty("describe")
+                private String describe;
+                @JsonProperty("methodType")
+                private String methodType;
+                @JsonProperty("resourceType")
+                private String resourceType;
+                @JsonProperty("code")
+                private String code;
+                @JsonProperty("displayNo")
+                private Integer displayNo;
+                @JsonProperty("sysName")
+                private String sysName;
+            }
+
+            @NoArgsConstructor
+            @Data
+            public static class VptpaicautogeneralqueryprocessposDTO {
+                @JsonProperty("id")
+                private Integer id;
+                @JsonProperty("name")
+                private String name;
+                @JsonProperty("describe")
+                private String describe;
+                @JsonProperty("methodType")
+                private String methodType;
+                @JsonProperty("resourceType")
+                private String resourceType;
+                @JsonProperty("code")
+                private String code;
+                @JsonProperty("displayNo")
+                private Integer displayNo;
+                @JsonProperty("sysName")
+                private String sysName;
+            }
+
+            @NoArgsConstructor
+            @Data
+            public static class VptpaicautonormalchannelDTO {
+                @JsonProperty("id")
+                private Integer id;
+                @JsonProperty("name")
+                private String name;
+                @JsonProperty("describe")
+                private String describe;
+                @JsonProperty("methodType")
+                private String methodType;
+                @JsonProperty("resourceType")
+                private String resourceType;
+                @JsonProperty("code")
+                private String code;
+                @JsonProperty("displayNo")
+                private Integer displayNo;
+                @JsonProperty("sysName")
+                private String sysName;
+            }
+
+            @NoArgsConstructor
+            @Data
+            public static class VptpaicautopaymentModeChequeDTO {
+                @JsonProperty("id")
+                private Integer id;
+                @JsonProperty("name")
+                private String name;
+                @JsonProperty("describe")
+                private String describe;
+                @JsonProperty("methodType")
+                private String methodType;
+                @JsonProperty("resourceType")
+                private String resourceType;
+                @JsonProperty("code")
+                private String code;
+                @JsonProperty("displayNo")
+                private Integer displayNo;
+                @JsonProperty("sysName")
+                private String sysName;
+            }
+        }
+
+        @NoArgsConstructor
+        @Data
+        public static class UserDetailDTO {
+            @JsonProperty("departmentCode")
+            private String departmentCode;
+            @JsonProperty("internalDepartmentCode")
+            private String internalDepartmentCode;
+            @JsonProperty("businessType")
+            private String businessType;
+            @JsonProperty("userId")
+            private String userId;
+            @JsonProperty("userType")
+            private String userType;
+            @JsonProperty("userTypeName")
+            private String userTypeName;
+        }
+
+        @NoArgsConstructor
+        @Data
+        public static class AgentDefineDTO {
+            @JsonProperty("createdBy")
+            private String createdBy;
+            @JsonProperty("createdDate")
+            private String createdDate;
+            @JsonProperty("updatedBy")
+            private String updatedBy;
+            @JsonProperty("updatedDate")
+            private String updatedDate;
+            @JsonProperty("page")
+            private Integer page;
+            @JsonProperty("pageSize")
+            private Integer pageSize;
+            @JsonProperty("userId")
+            private String userId;
+            @JsonProperty("principalid")
+            private String principalid;
+            @JsonProperty("agentCode")
+            private String agentCode;
+            @JsonProperty("departmentCode")
+            private String departmentCode;
+            @JsonProperty("organName")
+            private String organName;
+            @JsonProperty("saleTeamCode")
+            private String saleTeamCode;
+            @JsonProperty("agentMark")
+            private String agentMark;
+            @JsonProperty("authorMark")
+            private String authorMark;
+            @JsonProperty("agentChineseName")
+            private String agentChineseName;
+            @JsonProperty("agentAbbr")
+            private String agentAbbr;
+            @JsonProperty("agentCharactorGeneral")
+            private String agentCharactorGeneral;
+            @JsonProperty("agentCharactor")
+            private String agentCharactor;
+            @JsonProperty("agentCharactorName")
+            private String agentCharactorName;
+            @JsonProperty("saleAgentCode")
+            private String saleAgentCode;
+            @JsonProperty("realName")
+            private String realName;
+            @JsonProperty("telephone")
+            private String telephone;
+            @JsonProperty("email")
+            private String email;
+            @JsonProperty("address")
+            private String address;
+            @JsonProperty("openBank")
+            private String openBank;
+            @JsonProperty("openBankName")
+            private String openBankName;
+            @JsonProperty("bankAccount")
+            private String bankAccount;
+            @JsonProperty("agentChief")
+            private String agentChief;
+            @JsonProperty("licenseNo")
+            private String licenseNo;
+            @JsonProperty("queryMark")
+            private String queryMark;
+            @JsonProperty("invalidateDate")
+            private String invalidateDate;
+            @JsonProperty("province")
+            private String province;
+            @JsonProperty("city")
+            private String city;
+            @JsonProperty("cityName")
+            private String cityName;
+            @JsonProperty("organizeType")
+            private String organizeType;
+            @JsonProperty("saleTeamName")
+            private String saleTeamName;
+            @JsonProperty("agentPopedom")
+            private String agentPopedom;
+            @JsonProperty("agentNamePrint")
+            private String agentNamePrint;
+            @JsonProperty("agentInstructionLs")
+            private String agentInstructionLs;
+            @JsonProperty("customerSource")
+            private String customerSource;
+            @JsonProperty("effectiveDateDate")
+            private String effectiveDateDate;
+            @JsonProperty("businessLicenceNumber")
+            private String businessLicenceNumber;
+            @JsonProperty("licenceIssueTime")
+            private String licenceIssueTime;
+            @JsonProperty("licenceEndTime")
+            private String licenceEndTime;
+            @JsonProperty("licenceSignTime")
+            private String licenceSignTime;
+            @JsonProperty("agentLevelCode")
+            private String agentLevelCode;
+            @JsonProperty("bankPerName")
+            private String bankPerName;
+            @JsonProperty("bankPerType")
+            private String bankPerType;
+            @JsonProperty("bankOpenName")
+            private String bankOpenName;
+            @JsonProperty("bankOpenChnName")
+            private String bankOpenChnName;
+            @JsonProperty("validateApplyUnderwrite")
+            private Integer validateApplyUnderwrite;
+            @JsonProperty("iccardFlag")
+            private String iccardFlag;
+            @JsonProperty("isTotalproject")
+            private String isTotalproject;
+            @JsonProperty("organCodeCard")
+            private String organCodeCard;
+            @JsonProperty("platformQueryControlFlag")
+            private String platformQueryControlFlag;
+            @JsonProperty("platformQueryStandardRatio")
+            private Integer platformQueryStandardRatio;
+            @JsonProperty("platformQueryAlertScale")
+            private Double platformQueryAlertScale;
+            @JsonProperty("platformQueryCurrentRatio")
+            private Double platformQueryCurrentRatio;
+            @JsonProperty("realBusinessType")
+            private String realBusinessType;
+            @JsonProperty("chiefBrandId")
+            private String chiefBrandId;
+            @JsonProperty("chief4S")
+            private String chief4S;
+            @JsonProperty("brand")
+            private String brand;
+            @JsonProperty("deleteFlag")
+            private String deleteFlag;
+        }
+
+        @NoArgsConstructor
+        @Data
+        public static class UserPlanDepartListDTO {
+            @JsonProperty("updatedBy")
+            private String updatedBy;
+            @JsonProperty("createdBy")
+            private String createdBy;
+            @JsonProperty("departmentCode")
+            private String departmentCode;
+            @JsonProperty("levelDepCode")
+            private String levelDepCode;
+            @JsonProperty("departmentChineseName")
+            private String departmentChineseName;
+        }
+
+        @NoArgsConstructor
+        @Data
+        public static class PaymentListDTO {
+            @JsonProperty("createdBy")
+            private String createdBy;
+            @JsonProperty("createdDate")
+            private String createdDate;
+            @JsonProperty("updatedBy")
+            private String updatedBy;
+            @JsonProperty("updatedDate")
+            private String updatedDate;
+            @JsonProperty("displayNo")
+            private Integer displayNo;
+            @JsonProperty("page")
+            private Integer page;
+            @JsonProperty("pageSize")
+            private Integer pageSize;
+            @JsonProperty("effectiveDate")
+            private String effectiveDate;
+            @JsonProperty("departmentCode")
+            private String departmentCode;
+            @JsonProperty("collectionCode")
+            private String collectionCode;
+            @JsonProperty("collectionName")
+            private String collectionName;
+            @JsonProperty("valueCode")
+            private String valueCode;
+            @JsonProperty("valueChineseName")
+            private String valueChineseName;
+            @JsonProperty("valueChineseAbbrName")
+            private String valueChineseAbbrName;
+            @JsonProperty("valueEnglishName")
+            private String valueEnglishName;
+            @JsonProperty("valueEnglishAbbrName")
+            private String valueEnglishAbbrName;
+            @JsonProperty("superiorCollectionCode")
+            private String superiorCollectionCode;
+            @JsonProperty("superiorValueCode")
+            private String superiorValueCode;
+            @JsonProperty("isSignFlag")
+            private String isSignFlag;
+            @JsonProperty("flag")
+            private String flag;
+            @JsonProperty("remark")
+            private String remark;
+        }
+    }
+}

+ 137 - 0
tenant/insurance/quotation-ansheng/src/main/java/com/jzg/ansheng/crawler/entity/response/AnShengCrawlerQueryDocumentsInformationResponse.java

@@ -0,0 +1,137 @@
+package com.jzg.ansheng.crawler.entity.response;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.util.List;
+
+@NoArgsConstructor
+@Data
+public class AnShengCrawlerQueryDocumentsInformationResponse {
+
+    @JsonProperty("code")
+    private Integer code;
+
+    @JsonProperty("simpleMessage")
+    private String simpleMessage;
+
+    @JsonProperty("message")
+    private String message;
+
+    @JsonProperty("data")
+    private DataDTO data;
+
+    @NoArgsConstructor
+    @Data
+    public static class DataDTO {
+        @JsonProperty("pageNum")
+        private Integer pageNum;
+        @JsonProperty("pageSize")
+        private Integer pageSize;
+        @JsonProperty("size")
+        private Integer size;
+        @JsonProperty("startRow")
+        private Integer startRow;
+        @JsonProperty("endRow")
+        private Integer endRow;
+        @JsonProperty("total")
+        private Integer total;
+        @JsonProperty("pages")
+        private Integer pages;
+        @JsonProperty("list")
+        private List<ListDTO> list;
+        @JsonProperty("firstPage")
+        private Integer firstPage;
+        @JsonProperty("prePage")
+        private Integer prePage;
+        @JsonProperty("nextPage")
+        private Integer nextPage;
+        @JsonProperty("lastPage")
+        private Integer lastPage;
+        @JsonProperty("isFirstPage")
+        private Boolean isFirstPage;
+        @JsonProperty("isLastPage")
+        private Boolean isLastPage;
+        @JsonProperty("hasPreviousPage")
+        private Boolean hasPreviousPage;
+        @JsonProperty("hasNextPage")
+        private Boolean hasNextPage;
+        @JsonProperty("navigatePages")
+        private Integer navigatePages;
+        @JsonProperty("navigatepageNums")
+        private List<Integer> navigatepageNums;
+
+        @NoArgsConstructor
+        @Data
+        public static class ListDTO {
+            @JsonProperty("createdBy")
+            private String createdBy;
+            @JsonProperty("updatedBy")
+            private String updatedBy;
+            @JsonProperty("page")
+            private Integer page;
+            @JsonProperty("pageSize")
+            private Integer pageSize;
+            @JsonProperty("transactionNo")
+            private String transactionNo;
+            @JsonProperty("policyConciseDetails")
+            private List<PolicyConciseDetailsDTO> policyConciseDetails;
+
+            @NoArgsConstructor
+            @Data
+            public static class PolicyConciseDetailsDTO {
+                @JsonProperty("createdBy")
+                private String createdBy;
+                @JsonProperty("createdDate")
+                private String createdDate;
+                @JsonProperty("updatedBy")
+                private String updatedBy;
+                @JsonProperty("page")
+                private Integer page;
+                @JsonProperty("pageSize")
+                private Integer pageSize;
+                @JsonProperty("transactionNo")
+                private String transactionNo;
+                @JsonProperty("temporaryId")
+                private String temporaryId;
+                @JsonProperty("applyPolicyNo")
+                private String applyPolicyNo;
+                @JsonProperty("policyNo")
+                private String policyNo;
+                @JsonProperty("planCode")
+                private String planCode;
+                @JsonProperty("productCode")
+                private String productCode;
+                @JsonProperty("departmentCode")
+                private String departmentCode;
+                @JsonProperty("underwriteMark")
+                private String underwriteMark;
+                @JsonProperty("insuranerName")
+                private String insuranerName;
+                @JsonProperty("saleAgentName")
+                private String saleAgentName;
+                @JsonProperty("vehicleLicenceCode")
+                private String vehicleLicenceCode;
+                @JsonProperty("vehicleFrameNo")
+                private String vehicleFrameNo;
+                @JsonProperty("totalAgreePremium")
+                private String totalAgreePremium;
+                @JsonProperty("applyTime")
+                private String applyTime;
+                @JsonProperty("planCodeName")
+                private String planCodeName;
+                @JsonProperty("agentCode")
+                private String agentCode;
+                @JsonProperty("underwriteMarkName")
+                private String underwriteMarkName;
+                @JsonProperty("checkRealNameMessage")
+                private Boolean checkRealNameMessage;
+                @JsonProperty("standarded")
+                private String standarded;
+                @JsonProperty("autoPlan")
+                private Boolean autoPlan;
+            }
+        }
+    }
+}

+ 235 - 0
tenant/insurance/quotation-ansheng/src/main/java/com/jzg/ansheng/crawler/entity/response/AnShengCrawlerSearchVehicleByVinResponse.java

@@ -0,0 +1,235 @@
+package com.jzg.ansheng.crawler.entity.response;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.util.List;
+
+@NoArgsConstructor
+@Data
+public class AnShengCrawlerSearchVehicleByVinResponse {
+
+    @JsonProperty("code")
+    private Integer code;
+
+    @JsonProperty("simpleMessage")
+    private String simpleMessage;
+
+    @JsonProperty("message")
+    private String message;
+
+    @JsonProperty("data")
+    private List<DataDTO> data;
+
+    @NoArgsConstructor
+    @Data
+    public static class DataDTO {
+        @JsonProperty("customerNegotiatePrice")
+        private String customerNegotiatePrice;
+        @JsonProperty("BrandAutoModel")
+        private BrandAutoModelDTO brandAutoModel;
+        @JsonProperty("madeDate")
+        private String madeDate;
+        @JsonProperty("originalInsuredAmount_OD")
+        private String originalinsuredamountOd;
+        @JsonProperty("vehicleLossInsuredValue")
+        private String vehicleLossInsuredValue;
+        @JsonProperty("AutoModelCode")
+        private String autoModelCode;
+        @JsonProperty("AutoModelCodeName")
+        private String autoModelCodeName;
+        @JsonProperty("vinFlag")
+        private String vinFlag;
+        @JsonProperty("originalCustomerNegotiatePrice")
+        private String originalCustomerNegotiatePrice;
+
+        @NoArgsConstructor
+        @Data
+        public static class BrandAutoModelDTO {
+            @JsonProperty("page")
+            private Integer page;
+            @JsonProperty("pageSize")
+            private Integer pageSize;
+            @JsonProperty("autoModelCode")
+            private String autoModelCode;
+            @JsonProperty("brandChnName")
+            private String brandChnName;
+            @JsonProperty("autoModelChnName")
+            private String autoModelChnName;
+            @JsonProperty("purchasePrice")
+            private String purchasePrice;
+            @JsonProperty("purchasePriceTax")
+            private String purchasePriceTax;
+            @JsonProperty("vtrList")
+            private List<VtrListDTO> vtrList;
+            @JsonProperty("tons")
+            private String tons;
+            @JsonProperty("seats")
+            private String seats;
+            @JsonProperty("seatsString")
+            private String seatsString;
+            @JsonProperty("exhaustCapabilityString")
+            private String exhaustCapabilityString;
+            @JsonProperty("riskLevel")
+            private String riskLevel;
+            @JsonProperty("vehicleType")
+            private String vehicleType;
+            @JsonProperty("firstSaleDateString")
+            private String firstSaleDateString;
+            @JsonProperty("effectiveDateString")
+            private String effectiveDateString;
+            @JsonProperty("invalidateDateString")
+            private String invalidateDateString;
+            @JsonProperty("remark")
+            private String remark;
+            @JsonProperty("transmissionType")
+            private String transmissionType;
+            @JsonProperty("maker")
+            private String maker;
+            @JsonProperty("standardName")
+            private String standardName;
+            @JsonProperty("vehSeries")
+            private String vehSeries;
+            @JsonProperty("flag")
+            private String flag;
+            @JsonProperty("absFlag")
+            private String absFlag;
+            @JsonProperty("vin")
+            private String vin;
+            @JsonProperty("theftProof")
+            private String theftProof;
+            @JsonProperty("brandCode")
+            private String brandCode;
+            @JsonProperty("familyCode")
+            private String familyCode;
+            @JsonProperty("curbWeightMin")
+            private String curbWeightMin;
+            @JsonProperty("curbWeightMinString")
+            private String curbWeightMinString;
+            @JsonProperty("seatCom")
+            private String seatCom;
+            @JsonProperty("seatComString")
+            private String seatComString;
+            @JsonProperty("xhPrice")
+            private String xhPrice;
+            @JsonProperty("xhKindPrice")
+            private String xhKindPrice;
+            @JsonProperty("seatMin")
+            private String seatMin;
+            @JsonProperty("seatMax")
+            private String seatMax;
+            @JsonProperty("tonsString")
+            private String tonsString;
+            @JsonProperty("kindredPrice")
+            private String kindredPrice;
+            @JsonProperty("kindredPriceTax")
+            private String kindredPriceTax;
+            @JsonProperty("modelCode")
+            private String modelCode;
+            @JsonProperty("vehicleTypeName")
+            private String vehicleTypeName;
+            @JsonProperty("purchasePriceEnd")
+            private String purchasePriceEnd;
+            @JsonProperty("airbagCountString")
+            private String airbagCountString;
+            @JsonProperty("riskFlag")
+            private String riskFlag;
+            @JsonProperty("vehicleAlias")
+            private String vehicleAlias;
+            @JsonProperty("insuranceCode")
+            private String insuranceCode;
+            @JsonProperty("rbCode")
+            private String rbCode;
+            @JsonProperty("platformId")
+            private String platformId;
+            @JsonProperty("totalVehicleWeight")
+            private String totalVehicleWeight;
+            @JsonProperty("vehicleClassCode")
+            private String vehicleClassCode;
+            @JsonProperty("vehicleClass")
+            private String vehicleClass;
+            @JsonProperty("tradePrice")
+            private String tradePrice;
+            @JsonProperty("importFlag")
+            private String importFlag;
+            @JsonProperty("stopFlag")
+            private String stopFlag;
+            @JsonProperty("powerType")
+            private String powerType;
+            @JsonProperty("makeDate")
+            private String makeDate;
+            @JsonProperty("modelIdCode")
+            private String modelIdCode;
+            @JsonProperty("tradeName")
+            private String tradeName;
+            @JsonProperty("tradeCode")
+            private String tradeCode;
+            @JsonProperty("brand")
+            private String brand;
+            @JsonProperty("series")
+            private String series;
+            @JsonProperty("seriesCode")
+            private String seriesCode;
+            @JsonProperty("carName")
+            private String carName;
+            @JsonProperty("noticeType")
+            private String noticeType;
+            @JsonProperty("configType")
+            private String configType;
+            @JsonProperty("categoryName")
+            private String categoryName;
+            @JsonProperty("categoryCode")
+            private String categoryCode;
+            @JsonProperty("deptName")
+            private String deptName;
+            @JsonProperty("deptCode")
+            private String deptCode;
+            @JsonProperty("power")
+            private String power;
+            @JsonProperty("vehicleFgwCode")
+            private String vehicleFgwCode;
+            @JsonProperty("vehicleFgwName")
+            private String vehicleFgwName;
+            @JsonProperty("vehicleModelType")
+            private String vehicleModelType;
+            @JsonProperty("steerCardVehicleType")
+            private String steerCardVehicleType;
+            @JsonProperty("engineDesc")
+            private String engineDesc;
+            @JsonProperty("fuelType")
+            private String fuelType;
+            @JsonProperty("exhaustCapability")
+            private Double exhaustCapability;
+            @JsonProperty("firstSaleDate")
+            private String firstSaleDate;
+            @JsonProperty("limitVehicle")
+            private Integer limitVehicle;
+            @JsonProperty("importFlagChange")
+            private String importFlagChange;
+
+            @NoArgsConstructor
+            @Data
+            public static class VtrListDTO {
+                @JsonProperty("createdBy")
+                private String createdBy;
+                @JsonProperty("updatedBy")
+                private String updatedBy;
+                @JsonProperty("page")
+                private Integer page;
+                @JsonProperty("pageSize")
+                private Integer pageSize;
+                @JsonProperty("jyVehicleTypeCode")
+                private String jyVehicleTypeCode;
+                @JsonProperty("jyVehicleTypeName")
+                private String jyVehicleTypeName;
+                @JsonProperty("vehicleTypeCode")
+                private String vehicleTypeCode;
+                @JsonProperty("vehicleTypeName")
+                private String vehicleTypeName;
+                @JsonProperty("usageAttributeCode")
+                private String usageAttributeCode;
+            }
+        }
+    }
+}

+ 85 - 0
tenant/insurance/quotation-ansheng/src/main/java/com/jzg/ansheng/crawler/entity/response/AnShengCrawlerVerifyResponse.java

@@ -0,0 +1,85 @@
+package com.jzg.ansheng.crawler.entity.response;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+
+
+/**
+ * @version
+ * @description: 安盛财险 验证码
+ * @author: wenks
+ * @date: 2025/3/31 10:15
+ **/
+@NoArgsConstructor
+@Data
+public class AnShengCrawlerVerifyResponse {
+
+    @JsonProperty("code")
+    private Integer code;
+
+    @JsonProperty("data")
+    private DataDTO data;
+
+    @NoArgsConstructor
+    @Data
+    public static class DataDTO {
+
+        @JsonProperty("code")
+        private String code;
+
+        @JsonProperty("msg")
+        private Object msg;
+
+        @JsonProperty("type")
+        private String type;
+
+        @JsonProperty("mobile")
+        private Object mobile;
+
+        @JsonProperty("email")
+        private Object email;
+
+        @JsonProperty("emailAuthentication")
+        private Object emailAuthentication;
+
+        @JsonProperty("mobileAuthentication")
+        private Object mobileAuthentication;
+
+        @JsonProperty("imageVerification")
+        private ImageVerificationDTO imageVerification;
+
+        @NoArgsConstructor
+        @Data
+        public static class ImageVerificationDTO {
+
+            @JsonProperty("type")
+            private String type;
+
+            @JsonProperty("charImage")
+            private Object charImage;
+
+            @JsonProperty("operationImage")
+            private Object operationImage;
+
+            @JsonProperty("originImage")
+            private String originImage;
+
+            @JsonProperty("shadeImage")
+            private String shadeImage;
+
+            @JsonProperty("cutoutImage")
+            private String cutoutImage;
+
+            @JsonProperty("x")
+            private Integer x;
+
+            @JsonProperty("y")
+            private Integer y;
+
+            @JsonProperty("userFlag")
+            private String userFlag;
+        }
+    }
+}

+ 23 - 0
tenant/insurance/quotation-ansheng/src/main/java/com/jzg/ansheng/crawler/properties/AnShengCrawlerProperties.java

@@ -0,0 +1,23 @@
+package com.jzg.ansheng.crawler.properties;
+
+
+import lombok.Data;
+import org.springframework.boot.context.properties.ConfigurationProperties;
+import org.springframework.stereotype.Component;
+
+/**
+ * @description: 安盛天平 配置信息
+ * @author: wenks
+ * @date: 2025/4/2 14:54
+ **/
+@Data
+@Component
+@ConfigurationProperties(prefix = "ansheng.crawler")
+public class AnShengCrawlerProperties {
+
+    /**
+     * 请求路劲
+     */
+    private String url;
+
+}

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

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

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

@@ -0,0 +1,67 @@
+package com.jzg.ansheng.crawler.service.impl;
+
+import com.jzg.ansheng.crawler.component.AnShengCrawlerRequestComponent;
+import com.jzg.ansheng.crawler.entity.request.AnShengCrawlerCalculatePremiumApplyMessage;
+import com.jzg.ansheng.crawler.entity.request.AnShengCrawlerQueryDocumentsInformationRequest;
+import com.jzg.ansheng.crawler.entity.response.AnShengCrawlerCalculatePremiumApplyResponse;
+import com.jzg.ansheng.crawler.entity.response.AnShengCrawlerQueryDocumentsInformationResponse;
+import com.jzg.ansheng.crawler.service.AnShengCrawlerRequest;
+import com.jzg.quotation.commons.entity.vo.aggregated.*;
+import com.jzg.quotation.commons.entity.vo.base.LoginBase;
+import com.jzg.quotation.commons.entity.vo.base.OrderBase;
+import lombok.RequiredArgsConstructor;
+import org.springframework.http.HttpHeaders;
+import org.springframework.stereotype.Service;
+
+@Service
+@RequiredArgsConstructor
+public class AnShengCrawlerRequestImpl implements AnShengCrawlerRequest {
+
+    private final AnShengCrawlerRequestComponent anShengCrawlerRequestComponent;
+
+    @Override
+    public void login(LoginBase loginBase) {
+
+    }
+
+    @Override
+    public QuoteResultsVo quote(QuoteVo quoteVo) {
+        AnShengCrawlerCalculatePremiumApplyMessage crawlerCalculatePremiumApply = new AnShengCrawlerCalculatePremiumApplyMessage(quoteVo);
+        AnShengCrawlerCalculatePremiumApplyResponse anShengCrawlerCalculatePremiumApplyResponse = anShengCrawlerRequestComponent.calculatePremiumApply(crawlerCalculatePremiumApply, new HttpHeaders());
+
+
+        return null;
+    }
+
+    @Override
+    public UnderwritingResultsVo underwriting(UnderwritingVo underwritingVo){
+
+        return null;
+    }
+
+    @Override
+    public PaymentLinkResultsVo getPaymentLink(PaymentLinkVo paymentLinkVo){
+        return null;
+    }
+
+    @Override
+    public void uploadImage(InsuranceUploadImageVo insuranceUploadImageVo) {
+
+    }
+
+    @Override
+    public void downloadPolicy(OrderBase orderBase) {
+
+    }
+
+    @Override
+    public void queryOrderState(OrderStatusVo orderStatusVo){
+
+
+        HttpHeaders httpHeaders = new HttpHeaders();
+        AnShengCrawlerQueryDocumentsInformationRequest anShengCrawlerQueryDocumentsInformationRequest = new AnShengCrawlerQueryDocumentsInformationRequest();
+        AnShengCrawlerQueryDocumentsInformationResponse anShengCrawlerQueryDocumentsInformationResponse = anShengCrawlerRequestComponent.queryDocumentsInformation(anShengCrawlerQueryDocumentsInformationRequest, httpHeaders);
+
+    }
+
+}

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

@@ -3,6 +3,7 @@ package com.jzg.quotation.commons.component;
 
 import com.alibaba.fastjson2.JSON;
 import com.jzg.commons.exception.SystemException;
+import com.jzg.quotation.commons.utils.RequestObjectConversion;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.core.ParameterizedTypeReference;
@@ -43,15 +44,12 @@ public class RequestComponent {
      * @return Consumer<HttpHeaders>
      */
     public static Consumer<HttpHeaders> setHeaders(HttpHeaders headers) {
-        Consumer<HttpHeaders> consumer = httpHeaders -> {
+        return 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");
-
             if (headers != null) {
                 httpHeaders.addAll(headers);
             }
         };
-
-        return consumer;
     }
 
     /**
@@ -80,12 +78,7 @@ public class RequestComponent {
      * @return 响应
      */
     public <Response> Response get(String url, Map<String, Object> param, String description, Class<Response> responseClass, HttpHeaders headers) {
-        ResponseEntity<Response> responseEntity = webClient.get()
-                .uri(url, param)
-                .headers(setHeaders(headers))
-                .retrieve()
-                .toEntity(responseClass)
-                .block();
+        ResponseEntity<Response> responseEntity = baseGet(url, param, responseClass, headers);
         return bodyIsEmpty(responseEntity, description);
     }
 
@@ -97,11 +90,7 @@ public class RequestComponent {
      * @param headers 请求头
      */
     public void asyncPost(String url, Object body, HttpHeaders headers) {
-        webClient.post()
-                .uri(url)
-                .headers(setHeaders(headers))
-                .body(BodyInserters.fromValue(body))
-                .retrieve();
+        webClient.post().uri(url).headers(setHeaders(headers)).body(BodyInserters.fromValue(body)).retrieve();
     }
 
     /**
@@ -112,13 +101,26 @@ public class RequestComponent {
      * @param headers 请求头
      */
     public void asyncGet(String url, Map<String, Object> param, HttpHeaders headers) {
-        webClient.get()
+        webClient.get().uri(url, param).headers(setHeaders(headers)).retrieve();
+    }
+
+    /**
+     * @param url           请求地址
+     * @param param         get 拼接对象
+     * @param responseClass 响应类 泛型
+     * @param headers       请求头
+     * @param <Response>    响应实体
+     * @return 响应
+     */
+    public <Response> ResponseEntity<Response> baseGet(String url, Map<String, Object> param, Class<Response> responseClass, HttpHeaders headers) {
+        return webClient.get()
                 .uri(url, param)
                 .headers(setHeaders(headers))
-                .retrieve();
+                .retrieve()
+                .toEntity(responseClass)
+                .block();
     }
 
-
     /**
      * @param url               请求地址
      * @param param             get 拼接对象
@@ -242,6 +244,21 @@ public class RequestComponent {
                 .block();
     }
 
+    /**
+     * formData post 请求
+     *
+     * @param url           请求地址
+     * @param body          form data 数据
+     * @param responseClass 返回
+     * @param headers       请求头
+     * @param <Response>    响应返回
+     * @return 响应
+     */
+    public <Response> ResponseEntity<Response> formData(String url, Object body, Class<Response> responseClass, HttpHeaders headers) {
+        MultiValueMap<String, Object> multiValueMap = RequestObjectConversion.convertMultiValueMap(body);
+        return formData(url, multiValueMap, responseClass, headers);
+    }
+
     /**
      * 请求体为 String 类型 POST请求返回响应返回类
      *

+ 46 - 0
tenant/insurance/quotation-commons/src/main/java/com/jzg/quotation/commons/utils/RequestObjectConversion.java

@@ -0,0 +1,46 @@
+package com.jzg.quotation.commons.utils;
+
+import com.fasterxml.jackson.core.type.TypeReference;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import org.springframework.beans.BeanWrapperImpl;
+import org.springframework.util.LinkedMultiValueMap;
+import org.springframework.util.MultiValueMap;
+
+import java.beans.PropertyDescriptor;
+import java.util.Map;
+
+/**
+ * @description: 请求对象转换
+ * @author: wenks
+ * @date: 2025/3/31 14:22
+ **/
+public final class RequestObjectConversion {
+
+    public RequestObjectConversion() {
+        throw new IllegalStateException("Utility class");
+    }
+
+    private static final ObjectMapper objectMapper = new ObjectMapper();
+
+    public static MultiValueMap<String, Object> convertMultiValueMap(Object obj) {
+        MultiValueMap<String, Object> multiValueMap = new LinkedMultiValueMap<>();
+        BeanWrapperImpl wrapper = new BeanWrapperImpl(obj);
+        for (PropertyDescriptor pd : wrapper.getPropertyDescriptors()) {
+            String key = pd.getName();
+            Object value = wrapper.getPropertyValue(key);
+            if (value != null && !"class".equals(key)) {
+                multiValueMap.add(key, value);
+            }
+        }
+        return multiValueMap;
+    }
+
+    public static Map<String, Object> convertToMap(Object object) {
+        return objectMapper.convertValue(object, new TypeReference<>() {
+        });
+    }
+
+
+
+
+}

+ 38 - 0
tenant/insurance/quotation-commons/src/main/java/com/jzg/quotation/commons/utils/TimeProcessing.java

@@ -1,6 +1,10 @@
 package com.jzg.quotation.commons.utils;
 
 
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
 import java.time.LocalDate;
 import java.time.LocalDateTime;
 import java.time.LocalTime;
@@ -94,4 +98,38 @@ public final class TimeProcessing {
         return LocalDateTime.of(LocalDate.now(), LocalTime.MIN).format(DATE_TIME_FORMATTER);
     }
 
+    /**
+     * 获取时间范围
+     * 用于查询订单的时候按照时间范围查询
+     *
+     * @param date       时间
+     * @param isDateTime 是否要返回时间类型
+     * @return 时间范围
+     */
+    public static TimeFrame getTimeFrame(String date, boolean isDateTime) {
+        LocalDate dateTime = LocalDate.parse(date, DATE_FORMATTER);
+        LocalDate localDate = dateTime.plusDays(ONE);
+        if (isDateTime) {
+            LocalDateTime startOfDay = LocalDateTime.of(dateTime, LocalTime.MIDNIGHT);
+            LocalDateTime endOfDay = LocalDateTime.of(localDate, LocalTime.MIDNIGHT);
+            return new TimeFrame(startOfDay.format(DATE_TIME_FORMATTER), endOfDay.format(DATE_TIME_FORMATTER));
+        }
+        return new TimeFrame(dateTime.format(DATE_FORMATTER), localDate.format(DATE_FORMATTER));
+    }
+
+    @Data
+    @AllArgsConstructor
+    @NoArgsConstructor
+    public static class TimeFrame {
+        /**
+         * 开始时间
+         */
+        private String startTime;
+        /**
+         * 结束时间
+         */
+        private String endTime;
+
+    }
+
 }

+ 4 - 1
tenant/insurance/quotation-huanong/src/main/java/com/jzg/quote/huanong/crawler/entity/request/HuaNongCrawlerQuotedPriceRequest.java

@@ -876,7 +876,10 @@ public class HuaNongCrawlerQuotedPriceRequest implements Serializable, HuaNongHe
             @JsonProperty("orgCode")
             private String orgCode;
 
-            public SaleInfoDTO(HuaNongCrawlerComInfoQueryResponse.ComListDTO comListDTO, HuaNongCrawlerUserTypeAndProxyInfoQueryResponse.HandlerListDTO handlerListDTO, HuaNongCrawlerUserTypeAndProxyInfoQueryResponse.AgentInfoListDTO agentInfoListDTO, String callerName) {
+            public SaleInfoDTO(HuaNongCrawlerComInfoQueryResponse.ComListDTO comListDTO,
+                               HuaNongCrawlerUserTypeAndProxyInfoQueryResponse.HandlerListDTO handlerListDTO,
+                               HuaNongCrawlerUserTypeAndProxyInfoQueryResponse.AgentInfoListDTO agentInfoListDTO,
+                               String callerName) {
                 this.agentAddress = agentInfoListDTO.getAgentAddress();
                 this.agentCode = agentInfoListDTO.getAgentCode();
                 this.agentMobile = agentInfoListDTO.getAgentMobile();

+ 3 - 3
tenant/insurance/quotation-huanong/src/main/java/com/jzg/quote/huanong/crawler/service/impl/HuaNongCrawlerRequestImpl.java

@@ -160,12 +160,12 @@ public class HuaNongCrawlerRequestImpl implements HuaNongCrawlerRequest {
     }
 
     @Override
-    public void queryOrderState(OrderBase orderBase) {
-        AttributionInformationVo attributionInformationVo = orderBase.getAttributionInformationVo();
+    public void queryOrderState(OrderStatusVo orderStatusVo){
+        AttributionInformationVo attributionInformationVo = orderStatusVo.getOrder().getAttributionInformationVo();
         HuaNongCrawlerConfigureParameters huaNongCrawlerConfigureParameters = ConfigureParametersConversion.conversionEntity(HuaNongCrawlerConfigureParameters.class, attributionInformationVo.getConfigInfo());
         String token = huaNongCrawlerGetToken.getToken(attributionInformationVo.getUsername(), attributionInformationVo.getPassword());
         HttpHeaders httpHeaders = new HttpHeaders();
-        HuaNongCrawlerOrder order = huaNongCrawlerOrderService.getById(orderBase.getOrdersNo());
+        HuaNongCrawlerOrder order = huaNongCrawlerOrderService.getById(orderStatusVo.getOrder().getOrdersNo());
 
         HuaNongCrawlerFindBusinessesRequest huaNongCrawlerFindBusinessesRequest = new HuaNongCrawlerFindBusinessesRequest();
         huaNongCrawlerRequestComponent.findBusinesses(huaNongCrawlerFindBusinessesRequest, httpHeaders);