Explorar el Código

Merge remote-tracking branch 'origin/master'

lixiaolong hace 2 meses
padre
commit
2e095f7af0
Se han modificado 23 ficheros con 4015 adiciones y 223 borrados
  1. 12 5
      authentication/src/main/resources/application-test.yml
  2. 2 0
      consoleStatistics/src/main/resources/application-prod.yml
  3. 16 12
      consoleStatistics/src/main/resources/application-test.yml
  4. 9 7
      gateway/src/main/resources/application-prod.yml
  5. 55 18
      gateway/src/main/resources/application-test.yml
  6. 2 0
      partner/src/main/resources/application-prod.yml
  7. 9 10
      partner/src/main/resources/application-test.yml
  8. 10 7
      platform/src/main/resources/application-test.yml
  9. 2 0
      tenant/costsorrule/src/main/resources/application-prod.yml
  10. 8 6
      tenant/costsorrule/src/main/resources/application-test.yml
  11. 18 3
      tenant/insurance/quotation-ansheng/src/main/java/com/jzg/quotation/ansheng/crawler/component/AnShengCrawlerRequestComponent.java
  12. 7 1
      tenant/insurance/quotation-ansheng/src/main/java/com/jzg/quotation/ansheng/crawler/constant/enums/RequestUrl.java
  13. 5 1
      tenant/insurance/quotation-ansheng/src/main/java/com/jzg/quotation/ansheng/crawler/entity/request/AnShengCrawlerComprehensiveQueryInsurenetRequest.java
  14. 30 0
      tenant/insurance/quotation-ansheng/src/main/java/com/jzg/quotation/ansheng/crawler/entity/request/AnShengCrawlerSaleSlipRequest.java
  15. 3497 0
      tenant/insurance/quotation-ansheng/src/main/java/com/jzg/quotation/ansheng/crawler/entity/response/AnShengCrawlerPolicyResponse.java
  16. 50 0
      tenant/insurance/quotation-ansheng/src/main/java/com/jzg/quotation/ansheng/crawler/entity/response/AnShengCrawlerQuoteResultResponse.java
  17. 72 31
      tenant/insurance/quotation-ansheng/src/main/java/com/jzg/quotation/ansheng/crawler/service/impl/AnShengCrawlerRequestImpl.java
  18. 74 3
      tenant/insurance/quotation-renbaonew/src/main/java/com/jzg/quotation/renbaonew/crawler/component/RenBaoNewCrawlerRequestComponent.java
  19. 0 1
      tenant/insurance/quotation-renbaonew/src/main/java/com/jzg/quotation/renbaonew/crawler/service/impl/RenBaoNewCrawlerGetTokenImpl.java
  20. 8 6
      tenant/insurance/quotation-summary/src/main/resources/application-prod.yaml
  21. 78 90
      tenant/insurance/quotation-summary/src/main/resources/application-test.yaml
  22. 20 0
      tenant/organization/src/main/resources/application-prod.yml
  23. 31 22
      tenant/organization/src/main/resources/application-test.yml

+ 12 - 5
authentication/src/main/resources/application-test.yml

@@ -1,22 +1,23 @@
 server:
 server:
-  port: 9081
+  port: 18081
 spring:
 spring:
   cloud:
   cloud:
     nacos:
     nacos:
-      server-addr: 192.168.5.250:8848
+      server-addr: 172.24.144.227:8848
       username: nacos
       username: nacos
-      password: nacos
+      password: AnrNjNn6zCS3QdIy
       config:
       config:
         file-extension: yaml
         file-extension: yaml
-        namespace: bb8f915c-82b0-4f0d-9e9e-03aa629f2d45
+        namespace: 7268dffe-b5ab-4537-a2b5-2178b0693ce4
         group: DEFAULT_GROUP
         group: DEFAULT_GROUP
       discovery:
       discovery:
-        namespace: bb8f915c-82b0-4f0d-9e9e-03aa629f2d45
+        namespace: 7268dffe-b5ab-4537-a2b5-2178b0693ce4
   config:
   config:
     import:
     import:
       - nacos:mysql
       - nacos:mysql
       - nacos:redisson
       - nacos:redisson
       - nacos:minio
       - nacos:minio
+      - nacos:seata-server
 config:
 config:
   sso: 0
   sso: 0
 
 
@@ -26,3 +27,9 @@ wechat:
       app:
       app:
         componentAppId: wx612ca90988c46947
         componentAppId: wx612ca90988c46947
         componentSecret: 75b7d4cda453b2075dec23f849278bc0
         componentSecret: 75b7d4cda453b2075dec23f849278bc0
+
+
+feign:
+  client:
+    jzg-partner:
+      url: http://172.24.144.227:8087/

+ 2 - 0
consoleStatistics/src/main/resources/application-prod.yml

@@ -1,3 +1,5 @@
+server:
+  port: 8086
 spring:
 spring:
   cloud:
   cloud:
     nacos:
     nacos:

+ 16 - 12
consoleStatistics/src/main/resources/application-test.yml

@@ -1,17 +1,17 @@
 server:
 server:
-  port: 9084
+  port: 18086
 spring:
 spring:
   cloud:
   cloud:
     nacos:
     nacos:
-      server-addr: 172.24.144.223:8848
+      server-addr: 172.24.144.227:8848
       username: nacos
       username: nacos
-      password: nacos
+      password: AnrNjNn6zCS3QdIy
       config:
       config:
         file-extension: yaml
         file-extension: yaml
-        namespace: bb8f915c-82b0-4f0d-9e9e-03aa629f2d45
+        namespace: 7268dffe-b5ab-4537-a2b5-2178b0693ce4
         group: DEFAULT_GROUP
         group: DEFAULT_GROUP
       discovery:
       discovery:
-        namespace: bb8f915c-82b0-4f0d-9e9e-03aa629f2d45
+        namespace: 7268dffe-b5ab-4537-a2b5-2178b0693ce4
   config:
   config:
     import:
     import:
       - nacos:mysql
       - nacos:mysql
@@ -22,15 +22,19 @@ spring:
 config:
 config:
   sso: 1
   sso: 1
 
 
-
 #银联API参数配置
 #银联API参数配置
 unionPay:
 unionPay:
   api:
   api:
-    appId: 8a81c1be8fc4b72501912b65f4bf093a
-    appKey: 43c2fc71b43740539c6c32370e12c7fd
-    accessTokenUrl: https://api-mop.chinaums.com/v2/token/access
-    twoFactorVerifyUrl: https://api-mop.chinaums.com/v1/datacenter/smartverification/encrypted/mobile/2factor/verify
-    threeFactorVerifyUrl: https://api-mop.chinaums.com/v1/datacenter/smartverification/encrypted/mobile/3factor/verify
-    bankCardVerifyUrl: https://api-mop.chinaums.com/v1/datacenter/smartverification/encrypted/bankcard/verify
+    appId: 10037e6f8e41423b01912b657e5c116c
+    appKey: 1110043747cb40f4911096480ea93f3e
+    accessTokenUrl: https://test-api-open.chinaums.com/v2/token/access
+    twoFactorVerifyUrl: https://test-api-open.chinaums.com/v1/datacenter/smartverification/encrypted/mobile/2factor/verify
+    threeFactorVerifyUrl: https://test-api-open.chinaums.com/v1/datacenter/smartverification/encrypted/mobile/3factor/verify
+    bankCardVerifyUrl: https://test-api-open.chinaums.com/v1/datacenter/smartverification/encrypted/bankcard/verify
     publicKey: 0414bb7e9c3914bb65b85079b1dc6e1ca2a0ee04dd9bb55b2f8d31704a6dec0cca695739e128f9c931330e1c0f493be4d56244236434c9d344c4716ba64a4470ba
     publicKey: 0414bb7e9c3914bb65b85079b1dc6e1ca2a0ee04dd9bb55b2f8d31704a6dec0cca695739e128f9c931330e1c0f493be4d56244236434c9d344c4716ba64a4470ba
     privateKey: 24ebfde60aecb81214605050763926ec342c487859a8da57d5badcd3c1559336
     privateKey: 24ebfde60aecb81214605050763926ec342c487859a8da57d5badcd3c1559336
+
+
+
+seata:
+  enabled: false

+ 9 - 7
gateway/src/main/resources/application-prod.yml

@@ -1,3 +1,5 @@
+server:
+  port: 8001
 spring:
 spring:
   minio:
   minio:
     url: http://172.24.144.227:9000
     url: http://172.24.144.227:9000
@@ -20,7 +22,7 @@ spring:
     gateway:
     gateway:
       routes:
       routes:
         - id: auth_route
         - id: auth_route
-          uri: http://172.24.144.227:8081/
+          uri: http://172.24.144.225:8081/
           predicates:
           predicates:
             - name: MultiPath
             - name: MultiPath
               args:
               args:
@@ -30,7 +32,7 @@ spring:
                   - /appAuth/**
                   - /appAuth/**
 
 
         - id: platform_route
         - id: platform_route
-          uri: http://172.24.144.227:8083/
+          uri: http://172.24.144.225:8083/
           predicates:
           predicates:
             - name: MultiPath
             - name: MultiPath
               args:
               args:
@@ -47,7 +49,7 @@ spring:
                   - /menu/**
                   - /menu/**
 
 
         - id: tenant_route
         - id: tenant_route
-          uri: http://172.24.144.227:8084/
+          uri: http://172.24.144.225:8084/
           predicates:
           predicates:
             - name: MultiPath
             - name: MultiPath
               args:
               args:
@@ -99,7 +101,7 @@ spring:
                   - /followReconciliation/**
                   - /followReconciliation/**
 
 
         - id: summary_route
         - id: summary_route
-          uri: http://172.24.144.227:9898/
+          uri: http://172.24.144.225:9898/
           predicates:
           predicates:
             - name: MultiPath
             - name: MultiPath
               args:
               args:
@@ -118,7 +120,7 @@ spring:
                   - /insOrderRights/**
                   - /insOrderRights/**
 
 
         - id: costsorrule_route
         - id: costsorrule_route
-          uri: http://172.24.144.227:8085/
+          uri: http://172.24.144.225:8085/
           predicates:
           predicates:
             - name: MultiPath
             - name: MultiPath
               args:
               args:
@@ -127,7 +129,7 @@ spring:
 
 
         #控制台添加网关
         #控制台添加网关
         - id: console_route
         - id: console_route
-          uri: http://172.24.144.227:8086/
+          uri: http://172.24.144.225:8086/
           predicates:
           predicates:
             - name: MultiPath
             - name: MultiPath
               args:
               args:
@@ -135,7 +137,7 @@ spring:
                   - /console/**
                   - /console/**
         #合伙人
         #合伙人
         - id: partner_route
         - id: partner_route
-          uri: http://172.24.144.227:8087/
+          uri: http://172.24.144.225:8087/
           predicates:
           predicates:
             - name: MultiPath
             - name: MultiPath
               args:
               args:

+ 55 - 18
gateway/src/main/resources/application-test.yml

@@ -1,32 +1,28 @@
+server:
+  port: 18001
 spring:
 spring:
-  redis:
-    redisson:
-      address: redis://xxx:xxx
-      password: xxx
-      database: 0
   minio:
   minio:
-    url: http://test-api.baoxianzhanggui.com
+    url: http://172.24.144.227:9000
     access-key: v7Zb8XhyLcYNcSHlxvyK
     access-key: v7Zb8XhyLcYNcSHlxvyK
     secret-key: 58YibMwpxGKtXcekPL065OM4GonC1hf2tFMjI9EN
     secret-key: 58YibMwpxGKtXcekPL065OM4GonC1hf2tFMjI9EN
     bucket-name: jzg
     bucket-name: jzg
   cloud:
   cloud:
     nacos:
     nacos:
-      server-addr: 192.168.5.250:8848
+      server-addr: 172.24.144.227:8848
       username: nacos
       username: nacos
-      password: nacos
+      password: AnrNjNn6zCS3QdIy
       config:
       config:
         import-check:
         import-check:
           enabled: false
           enabled: false
         file-extension: yaml
         file-extension: yaml
-        namespace: bb8f915c-82b0-4f0d-9e9e-03aa629f2d45
+        namespace: 7268dffe-b5ab-4537-a2b5-2178b0693ce4
         group: DEFAULT_GROUP
         group: DEFAULT_GROUP
       discovery:
       discovery:
-        namespace: bb8f915c-82b0-4f0d-9e9e-03aa629f2d45
-
+        namespace: 7268dffe-b5ab-4537-a2b5-2178b0693ce4
     gateway:
     gateway:
       routes:
       routes:
         - id: auth_route
         - id: auth_route
-          uri: http://192.168.5.250:9081/
+          uri: http://172.24.144.224:18081/
           predicates:
           predicates:
             - name: MultiPath
             - name: MultiPath
               args:
               args:
@@ -36,7 +32,7 @@ spring:
                   - /appAuth/**
                   - /appAuth/**
 
 
         - id: platform_route
         - id: platform_route
-          uri: http://192.168.5.250:9083/
+          uri: http://172.24.144.224:18083/
           predicates:
           predicates:
             - name: MultiPath
             - name: MultiPath
               args:
               args:
@@ -50,9 +46,10 @@ spring:
                   - /qrBarcode/**
                   - /qrBarcode/**
                   - /sysDept/**
                   - /sysDept/**
                   - /manager/**
                   - /manager/**
+                  - /menu/**
 
 
         - id: tenant_route
         - id: tenant_route
-          uri: http://192.168.5.250:9084/
+          uri: http://172.24.144.224:18084/
           predicates:
           predicates:
             - name: MultiPath
             - name: MultiPath
               args:
               args:
@@ -94,14 +91,17 @@ spring:
                   - /appManage/**
                   - /appManage/**
                   - /version/**
                   - /version/**
                   - /userAccount/**
                   - /userAccount/**
-                  - /newCarJudgeRules/**
                   - /account/**
                   - /account/**
                   - /accountCard/**
                   - /accountCard/**
                   - /amountAuditing/**
                   - /amountAuditing/**
+                  - /newCarJudgeRules/**
+                  - /sysDistributionSetting/**
+                  - /organization/wechat/**
+                  - /signIn/**
                   - /followReconciliation/**
                   - /followReconciliation/**
 
 
         - id: summary_route
         - id: summary_route
-          uri: http://192.168.5.250:9898/
+          uri: http://172.24.144.224:19898/
           predicates:
           predicates:
             - name: MultiPath
             - name: MultiPath
               args:
               args:
@@ -110,6 +110,7 @@ spring:
                   - /supplementOrder/**
                   - /supplementOrder/**
                   - /order/carModel/**
                   - /order/carModel/**
                   - /unify/**
                   - /unify/**
+                  - /homepage/**
                   - /order/taskImages/**
                   - /order/taskImages/**
                   - /order/qrCode/**
                   - /order/qrCode/**
                   - /orderTrack/**
                   - /orderTrack/**
@@ -117,12 +118,48 @@ spring:
                   - /adjust/**
                   - /adjust/**
                   - /rightsGrant/**
                   - /rightsGrant/**
                   - /insOrderRights/**
                   - /insOrderRights/**
-                  - /insFeeOrder/updateAvailableAmount
 
 
         - id: costsorrule_route
         - id: costsorrule_route
-          uri: http://192.168.5.250:9085/
+          uri: http://172.24.144.224:18085/
           predicates:
           predicates:
             - name: MultiPath
             - name: MultiPath
               args:
               args:
                 paths:
                 paths:
                   - /validate/**
                   - /validate/**
+
+        #控制台添加网关
+        - id: console_route
+          uri: http://172.24.144.224:18086/
+          predicates:
+            - name: MultiPath
+              args:
+                paths:
+                  - /console/**
+        #合伙人
+        - id: partner_route
+          uri: http://172.24.144.224:18087/
+          predicates:
+            - name: MultiPath
+              args:
+                paths:
+                  - /partnerDistribution/**
+                  - /expiredCommission/**
+                  - /newAppPartner/**
+                  - /partner/commission/**
+                  - /partner/commissionDetails/**
+                  - /partnerExtractHistory/**
+                  - /partner/kickbackChange/**
+                  - /partner/liftingRecord/**
+                  - /partner/rule/**
+                  - /partner/**
+                  - /purchaseRecord/**
+
+
+  redis:
+    redisson:
+      address: redis://172.24.144.227:6379
+      password: 123456
+      database: 0
+
+seata:
+  enabled: false

+ 2 - 0
partner/src/main/resources/application-prod.yml

@@ -1,3 +1,5 @@
+server:
+  port: 8087
 spring:
 spring:
   cloud:
   cloud:
     nacos:
     nacos:

+ 9 - 10
partner/src/main/resources/application-test.yml

@@ -1,28 +1,27 @@
+server:
+  port: 18087
 spring:
 spring:
   cloud:
   cloud:
     nacos:
     nacos:
-      server-addr: 192.168.0.250:8848
+      server-addr: 172.24.144.227:8848
       username: nacos
       username: nacos
-      password: nacos
+      password: AnrNjNn6zCS3QdIy
       config:
       config:
         file-extension: yaml
         file-extension: yaml
-        namespace: bfe09cf4-508a-4443-acfa-b354be6f4bac
+        namespace: 7268dffe-b5ab-4537-a2b5-2178b0693ce4
         group: DEFAULT_GROUP
         group: DEFAULT_GROUP
       discovery:
       discovery:
-        namespace: bb8f915c-82b0-4f0d-9e9e-03aa629f2d45
+        namespace: 7268dffe-b5ab-4537-a2b5-2178b0693ce4
   config:
   config:
     import:
     import:
       - nacos:mysql
       - nacos:mysql
       - nacos:redisson
       - nacos:redisson
-      - nacos:minio
 
 
-config:
-  sso: 1
+seata:
+  enabled: false
 
 
 
 
 feign:
 feign:
   client:
   client:
     jzg-org:
     jzg-org:
-      url: http://localhost:8084/
-
-
+      url: http://172.24.144.227:8084/

+ 10 - 7
platform/src/main/resources/application-test.yml

@@ -1,25 +1,28 @@
 server:
 server:
-  port: 9083
+  port: 18083
 spring:
 spring:
   cloud:
   cloud:
     nacos:
     nacos:
-      server-addr: 192.168.0.250:8848
+      server-addr: 172.24.144.227:8848
       username: nacos
       username: nacos
-      password: nacos
+      password: AnrNjNn6zCS3QdIy
       config:
       config:
         file-extension: yaml
         file-extension: yaml
-        namespace: bb8f915c-82b0-4f0d-9e9e-03aa629f2d45
+        namespace: 7268dffe-b5ab-4537-a2b5-2178b0693ce4
         group: DEFAULT_GROUP
         group: DEFAULT_GROUP
       discovery:
       discovery:
-        namespace: bb8f915c-82b0-4f0d-9e9e-03aa629f2d45
+        namespace: 7268dffe-b5ab-4537-a2b5-2178b0693ce4
   config:
   config:
     import:
     import:
       - nacos:mysql
       - nacos:mysql
       - nacos:redisson
       - nacos:redisson
       - nacos:minio
       - nacos:minio
+      - nacos:seata-server
 
 
-config:
-  sso: 1
 
 
 
 
+config:
+  sso: 1
 
 
+graylog:
+  host: 172.24.144.227

+ 2 - 0
tenant/costsorrule/src/main/resources/application-prod.yml

@@ -1,3 +1,5 @@
+server:
+  port: 8085
 spring:
 spring:
   cloud:
   cloud:
     nacos:
     nacos:

+ 8 - 6
tenant/costsorrule/src/main/resources/application-test.yml

@@ -1,15 +1,17 @@
+server:
+  port: 18085
 spring:
 spring:
   cloud:
   cloud:
     nacos:
     nacos:
-      server-addr: 192.168.5.250:8848
+      server-addr: 172.24.144.227:8848
       username: nacos
       username: nacos
-      password: nacos
+      password: AnrNjNn6zCS3QdIy
       config:
       config:
         file-extension: yaml
         file-extension: yaml
-        namespace: bb8f915c-82b0-4f0d-9e9e-03aa629f2d45
+        namespace: 7268dffe-b5ab-4537-a2b5-2178b0693ce4
         group: DEFAULT_GROUP
         group: DEFAULT_GROUP
       discovery:
       discovery:
-        namespace: bb8f915c-82b0-4f0d-9e9e-03aa629f2d45
+        namespace: 7268dffe-b5ab-4537-a2b5-2178b0693ce4
   config:
   config:
     import:
     import:
       - nacos:mysql
       - nacos:mysql
@@ -17,5 +19,5 @@ spring:
       - nacos:minio
       - nacos:minio
       - nacos:rocketmq
       - nacos:rocketmq
 
 
-config:
-  sso: 1
+seata:
+  enabled: false

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

@@ -290,14 +290,12 @@ public class AnShengCrawlerRequestComponent {
      * @param headers 请求头
      * @param headers 请求头
      * @return 支付链接
      * @return 支付链接
      */
      */
-    public String payment(AnShengCrawlerPaymentRequest request, HttpHeaders headers) {
+    public AnShengCrawlerPaymentResponse payment(AnShengCrawlerPaymentRequest request, HttpHeaders headers) {
         try {
         try {
             return Optional.ofNullable(requestComponent.formData(
             return Optional.ofNullable(requestComponent.formData(
                             RequestUrl.PAYMENT.getRequestUrl(anShengCrawlerProperties.getUrl()),
                             RequestUrl.PAYMENT.getRequestUrl(anShengCrawlerProperties.getUrl()),
                             request, AnShengCrawlerPaymentResponse.class, headers))
                             request, AnShengCrawlerPaymentResponse.class, headers))
                     .map(ResponseEntity::getBody)
                     .map(ResponseEntity::getBody)
-                    .map(AnShengCrawlerPaymentResponse::getData)
-                    .map(AnShengCrawlerPaymentResponse.DataDTO::getFxQRCode)
                     .orElse(null);
                     .orElse(null);
         } catch (Exception e) {
         } catch (Exception e) {
             e.printStackTrace();
             e.printStackTrace();
@@ -382,4 +380,21 @@ public class AnShengCrawlerRequestComponent {
         log.info("滑块码:{}",JSONObject.toJSONString(dragSliderResp));
         log.info("滑块码:{}",JSONObject.toJSONString(dragSliderResp));
         return dragSliderResp;
         return dragSliderResp;
     }
     }
+
+    public AnShengCrawlerQuoteResultResponse queryAutoUnderwriteInfo(MultiValueMap<String, String> secondForm,HttpHeaders headers) {
+        ResponseEntity<AnShengCrawlerQuoteResultResponse> responseEntity = requestComponent.formData(RequestUrl.QUERY_AUTO_UNDERWRITE_INFO.getRequestUrl(anShengCrawlerProperties.getUrl()), secondForm, AnShengCrawlerQuoteResultResponse.class, headers);
+
+        AnShengCrawlerQuoteResultResponse response = Optional.ofNullable(responseEntity)
+                .map(HttpEntity::getBody)
+                .orElseThrow(() -> new SystemException("程序异常请联系管理员"));
+
+        return response;
+    }
+
+    public AnShengCrawlerPolicyResponse getSaleSlip(AnShengCrawlerSaleSlipRequest anShengCrawlerSaleSlipRequest, HttpHeaders headers) {
+        ResponseEntity<AnShengCrawlerPolicyResponse> responseEntity = requestComponent.formData(RequestUrl.GET_SALE_SLIP.getRequestUrl(anShengCrawlerProperties.getUrl()), anShengCrawlerSaleSlipRequest, AnShengCrawlerPolicyResponse.class, headers);
+        return Optional.ofNullable(responseEntity)
+                .map(HttpEntity::getBody)
+                .orElseThrow(() -> new SystemException("程序异常请联系管理员"));
+    }
 }
 }

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

@@ -50,7 +50,13 @@ public enum RequestUrl implements CrawlerRequestUrlStandard {
     NEW_ORDER("/astmobile/newgsOrder.do", "获取订单"),
     NEW_ORDER("/astmobile/newgsOrder.do", "获取订单"),
 
 
     //   新归属登录
     //   新归属登录
-    NEW_GS_LOGIN("/astmobile/newgsLogin.do", "归属登录")
+    NEW_GS_LOGIN("/astmobile/newgsLogin.do", "归属登录"),
+
+    //   新归属登录
+    QUERY_AUTO_UNDERWRITE_INFO("/portalapi/queryAutoUnderwriteInfo", "归属登录"),
+
+    //   获取销售单
+    GET_SALE_SLIP("/portalapi/getSaleSlip", "获取销售单")
 
 
 
 
     ;
     ;

+ 5 - 1
tenant/insurance/quotation-ansheng/src/main/java/com/jzg/quotation/ansheng/crawler/entity/request/AnShengCrawlerComprehensiveQueryInsurenetRequest.java

@@ -49,10 +49,13 @@ public class AnShengCrawlerComprehensiveQueryInsurenetRequest {
     @JsonProperty("pageSize")
     @JsonProperty("pageSize")
     private Integer pageSize;
     private Integer pageSize;
 
 
+    @JsonProperty("vehicleLicenceCode")
+    private String vehicleLicenceCode;
+
     @JsonProperty("channelSourceList")
     @JsonProperty("channelSourceList")
     private List<String> channelSourceList;
     private List<String> channelSourceList;
 
 
-    public AnShengCrawlerComprehensiveQueryInsurenetRequest(String agentCode, String departmentCode, String documentNo, String quotationTime) {
+    public AnShengCrawlerComprehensiveQueryInsurenetRequest(String agentCode, String departmentCode, String documentNo, String quotationTime,String vehicleLicenceCode) {
         this.agentCode = agentCode;
         this.agentCode = agentCode;
         this.updateType = 2;
         this.updateType = 2;
         this.page = 1;
         this.page = 1;
@@ -73,5 +76,6 @@ public class AnShengCrawlerComprehensiveQueryInsurenetRequest {
         // 订单号
         // 订单号
         this.documentNo = documentNo;
         this.documentNo = documentNo;
         this.isSubDepartment = true;
         this.isSubDepartment = true;
+        this.vehicleLicenceCode = vehicleLicenceCode;
     }
     }
 }
 }

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

@@ -0,0 +1,30 @@
+package com.jzg.quotation.ansheng.crawler.entity.request;
+
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.io.Serializable;
+
+@NoArgsConstructor
+@AllArgsConstructor
+@Data
+public class AnShengCrawlerSaleSlipRequest implements Serializable {
+
+    @JsonProperty("documentNo")
+    private String documentNo;
+
+    @JsonProperty("type")
+    private String type;
+
+
+    public AnShengCrawlerSaleSlipRequest(String documentNo){
+        this.documentNo = documentNo;
+        this.type = "5";
+
+    }
+
+
+}

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

@@ -0,0 +1,3497 @@
+package com.jzg.quotation.ansheng.crawler.entity.response;
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import lombok.Data;
+import java.io.Serializable;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 完整保单信息响应实体(全字段)
+ */
+@Data
+@JsonIgnoreProperties(ignoreUnknown = true)
+public class AnShengCrawlerPolicyResponse implements Serializable {
+    private static final long serialVersionUID = 1L;
+
+    @JsonProperty("code")
+    private Integer code;
+
+    @JsonProperty("data")
+    private DataVo data;
+
+    @JsonProperty("message")
+    private String message;
+
+    @JsonProperty("simpleMessage")
+    private String simpleMessage;
+
+    @Data
+    @JsonIgnoreProperties(ignoreUnknown = true)
+    public static class DataVo implements Serializable {
+        private static final long serialVersionUID = 1L;
+
+        @JsonProperty("isTryCal")
+        private Boolean isTryCal;
+
+        @JsonProperty("breakRules")
+        private Boolean breakRules;
+
+        @JsonProperty("isDutyAmount")
+        private Boolean isDutyAmount;
+
+        @JsonProperty("groupCodeIsView")
+        private Boolean groupCodeIsView;
+
+        @JsonProperty("isApplicantPayment")
+        private String isApplicantPayment;
+
+        @JsonProperty("cheatPermission")
+        private Boolean cheatPermission;
+
+        @JsonProperty("saleChannelSource")
+        private SaleChannelSource saleChannelSource;
+
+        @JsonProperty("isPolicyPaymentSwitch")
+        private String isPolicyPaymentSwitch;
+
+        @JsonProperty("isVirtualProductFlag")
+        private Boolean isVirtualProductFlag;
+
+        @JsonProperty("isShowFloatCommision")
+        private Boolean isShowFloatCommision;
+
+        @JsonProperty("isBusinessInsureFlag")
+        private Boolean isBusinessInsureFlag;
+
+        @JsonProperty("AbleShowVehicleStates")
+        private String ableShowVehicleStates;
+
+        @JsonProperty("isUsePlatform")
+        private Boolean isUsePlatform;
+
+        @JsonProperty("giftFlag")
+        private String giftFlag;
+
+        @JsonProperty("abstemiousCarTaxFlag")
+        private String abstemiousCarTaxFlag;
+
+        @JsonProperty("contract")
+        private Contract contract;
+
+        @JsonProperty("autoBusinessType")
+        private String autoBusinessType;
+
+        @JsonProperty("floatDiscountConfigList")
+        private List<FloatDiscountConfig> floatDiscountConfigList;
+
+        @JsonProperty("premiumParameterMap")
+        private Map<String, String> premiumParameterMap;
+
+        @JsonProperty("policyRatioSum")
+        private PolicyRatioSum policyRatioSum;
+
+        @JsonProperty("isAutoPlan")
+        private Boolean isAutoPlan;
+
+        @JsonProperty("isCompulsoryInsureFlag")
+        private Boolean isCompulsoryInsureFlag;
+
+        @JsonProperty("policySaleInfo")
+        private PolicySaleInfo policySaleInfo;
+
+        @JsonProperty("UnableShowField")
+        private UnableShowField unableShowField;
+
+        @JsonProperty("refundFlag")
+        private Boolean refundFlag;
+
+        @JsonProperty("isAxa")
+        private Boolean isAxa;
+
+        @JsonProperty("isFDDLock")
+        private String isFDDLock;
+
+        /* ================= 内部类 ================= */
+
+        @Data
+        @JsonIgnoreProperties(ignoreUnknown = true)
+        public static class SaleChannelSource implements Serializable {
+            private static final long serialVersionUID = 1L;
+
+            @JsonProperty("page")
+            private Integer page;
+            @JsonProperty("pageSize")
+            private Integer pageSize;
+            @JsonProperty("saleNo")
+            private String saleNo;
+        }
+
+        @Data
+        @JsonIgnoreProperties(ignoreUnknown = true)
+        public static class FloatDiscountConfig implements Serializable {
+            private static final long serialVersionUID = 1L;
+
+            @JsonProperty("floatId")
+            private String floatId;
+            @JsonProperty("floatName")
+            private String floatName;
+            @JsonProperty("floatValue")
+            private Double floatValue;
+            @JsonProperty("departmentCode")
+            private String departmentCode;
+            @JsonProperty("departmentName")
+            private String departmentName;
+            @JsonProperty("displayFlag")
+            private String displayFlag;
+        }
+
+        @Data
+        @JsonIgnoreProperties(ignoreUnknown = true)
+        public static class PolicyRatioSum implements Serializable {
+            private static final long serialVersionUID = 1L;
+
+            @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("averageRatio")
+            private Double averageRatio;
+        }
+
+        @Data
+        @JsonIgnoreProperties(ignoreUnknown = true)
+        public static class PolicySaleInfo implements Serializable {
+            private static final long serialVersionUID = 1L;
+
+            @JsonProperty("saleNo")
+            private String saleNo;
+            @JsonProperty("dataSource")
+            private String dataSource;
+            @JsonProperty("departmentCode")
+            private String departmentCode;
+            @JsonProperty("applicantCode")
+            private String applicantCode;
+            @JsonProperty("signTime")
+            private String signTime;
+            @JsonProperty("applyTime")
+            private String applyTime;
+            @JsonProperty("currencyCode")
+            private String currencyCode;
+            @JsonProperty("totalStandardPremium")
+            private Double totalStandardPremium;
+            @JsonProperty("totalAgreePremium")
+            private Double totalAgreePremium;
+            @JsonProperty("totalActualPremium")
+            private Double totalActualPremium;
+        }
+
+        @Data
+        @JsonIgnoreProperties(ignoreUnknown = true)
+        public static class UnableShowField implements Serializable {
+            private static final long serialVersionUID = 1L;
+
+            @JsonProperty("P")
+            private String p;
+            @JsonProperty("T")
+            private String t;
+        }
+
+        @Data
+        @JsonIgnoreProperties(ignoreUnknown = true)
+        public static class Contract implements Serializable {
+            private static final long serialVersionUID = 1L;
+
+            @JsonProperty("page")
+            private Integer page;
+            @JsonProperty("pageSize")
+            private Integer pageSize;
+            @JsonProperty("policyBase")
+            private PolicyBase policyBase;
+            @JsonProperty("brandAutoModel")
+            private BrandAutoModel brandAutoModel;
+            @JsonProperty("targets")
+            private List<Target> targets;
+            @JsonProperty("policyPayments")
+            private List<PolicyPayment> policyPayments;
+            @JsonProperty("policyAttachments")
+            private List<PolicyAttachment> policyAttachments;
+            @JsonProperty("policyPersons")
+            private List<PolicyPerson> policyPersons;
+            @JsonProperty("agentDefine")
+            private AgentDefine agentDefine;
+            @JsonProperty("departmentDefine")
+            private DepartmentDefine departmentDefine;
+            @JsonProperty("planDefine")
+            private PlanDefine planDefine;
+            @JsonProperty("productDefine")
+            private ProductDefine productDefine;
+            @JsonProperty("saleBusinessSource")
+            private SaleBusinessSource saleBusinessSource;
+            @JsonProperty("policyCoverages")
+            private List<PolicyCoverage> policyCoverages;
+            @JsonProperty("productDutys")
+            private List<ProductDuty> productDutys;
+            @JsonProperty("policyRatios")
+            private List<ContractPolicyRatio> policyRatios;
+            @JsonProperty("underwriteInfos")
+            private List<UnderwriteInfo> underwriteInfos;
+            @JsonProperty("billInfoDetail")
+            private BillInfoDetail billInfoDetail;
+            @JsonProperty("beneficiaries")
+            private List<Object> beneficiaries;
+            @JsonProperty("claimRecordList")
+            private List<Object> claimRecordList;
+            @JsonProperty("reInsureItemList")
+            private List<Object> reInsureItemList;
+            @JsonProperty("carInsurancePlatformList")
+            private List<Object> carInsurancePlatformList;
+            @JsonProperty("endorseApplyInfo")
+            private EndorseApplyInfo endorseApplyInfo;
+            @JsonProperty("policyExtend")
+            private PolicyExtend policyExtend;
+            @JsonProperty("flag")
+            private Boolean flag;
+            @JsonProperty("hasNon")
+            private Boolean hasNon;
+            @JsonProperty("allAmountChangeFlag")
+            private String allAmountChangeFlag;
+            @JsonProperty("fullReductionInfo")
+            private FullReductionInfo fullReductionInfo;
+            @JsonProperty("premiumParameter")
+            private PremiumParameter premiumParameter;
+            @JsonProperty("policyRelations")
+            private List<PolicyRelation> policyRelations;
+            @JsonProperty("policyRelInfo")
+            private PolicyRelInfo policyRelInfo;
+            @JsonProperty("oneCarOnePriceInfo")
+            private OneCarOnePriceInfo oneCarOnePriceInfo;
+            @JsonProperty("noVehicleNo")
+            private Boolean noVehicleNo;
+            @JsonProperty("noCarowner")
+            private Boolean noCarowner;
+            @JsonProperty("cheatQueryResult")
+            private List<CheatQueryResult> cheatQueryResult;
+            @JsonProperty("riskInfo")
+            private List<Object> riskInfo;
+            @JsonProperty("releaseMark")
+            private Boolean releaseMark;
+            @JsonProperty("vinVehciles")
+            private List<VinVehcile> vinVehciles;
+            @JsonProperty("lastUnderwriteInfo")
+            private LastUnderwriteInfo lastUnderwriteInfo;
+            @JsonProperty("haveCBDorODorCDA")
+            private Boolean haveCBDorODorCDA;
+            @JsonProperty("cancelPolicy")
+            private Boolean cancelPolicy;
+            @JsonProperty("returnPolicy")
+            private Boolean returnPolicy;
+            @JsonProperty("claimReturnBlackPolicy")
+            private Boolean claimReturnBlackPolicy;
+            @JsonProperty("businessType")
+            private String businessType;
+            @JsonProperty("insuranceEndTime")
+            private String insuranceEndTime;
+            @JsonProperty("departmentCode")
+            private String departmentCode;
+            @JsonProperty("planCode")
+            private String planCode;
+            @JsonProperty("insuranceBeginTime")
+            private String insuranceBeginTime;
+            @JsonProperty("applicant")
+            private Applicant applicant;
+            @JsonProperty("vehicle")
+            private Vehicle vehicle;
+            @JsonProperty("usageAttributeCode")
+            private String usageAttributeCode;
+            @JsonProperty("insuraner")
+            private Insuraner insuraner;
+            @JsonProperty("internalDepartmentCode")
+            private String internalDepartmentCode;
+            @JsonProperty("businessInsureCa")
+            private Boolean businessInsureCa;
+            @JsonProperty("compulsoryInsureCa")
+            private Boolean compulsoryInsureCa;
+            @JsonProperty("productCode")
+            private String productCode;
+            @JsonProperty("vehicleOwner")
+            private VehicleOwner vehicleOwner;
+            @JsonProperty("businessTypeDetail")
+            private String businessTypeDetail;
+            @JsonProperty("returnOrCancelPolicy")
+            private Boolean returnOrCancelPolicy;
+            @JsonProperty("insuredPerson")
+            private InsuredPerson insuredPerson;
+            @JsonProperty("applicantPerson")
+            private ApplicantPerson applicantPerson;
+            @JsonProperty("ownerPerson")
+            private OwnerPerson ownerPerson;
+            @JsonProperty("commerialFlag")
+            private Boolean commerialFlag;
+            @JsonProperty("vehicleAge")
+            private Double vehicleAge;
+
+            /* ===== Contract 的内部类 ===== */
+
+            @Data
+            @JsonIgnoreProperties(ignoreUnknown = true)
+            public static class PolicyBase implements Serializable {
+                private static final long serialVersionUID = 1L;
+
+                @JsonProperty("createdDate")
+                private String createdDate;
+                @JsonProperty("page")
+                private Integer page;
+                @JsonProperty("pageSize")
+                private Integer pageSize;
+                @JsonProperty("applyPolicyNo")
+                private String applyPolicyNo;
+                @JsonProperty("saleNo")
+                private String saleNo;
+                @JsonProperty("vehicleLicenceCode")
+                private String vehicleLicenceCode;
+                @JsonProperty("vehicleFrameNo")
+                private String vehicleFrameNo;
+                @JsonProperty("applyTime")
+                private String applyTime;
+                @JsonProperty("underwriteMark")
+                private String underwriteMark;
+                @JsonProperty("inputByName")
+                private String inputByName;
+                @JsonProperty("inputBy")
+                private String inputBy;
+                @JsonProperty("inputDate")
+                private String inputDate;
+                @JsonProperty("planCode")
+                private String planCode;
+                @JsonProperty("productCode")
+                private String productCode;
+                @JsonProperty("departmentCode")
+                private String departmentCode;
+                @JsonProperty("includeSubDep")
+                private Boolean includeSubDep;
+                @JsonProperty("channelSource")
+                private String channelSource;
+                @JsonProperty("insuranceBeginTime")
+                private String insuranceBeginTime;
+                @JsonProperty("insuranceEndTime")
+                private String insuranceEndTime;
+                @JsonProperty("applicantName")
+                private String applicantName;
+                @JsonProperty("applicantPhone")
+                private String applicantPhone;
+                @JsonProperty("insuranerName")
+                private String insuranerName;
+                @JsonProperty("agentCode")
+                private String agentCode;
+                @JsonProperty("agentLevelCode")
+                private String agentLevelCode;
+                @JsonProperty("agentName")
+                private String agentName;
+                @JsonProperty("currencyCode")
+                private String currencyCode;
+                @JsonProperty("currencyCodeName")
+                private String currencyCodeName;
+                @JsonProperty("totalInsuredAmount")
+                private Double totalInsuredAmount;
+                @JsonProperty("totalStandardPremium")
+                private Double totalStandardPremium;
+                @JsonProperty("totalAgreePremium")
+                private Double totalAgreePremium;
+                @JsonProperty("totalActualPremium")
+                private Double totalActualPremium;
+                @JsonProperty("totalNetPremium")
+                private Double totalNetPremium;
+                @JsonProperty("totalActualSumPremium")
+                private Double totalActualSumPremium;
+                @JsonProperty("addedValueTax")
+                private Double addedValueTax;
+                @JsonProperty("rateScale")
+                private Integer rateScale;
+                @JsonProperty("rateTwoScale")
+                private Integer rateTwoScale;
+                @JsonProperty("businessType")
+                private String businessType;
+                @JsonProperty("businessTypeDetail")
+                private String businessTypeDetail;
+                @JsonProperty("insuranceBeginTimeSY")
+                private String insuranceBeginTimeSY;
+                @JsonProperty("targetType")
+                private String targetType;
+                @JsonProperty("shortTimeCoefficient")
+                private String shortTimeCoefficient;
+                @JsonProperty("quoteTaskNo")
+                private String quoteTaskNo;
+                @JsonProperty("ratioODSum")
+                private Double ratioODSum;
+                @JsonProperty("ratioTPSum")
+                private Double ratioTPSum;
+                @JsonProperty("ratioTHEFTSum")
+                private Double ratioTHEFTSum;
+                @JsonProperty("ratioOTHERSum")
+                private Double ratioOTHERSum;
+                @JsonProperty("fixedSpecialPromise")
+                private String fixedSpecialPromise;
+                @JsonProperty("alterableSpecialPromise")
+                private String alterableSpecialPromise;
+                @JsonProperty("policyScoreDecisionWay")
+                private String policyScoreDecisionWay;
+                @JsonProperty("keyOverServer")
+                private String keyOverServer;
+                @JsonProperty("applyQueryCode")
+                private String applyQueryCode;
+                @JsonProperty("applyQueryPlatformID")
+                private String applyQueryPlatformID;
+                @JsonProperty("ePolicyPDFTime")
+                private String ePolicyPDFTime;
+                @JsonProperty("disputedSettleMode")
+                private String disputedSettleMode;
+                @JsonProperty("disputedSettleModeName")
+                private String disputedSettleModeName;
+                @JsonProperty("signTime")
+                private String signTime;
+                @JsonProperty("personnelName")
+                private String personnelName;
+                @JsonProperty("claimRecordBizSize")
+                private Integer claimRecordBizSize;
+                @JsonProperty("claimRecordSize")
+                private Integer claimRecordSize;
+                @JsonProperty("realBusinessType")
+                private String realBusinessType;
+                @JsonProperty("relationId")
+                private String relationId;
+                @JsonProperty("transfer")
+                private String transfer;
+                @JsonProperty("forcePolicyFlag")
+                private String forcePolicyFlag;
+                @JsonProperty("relationPolicy")
+                private String relationPolicy;
+                @JsonProperty("relationPolicyName")
+                private String relationPolicyName;
+                @JsonProperty("policySource")
+                private String policySource;
+                @JsonProperty("appCheckVihecleCode")
+                private String appCheckVihecleCode;
+                @JsonProperty("getPoundage")
+                private String getPoundage;
+                @JsonProperty("mainVersionNo")
+                private String mainVersionNo;
+                @JsonProperty("firstTrialTaskNo")
+                private String firstTrialTaskNo;
+                @JsonProperty("commissionRateUpper")
+                private String commissionRateUpper;
+                @JsonProperty("companyCommissionRateUpper")
+                private String companyCommissionRateUpper;
+                @JsonProperty("commissionChargeProportion")
+                private String commissionChargeProportion;
+                @JsonProperty("certificationType")
+                private String certificationType;
+                @JsonProperty("baseFlag")
+                private String baseFlag;
+                @JsonProperty("allClaimAmountBiz")
+                private Integer allClaimAmountBiz;
+                @JsonProperty("allClaimAmount")
+                private Integer allClaimAmount;
+                @JsonProperty("peccancyRecordSize")
+                private String peccancyRecordSize;
+                @JsonProperty("localRenewView")
+                private String localRenewView;
+                @JsonProperty("localPeccancyZize")
+                private Integer localPeccancyZize;
+                @JsonProperty("localLossRatio")
+                private Integer localLossRatio;
+                @JsonProperty("illegalInsuredCertFlag")
+                private Boolean illegalInsuredCertFlag;
+                @JsonProperty("immediateEffectFlag")
+                private String immediateEffectFlag;
+                @JsonProperty("servicePolicyList")
+                private List<ServicePolicy> servicePolicyList;
+                @JsonProperty("standarded")
+                private String standarded;
+                @JsonProperty("circPaymentNo")
+                private String circPaymentNo;
+                @JsonProperty("isManualRateFlag")
+                private String isManualRateFlag;
+                @JsonProperty("notSeeFeeSign")
+                private String notSeeFeeSign;
+                @JsonProperty("isHaveFee")
+                private String isHaveFee;
+                @JsonProperty("isOverdue")
+                private Boolean isOverdue;
+                @JsonProperty("blackDivisor")
+                private String blackDivisor;
+                @JsonProperty("policyNoState")
+                private String policyNoState;
+                @JsonProperty("basicTypeCountsMap")
+                private List<Object> basicTypeCountsMap;
+                @JsonProperty("policyAssociationQuotation")
+                private String policyAssociationQuotation;
+                @JsonProperty("giftFlowSwitch")
+                private String giftFlowSwitch;
+                @JsonProperty("applicantAgeFlag")
+                private Boolean applicantAgeFlag;
+                @JsonProperty("insuranerAgeFlag")
+                private Boolean insuranerAgeFlag;
+                @JsonProperty("personnelAgeFlag")
+                private Boolean personnelAgeFlag;
+                @JsonProperty("minRatioMode")
+                private String minRatioMode;
+                @JsonProperty("factorScale")
+                private String factorScale;
+                @JsonProperty("insuranceEndTimeSY")
+                private String insuranceEndTimeSY;
+                @JsonProperty("compulsoryInsureFlag")
+                private Boolean compulsoryInsureFlag;
+                @JsonProperty("businessInsureFlag")
+                private Boolean businessInsureFlag;
+                @JsonProperty("shortTimeCoefficientShow")
+                private Boolean shortTimeCoefficientShow;
+
+                @Data
+                @JsonIgnoreProperties(ignoreUnknown = true)
+                public static class ServicePolicy implements Serializable {
+                    private static final long serialVersionUID = 1L;
+
+                    @JsonProperty("page")
+                    private Integer page;
+                    @JsonProperty("pageSize")
+                    private Integer pageSize;
+                    @JsonProperty("policyNo")
+                    private String policyNo;
+                    @JsonProperty("serviceType")
+                    private String serviceType;
+                    @JsonProperty("serviceId")
+                    private String serviceId;
+                    @JsonProperty("activationFlag")
+                    private String activationFlag;
+                    @JsonProperty("inureDate")
+                    private String inureDate;
+                    @JsonProperty("departmentCode")
+                    private String departmentCode;
+                    @JsonProperty("docType")
+                    private String docType;
+                    @JsonProperty("serviceName")
+                    private String serviceName;
+                }
+            }
+
+            @Data
+            @JsonIgnoreProperties(ignoreUnknown = true)
+            public static class BrandAutoModel implements Serializable {
+                private static final long serialVersionUID = 1L;
+
+                @JsonProperty("page")
+                private Integer page;
+                @JsonProperty("pageSize")
+                private Integer pageSize;
+                @JsonProperty("flag")
+                private String flag;
+                @JsonProperty("limitVehicle")
+                private Integer limitVehicle;
+            }
+
+            @Data
+            @JsonIgnoreProperties(ignoreUnknown = true)
+            public static class Target implements Serializable {
+                private static final long serialVersionUID = 1L;
+
+                @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("targetCoverages")
+                private List<TargetCoverage> targetCoverages;
+                @JsonProperty("targetRatios")
+                private List<Object> targetRatios;
+                @JsonProperty("beneficiaryList")
+                private List<Object> beneficiaryList;
+                @JsonProperty("policyPricing")
+                private PolicyPricing policyPricing;
+                @JsonProperty("vehicleLicenceCode")
+                private String vehicleLicenceCode;
+                @JsonProperty("vehicleFrameNo")
+                private String vehicleFrameNo;
+                @JsonProperty("engineNo")
+                private String engineNo;
+                @JsonProperty("firstRegisterDate")
+                private String firstRegisterDate;
+                @JsonProperty("importFlag")
+                private String importFlag;
+                @JsonProperty("vehicleType")
+                private String vehicleType;
+                @JsonProperty("vehicleStyle")
+                private String vehicleStyle;
+                @JsonProperty("autoModelCode")
+                private String autoModelCode;
+                @JsonProperty("vehicleSeats")
+                private Integer vehicleSeats;
+                @JsonProperty("originalVehicleSeats")
+                private Integer originalVehicleSeats;
+                @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("originalExhaustCapability")
+                private Double originalExhaustCapability;
+                @JsonProperty("vehicleTonnages")
+                private Integer vehicleTonnages;
+                @JsonProperty("originalVehicleTonnages")
+                private Integer originalVehicleTonnages;
+                @JsonProperty("power")
+                private Integer power;
+                @JsonProperty("maxDesignSpeed")
+                private String maxDesignSpeed;
+                @JsonProperty("customerNegotiatePrice")
+                private Double customerNegotiatePrice;
+                @JsonProperty("originalCustomerNegotiatePrice")
+                private Double originalCustomerNegotiatePrice;
+                @JsonProperty("vehicleTax")
+                private VehicleTax vehicleTax;
+                @JsonProperty("vehicleStyleDesc")
+                private String vehicleStyleDesc;
+                @JsonProperty("modelCode")
+                private String modelCode;
+                @JsonProperty("weigth")
+                private Double weigth;
+                @JsonProperty("originalVehicleWeigth")
+                private Double originalVehicleWeigth;
+                @JsonProperty("maker")
+                private String maker;
+                @JsonProperty("brandChnName")
+                private String brandChnName;
+                @JsonProperty("averageMile")
+                private Integer averageMile;
+                @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("vehicleLossInsuredValue")
+                private Integer vehicleLossInsuredValue;
+                @JsonProperty("vehicleTypeName")
+                private String vehicleTypeName;
+                @JsonProperty("makeDate")
+                private String makeDate;
+                @JsonProperty("stopFlag")
+                private String stopFlag;
+                @JsonProperty("detailDesc")
+                private String detailDesc;
+                @JsonProperty("dbVehicleType")
+                private String dbVehicleType;
+                @JsonProperty("brand")
+                private String brand;
+                @JsonProperty("vehicleColor")
+                private String vehicleColor;
+                @JsonProperty("salePrice")
+                private String salePrice;
+                @JsonProperty("brandCode")
+                private String brandCode;
+                @JsonProperty("noDamageYears")
+                private Integer noDamageYears;
+                @JsonProperty("madeDate")
+                private String madeDate;
+                @JsonProperty("licenceTypeName")
+                private String licenceTypeName;
+                @JsonProperty("modelsListedYear")
+                private String modelsListedYear;
+                @JsonProperty("vehiclePurchasePrice")
+                private String vehiclePurchasePrice;
+                @JsonProperty("thirdResultClaimRecordBiz")
+                private List<Object> thirdResultClaimRecordBiz;
+                @JsonProperty("thirdResultPeccancyRecord")
+                private List<Object> thirdResultPeccancyRecord;
+                @JsonProperty("riskWarnings")
+                private List<Object> riskWarnings;
+                @JsonProperty("duplicatedList")
+                private List<Object> duplicatedList;
+                @JsonProperty("precisionScores")
+                private List<Object> precisionScores;
+                @JsonProperty("checkVehicleInfo")
+                private CheckVehicleInfo checkVehicleInfo;
+                @JsonProperty("theftproofEquipmentCode")
+                private String theftproofEquipmentCode;
+                @JsonProperty("standardName")
+                private String standardName;
+                @JsonProperty("vehicleDBFlag")
+                private String vehicleDBFlag;
+                @JsonProperty("diffVehicleAgeYearMoth")
+                private String diffVehicleAgeYearMoth;
+                @JsonProperty("macauVehicleFlag")
+                private String macauVehicleFlag;
+                @JsonProperty("ratio")
+                private String ratio;
+                @JsonProperty("vehicleRegisterDate")
+                private String vehicleRegisterDate;
+                @JsonProperty("commissionAgent")
+                private Map<String, Object> commissionAgent;
+                @JsonProperty("totalMass")
+                private Double totalMass;
+                @JsonProperty("local")
+                private Boolean local;
+                @JsonProperty("targetTotalActualPremium")
+                private Double targetTotalActualPremium;
+
+                @Data
+                @JsonIgnoreProperties(ignoreUnknown = true)
+                public static class TargetCoverage implements Serializable {
+                    private static final long serialVersionUID = 1L;
+
+                    @JsonProperty("page")
+                    private Integer page;
+                    @JsonProperty("pageSize")
+                    private Integer pageSize;
+                    @JsonProperty("dutyId")
+                    private String dutyId;
+                    @JsonProperty("fullYearPremium")
+                    private String fullYearPremium;
+                    @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 Double 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 Double equipmentInsureAmount;
+                    @JsonProperty("allAmountDef")
+                    private Double allAmountDef;
+                    @JsonProperty("newFlag")
+                    private Boolean newFlag;
+                    @JsonProperty("modifyFlag")
+                    private Boolean modifyFlag;
+                    @JsonProperty("calculateEndorsePremium")
+                    private Integer calculateEndorsePremium;
+                    @JsonProperty("checkEndorsePremium")
+                    private Double checkEndorsePremium;
+                    @JsonProperty("dutyVer")
+                    private String dutyVer;
+                    @JsonProperty("applyPolicyNo")
+                    private String applyPolicyNo;
+                    @JsonProperty("insuredAmountDef")
+                    private Double insuredAmountDef;
+                    @JsonProperty("dutyTargetType")
+                    private String dutyTargetType;
+                    @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("insuranceBeginTime")
+                    private String insuranceBeginTime;
+                    @JsonProperty("insuranceEndTime")
+                    private String insuranceEndTime;
+                    @JsonProperty("refundFlag")
+                    private String refundFlag;
+                    @JsonProperty("coverageNum")
+                    private Integer coverageNum;
+                    @JsonProperty("isShareSumDutyFlag")
+                    private String isShareSumDutyFlag;
+                    @JsonProperty("priority")
+                    private String priority;
+                    @JsonProperty("coverageCancelOrReturn")
+                    private Boolean coverageCancelOrReturn;
+                    @JsonProperty("coverageReturn")
+                    private Boolean coverageReturn;
+                    @JsonProperty("coverageCancel")
+                    private Boolean coverageCancel;
+                    @JsonProperty("claimCoverageReturn")
+                    private Boolean claimCoverageReturn;
+                    @JsonProperty("ariExpense")
+                    private Integer ariExpense;
+                }
+
+                @Data
+                @JsonIgnoreProperties(ignoreUnknown = true)
+                public static class PolicyPricing implements Serializable {
+                    private static final long serialVersionUID = 1L;
+
+                    @JsonProperty("page")
+                    private Integer page;
+                    @JsonProperty("pageSize")
+                    private Integer pageSize;
+                    @JsonProperty("usageAttributeCode")
+                    private String usageAttributeCode;
+                    @JsonProperty("ownershipAttributeCode")
+                    private String ownershipAttributeCode;
+                    @JsonProperty("dbVehicleValue")
+                    private Integer dbVehicleValue;
+                    @JsonProperty("isMotorcade")
+                    private String isMotorcade;
+                    @JsonProperty("specialCarFlag")
+                    private String specialCarFlag;
+                    @JsonProperty("autoRuleRatioOD")
+                    private Double autoRuleRatioOD;
+                    @JsonProperty("autoRuleRatioTP")
+                    private Double autoRuleRatioTP;
+                    @JsonProperty("autoRuleRatioTHEFT")
+                    private Double autoRuleRatioTHEFT;
+                    @JsonProperty("autoRuleRatioOTHER")
+                    private Double autoRuleRatioOTHER;
+                    @JsonProperty("autoFloatTargetRebate")
+                    private Integer autoFloatTargetRebate;
+                    @JsonProperty("autoFloatRatioOD")
+                    private Integer autoFloatRatioOD;
+                    @JsonProperty("autoFloatHandingCost")
+                    private Integer autoFloatHandingCost;
+                    @JsonProperty("ratioFluctuateType")
+                    private String ratioFluctuateType;
+                    @JsonProperty("ratioFluctuateTypeName")
+                    private String ratioFluctuateTypeName;
+                    @JsonProperty("scoreRunId")
+                    private String scoreRunId;
+                    @JsonProperty("applyQueryCode")
+                    private String applyQueryCode;
+                    @JsonProperty("vehicleTypeChiName")
+                    private String vehicleTypeChiName;
+                    @JsonProperty("priceType")
+                    private String priceType;
+                    @JsonProperty("dbVehicleVeiw")
+                    private String dbVehicleVeiw;
+                    @JsonProperty("dbVehicleBrand")
+                    private String dbVehicleBrand;
+                    @JsonProperty("riskFlag")
+                    private String riskFlag;
+                    @JsonProperty("vehicleAlias")
+                    private String vehicleAlias;
+                    @JsonProperty("dbVehicleTypeName")
+                    private String dbVehicleTypeName;
+                    @JsonProperty("dbVehicleSeats")
+                    private String dbVehicleSeats;
+                    @JsonProperty("dbExhaustCapability")
+                    private String dbExhaustCapability;
+                    @JsonProperty("dbVehicleTonnages")
+                    private String dbVehicleTonnages;
+                    @JsonProperty("dbVehicleWeigth")
+                    private String dbVehicleWeigth;
+                    @JsonProperty("ifModelRate")
+                    private String ifModelRate;
+                    @JsonProperty("modelrate")
+                    private String modelrate;
+                    @JsonProperty("isSpecialInsuranceVehicle")
+                    private String isSpecialInsuranceVehicle;
+                    @JsonProperty("preferentialPremium")
+                    private String preferentialPremium;
+                    @JsonProperty("lastyearStartDate")
+                    private String lastyearStartDate;
+                    @JsonProperty("lastyearEndDate")
+                    private String lastyearEndDate;
+                    @JsonProperty("claimAdjustRatio")
+                    private String claimAdjustRatio;
+                    @JsonProperty("peccancyAdjustRatio")
+                    private String peccancyAdjustRatio;
+                    @JsonProperty("nonclaimAdjustOld")
+                    private Double nonclaimAdjustOld;
+                    @JsonProperty("allClaimAmountBiz")
+                    private Integer allClaimAmountBiz;
+                    @JsonProperty("claimRecordSize")
+                    private Integer claimRecordSize;
+                    @JsonProperty("peccancyPotationSize")
+                    private Integer peccancyPotationSize;
+                    @JsonProperty("peccancyDrunkSize")
+                    private Integer peccancyDrunkSize;
+                    @JsonProperty("reInsureItemList")
+                    private List<Object> reInsureItemList;
+                    @JsonProperty("nonclaimAdjust")
+                    private Double nonclaimAdjust;
+                    @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("rateTable")
+                    private String rateTable;
+                    @JsonProperty("adviceDiscount")
+                    private Integer adviceDiscount;
+                    @JsonProperty("businessInOrOut")
+                    private String businessInOrOut;
+                    @JsonProperty("modelDiscountShow")
+                    private String modelDiscountShow;
+                    @JsonProperty("ruleRatioOD")
+                    private Double ruleRatioOD;
+                    @JsonProperty("ruleRatioTP")
+                    private Double ruleRatioTP;
+                    @JsonProperty("ruleRatioTHEFT")
+                    private Double ruleRatioTHEFT;
+                    @JsonProperty("ruleRatioOTHER")
+                    private Double ruleRatioOTHER;
+                    @JsonProperty("partInfo")
+                    private String partInfo;
+                    @JsonProperty("vehicleCode")
+                    private String vehicleCode;
+                    @JsonProperty("claimAdjustLevel")
+                    private String claimAdjustLevel;
+                    @JsonProperty("comprehensiveScore")
+                    private Integer comprehensiveScore;
+                    @JsonProperty("ruleRatioAverage")
+                    private Double ruleRatioAverage;
+                    @JsonProperty("sumPeccancy")
+                    private String sumPeccancy;
+                    @JsonProperty("seriousPeccancy")
+                    private String seriousPeccancy;
+                    @JsonProperty("slightPeccancyCount")
+                    private String slightPeccancyCount;
+                    @JsonProperty("electronicCertInfo")
+                    private List<ElectronicCertInfo> electronicCertInfo;
+                    @JsonProperty("lastyearEndDateFormat")
+                    private String lastyearEndDateFormat;
+                    @JsonProperty("newColor")
+                    private String newColor;
+                    @JsonProperty("lastyearStartDateFormat")
+                    private String lastyearStartDateFormat;
+
+                    @Data
+                    @JsonIgnoreProperties(ignoreUnknown = true)
+                    public static class ElectronicCertInfo implements Serializable {
+                        private static final long serialVersionUID = 1L;
+
+                        @JsonProperty("name")
+                        private String name;
+                    }
+                }
+
+                @Data
+                @JsonIgnoreProperties(ignoreUnknown = true)
+                public static class VehicleTax implements Serializable {
+                    private static final long serialVersionUID = 1L;
+
+                    @JsonProperty("page")
+                    private Integer page;
+                    @JsonProperty("pageSize")
+                    private Integer pageSize;
+                    @JsonProperty("lateDay")
+                    private Integer lateDay;
+                    @JsonProperty("urgentState")
+                    private Boolean urgentState;
+                    @JsonProperty("endorseChange")
+                    private Boolean endorseChange;
+                    @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;
+                }
+
+                @Data
+                @JsonIgnoreProperties(ignoreUnknown = true)
+                public static class CheckVehicleInfo implements Serializable {
+                    private static final long serialVersionUID = 1L;
+
+                    @JsonProperty("page")
+                    private Integer page;
+                    @JsonProperty("pageSize")
+                    private Integer pageSize;
+                    @JsonProperty("checkVehicleFlag")
+                    private String checkVehicleFlag;
+                }
+            }
+
+            @Data
+            @JsonIgnoreProperties(ignoreUnknown = true)
+            public static class PolicyPayment implements Serializable {
+                private static final long serialVersionUID = 1L;
+
+                @JsonProperty("page")
+                private Integer page;
+                @JsonProperty("pageSize")
+                private Integer pageSize;
+                @JsonProperty("paymentPremiumTimes")
+                private Integer paymentPremiumTimes;
+                @JsonProperty("paymentPersonCode")
+                private String paymentPersonCode;
+                @JsonProperty("paymentBeginDate")
+                private String paymentBeginDate;
+                @JsonProperty("paymentEndDate")
+                private String paymentEndDate;
+                @JsonProperty("actualPremium")
+                private Double actualPremium;
+                @JsonProperty("paymentMode")
+                private String paymentMode;
+                @JsonProperty("paymentPersonCertCode")
+                private String paymentPersonCertCode;
+                @JsonProperty("paymentRate")
+                private Integer paymentRate;
+                @JsonProperty("termId")
+                private String termId;
+                @JsonProperty("shopId")
+                private String shopId;
+                @JsonProperty("flatUnits")
+                private String flatUnits;
+                @JsonProperty("realPaymentMode")
+                private String realPaymentMode;
+                @JsonProperty("accountType")
+                private String accountType;
+                @JsonProperty("isApplicantPayment")
+                private String isApplicantPayment;
+                @JsonProperty("paymentCodeCash")
+                private Boolean paymentCodeCash;
+                @JsonProperty("paymentCodePrePay")
+                private Boolean paymentCodePrePay;
+                @JsonProperty("paymentNeedConfirmCode")
+                private Boolean paymentNeedConfirmCode;
+            }
+
+            @Data
+            @JsonIgnoreProperties(ignoreUnknown = true)
+            public static class PolicyAttachment implements Serializable {
+                private static final long serialVersionUID = 1L;
+
+                @JsonProperty("createdDate")
+                private String createdDate;
+                @JsonProperty("updatedDate")
+                private String updatedDate;
+                @JsonProperty("page")
+                private Integer page;
+                @JsonProperty("pageSize")
+                private Integer pageSize;
+                @JsonProperty("attachmentNo")
+                private String attachmentNo;
+                @JsonProperty("attachmentType")
+                private String attachmentType;
+                @JsonProperty("attachmentName")
+                private String attachmentName;
+                @JsonProperty("uploadFileNo")
+                private String uploadFileNo;
+                @JsonProperty("uploadFileType")
+                private String uploadFileType;
+                @JsonProperty("uploadFileTypeName")
+                private String uploadFileTypeName;
+                @JsonProperty("secretUploadFileNo")
+                private String secretUploadFileNo;
+                @JsonProperty("uploadFileFlag")
+                private String uploadFileFlag;
+            }
+
+            @Data
+            @JsonIgnoreProperties(ignoreUnknown = true)
+            public static class PolicyPerson implements Serializable {
+                private static final long serialVersionUID = 1L;
+
+                @JsonProperty("page")
+                private Integer page;
+                @JsonProperty("pageSize")
+                private Integer pageSize;
+                @JsonProperty("personnelCode")
+                private String personnelCode;
+                @JsonProperty("personnelAttribute")
+                private String personnelAttribute;
+                @JsonProperty("relationshipWithInsured")
+                private String relationshipWithInsured;
+                @JsonProperty("personnelInfoBase")
+                private PersonnelInfoBase personnelInfoBase;
+                @JsonProperty("sameInsuranerPersonnel")
+                private String sameInsuranerPersonnel;
+                @JsonProperty("person")
+                private Boolean person;
+                @JsonProperty("group")
+                private Boolean group;
+                @JsonProperty("owner")
+                private Boolean owner;
+                @JsonProperty("applicant")
+                private Boolean applicant;
+                @JsonProperty("insuraner")
+                private Boolean insuraner;
+
+                @Data
+                @JsonIgnoreProperties(ignoreUnknown = true)
+                public static class PersonnelInfoBase implements Serializable {
+                    private static final long serialVersionUID = 1L;
+
+                    @JsonProperty("page")
+                    private Integer page;
+                    @JsonProperty("pageSize")
+                    private Integer pageSize;
+                    @JsonProperty("personnelCode")
+                    private String personnelCode;
+                    @JsonProperty("vipMark")
+                    private String vipMark;
+                    @JsonProperty("personTypeDetailCode")
+                    private String personTypeDetailCode;
+                    @JsonProperty("person")
+                    private Person person;
+                    @JsonProperty("personTypeOverseas")
+                    private String personTypeOverseas;
+                    @JsonProperty("certificateType")
+                    private String certificateType;
+                    @JsonProperty("certificateNo")
+                    private String certificateNo;
+                    @JsonProperty("personnelName")
+                    private String personnelName;
+                    @JsonProperty("mobileTelephone")
+                    private String mobileTelephone;
+                    @JsonProperty("address")
+                    private String address;
+
+                    @Data
+                    @JsonIgnoreProperties(ignoreUnknown = true)
+                    public static class Person implements Serializable {
+                        private static final long serialVersionUID = 1L;
+
+                        @JsonProperty("page")
+                        private Integer page;
+                        @JsonProperty("pageSize")
+                        private Integer pageSize;
+                        @JsonProperty("personnelCode")
+                        private String personnelCode;
+                        @JsonProperty("personnelName")
+                        private String personnelName;
+                        @JsonProperty("certificateType")
+                        private String certificateType;
+                        @JsonProperty("certificateNo")
+                        private String certificateNo;
+                        @JsonProperty("mobileTelephone")
+                        private String mobileTelephone;
+                        @JsonProperty("homeAreaCode")
+                        private String homeAreaCode;
+                        @JsonProperty("homeTelephone")
+                        private String homeTelephone;
+                        @JsonProperty("officeAreaCode")
+                        private String officeAreaCode;
+                        @JsonProperty("officeTelephone")
+                        private String officeTelephone;
+                        @JsonProperty("postcode")
+                        private String postcode;
+                        @JsonProperty("email")
+                        private String email;
+                        @JsonProperty("address")
+                        private String address;
+                        @JsonProperty("birthday")
+                        private String birthday;
+                        @JsonProperty("homeAddress")
+                        private String homeAddress;
+                        @JsonProperty("homeAddressAfter")
+                        private String homeAddressAfter;
+                        @JsonProperty("homeAreaCountyCode")
+                        private String homeAreaCountyCode;
+                        @JsonProperty("homeCityCode")
+                        private String homeCityCode;
+                        @JsonProperty("homeProvinceCode")
+                        private String homeProvinceCode;
+                        @JsonProperty("invalidateFlag")
+                        private String invalidateFlag;
+                        @JsonProperty("isRuralOrUrban")
+                        private String isRuralOrUrban;
+                        @JsonProperty("personnelAge")
+                        private String personnelAge;
+                        @JsonProperty("professionCode")
+                        private String professionCode;
+                        @JsonProperty("sexCode")
+                        private String sexCode;
+                        @JsonProperty("effectedDate")
+                        private String effectedDate;
+                        @JsonProperty("expiredDate")
+                        private String expiredDate;
+                        @JsonProperty("certType")
+                        private String certType;
+                        @JsonProperty("nationalityType")
+                        private String nationalityType;
+                        @JsonProperty("longExpiredDate")
+                        private String longExpiredDate;
+                        @JsonProperty("idCardAccess")
+                        private String idCardAccess;
+                        @JsonProperty("idCardAccessDate")
+                        private String idCardAccessDate;
+                        @JsonProperty("homeAddrShow")
+                        private String homeAddrShow;
+                        @JsonProperty("certiAddrShow")
+                        private String certiAddrShow;
+                        @JsonProperty("other1AddrShow")
+                        private String other1AddrShow;
+                        @JsonProperty("other2AddrShow")
+                        private String other2AddrShow;
+                    }
+                }
+            }
+
+            @Data
+            @JsonIgnoreProperties(ignoreUnknown = true)
+            public static class AgentDefine implements Serializable {
+                private static final long serialVersionUID = 1L;
+
+                @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("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;
+            }
+
+            @Data
+            @JsonIgnoreProperties(ignoreUnknown = true)
+            public static class DepartmentDefine implements Serializable {
+                private static final long serialVersionUID = 1L;
+
+                @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("departmentCode")
+                private String departmentCode;
+                @JsonProperty("internalDepartmentCode")
+                private String internalDepartmentCode;
+                @JsonProperty("departmentChineseName")
+                private String departmentChineseName;
+                @JsonProperty("departmentAbbrName")
+                private String departmentAbbrName;
+                @JsonProperty("departmentLevel")
+                private Integer departmentLevel;
+                @JsonProperty("foundDate")
+                private String foundDate;
+                @JsonProperty("chineseAddress")
+                private String chineseAddress;
+                @JsonProperty("postCode")
+                private String postCode;
+                @JsonProperty("departmentEnglishName")
+                private String departmentEnglishName;
+                @JsonProperty("englishAddress")
+                private String englishAddress;
+                @JsonProperty("telephone")
+                private String telephone;
+                @JsonProperty("fax")
+                private String fax;
+                @JsonProperty("upperDepartmentCode")
+                private String upperDepartmentCode;
+                @JsonProperty("linkManCode")
+                private String linkManCode;
+                @JsonProperty("levelDepCode")
+                private String levelDepCode;
+                @JsonProperty("regulatoryDepartmentCode")
+                private String regulatoryDepartmentCode;
+                @JsonProperty("secondBranchCode")
+                private String secondBranchCode;
+                @JsonProperty("thirdBranchCode")
+                private String thirdBranchCode;
+                @JsonProperty("needValidateFour")
+                private String needValidateFour;
+                @JsonProperty("pigeonholeDeptCode")
+                private String pigeonholeDeptCode;
+                @JsonProperty("revenueRegisterNo")
+                private String revenueRegisterNo;
+                @JsonProperty("standareasCode")
+                private String standareasCode;
+                @JsonProperty("departmentPrintName")
+                private String departmentPrintName;
+                @JsonProperty("agentRatioSetupRule")
+                private String agentRatioSetupRule;
+                @JsonProperty("validateAttachment")
+                private String validateAttachment;
+                @JsonProperty("noticeBill")
+                private String noticeBill;
+                @JsonProperty("taxPayNo")
+                private String taxPayNo;
+                @JsonProperty("instalment")
+                private Integer instalment;
+                @JsonProperty("reportBeforeRegister")
+                private String reportBeforeRegister;
+                @JsonProperty("alarmMark")
+                private String alarmMark;
+                @JsonProperty("vehicleReportTelephone")
+                private String vehicleReportTelephone;
+                @JsonProperty("vehicleLiscenceCodePrefix")
+                private String vehicleLiscenceCodePrefix;
+                @JsonProperty("financeDepartmentCode")
+                private String financeDepartmentCode;
+                @JsonProperty("claimAddress")
+                private String claimAddress;
+                @JsonProperty("invoicePdf")
+                private String invoicePdf;
+                @JsonProperty("claimDealDepartmentCode")
+                private String claimDealDepartmentCode;
+                @JsonProperty("platform")
+                private String platform;
+                @JsonProperty("reCancelPolicy")
+                private String reCancelPolicy;
+                @JsonProperty("isCanclePolicy")
+                private String isCanclePolicy;
+                @JsonProperty("isQueryBackcode")
+                private String isQueryBackcode;
+                @JsonProperty("isPutChangedPremium")
+                private String isPutChangedPremium;
+                @JsonProperty("uploadHistoryPolicy")
+                private String uploadHistoryPolicy;
+                @JsonProperty("genRestricFlag")
+                private String genRestricFlag;
+                @JsonProperty("invoicePrint")
+                private String invoicePrint;
+                @JsonProperty("printStampTax")
+                private String printStampTax;
+                @JsonProperty("endorseInvoicePrint")
+                private String endorseInvoicePrint;
+                @JsonProperty("checkCar")
+                private String checkCar;
+                @JsonProperty("createPolicyLabel")
+                private String createPolicyLabel;
+                @JsonProperty("needValidate")
+                private String needValidate;
+                @JsonProperty("factorRatio")
+                private String factorRatio;
+                @JsonProperty("bussinessTax")
+                private String bussinessTax;
+                @JsonProperty("personnelTax")
+                private String personnelTax;
+                @JsonProperty("isForsePrint")
+                private String isForsePrint;
+                @JsonProperty("premiumPaymentMode")
+                private String premiumPaymentMode;
+                @JsonProperty("outerPaymentFlag")
+                private String outerPaymentFlag;
+                @JsonProperty("hrDepartmentCode")
+                private String hrDepartmentCode;
+                @JsonProperty("canReturnVehicletax")
+                private Integer canReturnVehicletax;
+                @JsonProperty("modifyVehicletax")
+                private Integer modifyVehicletax;
+                @JsonProperty("paymentNoticPrint")
+                private Integer paymentNoticPrint;
+                @JsonProperty("policyInvoiceRemarkPrint")
+                private String policyInvoiceRemarkPrint;
+                @JsonProperty("affiliatedCharacter")
+                private Integer affiliatedCharacter;
+                @JsonProperty("splitPolicy")
+                private Integer splitPolicy;
+                @JsonProperty("validChargeAffirmControl")
+                private Integer validChargeAffirmControl;
+                @JsonProperty("specialPromisePay")
+                private Integer specialPromisePay;
+                @JsonProperty("chequeInsureDeferredDays")
+                private Integer chequeInsureDeferredDays;
+                @JsonProperty("centralizedEvaluateFlag")
+                private String centralizedEvaluateFlag;
+                @JsonProperty("vehiclePriceType")
+                private String vehiclePriceType;
+                @JsonProperty("usePlatform")
+                private Integer usePlatform;
+                @JsonProperty("platformDestin")
+                private Integer platformDestin;
+                @JsonProperty("messageType")
+                private Integer messageType;
+                @JsonProperty("platformVehiclepriceType")
+                private String platformVehiclepriceType;
+                @JsonProperty("modifySpecialPromise")
+                private Integer modifySpecialPromise;
+                @JsonProperty("enableStandardFactorratio")
+                private String enableStandardFactorratio;
+                @JsonProperty("fillupMoney")
+                private String fillupMoney;
+                @JsonProperty("ministerFund")
+                private String ministerFund;
+                @JsonProperty("localHistoryPlatformDays")
+                private String localHistoryPlatformDays;
+                @JsonProperty("hiddenCustomerPhone")
+                private String hiddenCustomerPhone;
+                @JsonProperty("autoCardPrint")
+                private String autoCardPrint;
+                @JsonProperty("insurancePeriodJoinTips")
+                private String insurancePeriodJoinTips;
+                @JsonProperty("telQualityRule")
+                private Integer telQualityRule;
+                @JsonProperty("runcardCertificateDate")
+                private String runcardCertificateDate;
+                @JsonProperty("localPondPlatformDays")
+                private String localPondPlatformDays;
+                @JsonProperty("localPondPlatformTimes")
+                private String localPondPlatformTimes;
+                @JsonProperty("canUsePlatformAtApply")
+                private String canUsePlatformAtApply;
+                @JsonProperty("platformCacheQueryMode")
+                private String platformCacheQueryMode;
+                @JsonProperty("queryCacheFlag")
+                private String queryCacheFlag;
+                @JsonProperty("exeRuleType")
+                private String exeRuleType;
+                @JsonProperty("rateFactorDisplayControl")
+                private String rateFactorDisplayControl;
+                @JsonProperty("eposFormat")
+                private String eposFormat;
+                @JsonProperty("taxFieldConfig")
+                private String taxFieldConfig;
+                @JsonProperty("needValidateSecond")
+                private String needValidateSecond;
+                @JsonProperty("lockedFactorRatio")
+                private String lockedFactorRatio;
+                @JsonProperty("areaFlag")
+                private String areaFlag;
+                @JsonProperty("ruleRemote")
+                private String ruleRemote;
+                @JsonProperty("printControl")
+                private String printControl;
+                @JsonProperty("platformRequestCode")
+                private String platformRequestCode;
+                @JsonProperty("usePlatformVersion")
+                private String usePlatformVersion;
+                @JsonProperty("checkRepeatApply")
+                private String checkRepeatApply;
+                @JsonProperty("checkRenewPolicy")
+                private String checkRenewPolicy;
+                @JsonProperty("addressCheckModeScript")
+                private String addressCheckModeScript;
+                @JsonProperty("factorCheckFlag")
+                private String factorCheckFlag;
+                @JsonProperty("factorMinRatioFlag")
+                private String factorMinRatioFlag;
+                @JsonProperty("riskScoreType")
+                private String riskScoreType;
+                @JsonProperty("riskScoreCheck")
+                private String riskScoreCheck;
+                @JsonProperty("riskScoreShow")
+                private String riskScoreShow;
+                @JsonProperty("isAutoDrawback")
+                private String isAutoDrawback;
+                @JsonProperty("decisionScript")
+                private String decisionScript;
+                @JsonProperty("invoicePrintAbbrName")
+                private String invoicePrintAbbrName;
+                @JsonProperty("companyName")
+                private String companyName;
+                @JsonProperty("companyCurtailName")
+                private String companyCurtailName;
+                @JsonProperty("needValidateThird")
+                private String needValidateThird;
+                @JsonProperty("countryCode")
+                private String countryCode;
+                @JsonProperty("state")
+                private String state;
+                @JsonProperty("city")
+                private String city;
+                @JsonProperty("documentObsoleteNum")
+                private String documentObsoleteNum;
+                @JsonProperty("taxAmount")
+                private String taxAmount;
+                @JsonProperty("platformVinAddress")
+                private String platformVinAddress;
+                @JsonProperty("ditchFactor")
+                private String ditchFactor;
+                @JsonProperty("queryCacheNewFlag")
+                private String queryCacheNewFlag;
+                @JsonProperty("myScoreBasicConfig")
+                private String myScoreBasicConfig;
+                @JsonProperty("endorseRateDate")
+                private String endorseRateDate;
+                @JsonProperty("signCode")
+                private String signCode;
+                @JsonProperty("epolicyStartDate")
+                private String epolicyStartDate;
+                @JsonProperty("epolicyCommonCode")
+                private String epolicyCommonCode;
+                @JsonProperty("certificationChannelId")
+                private String certificationChannelId;
+                @JsonProperty("duomControlSwitch")
+                private String duomControlSwitch;
+                @JsonProperty("platformAreaCode")
+                private String platformAreaCode;
+                @JsonProperty("registerDateFlag")
+                private Boolean registerDateFlag;
+                @JsonProperty("eInvoiceSwitchTrack")
+                private String eInvoiceSwitchTrack;
+                @JsonProperty("newCarNeedApplyQuery")
+                private Boolean newCarNeedApplyQuery;
+                @JsonProperty("paymentTypeControl")
+                private Boolean paymentTypeControl;
+                @JsonProperty("deptEndorseNotCalulateVehicletex")
+                private Boolean deptEndorseNotCalulateVehicletex;
+                @JsonProperty("openPlatformVehicleTaxProcess")
+                private Boolean openPlatformVehicleTaxProcess;
+                @JsonProperty("searchPlatformDriver")
+                private Boolean searchPlatformDriver;
+                @JsonProperty("searchVehicleRTA")
+                private Boolean searchVehicleRTA;
+                @JsonProperty("openAlienVehicle")
+                private Boolean openAlienVehicle;
+                @JsonProperty("disputedSettleMode")
+                private Boolean disputedSettleMode;
+                @JsonProperty("levelDepCodeFirstLevel")
+                private String levelDepCodeFirstLevel;
+                @JsonProperty("premiumVehicle")
+                private Boolean premiumVehicle;
+                @JsonProperty("floatCustomerNegotiatePrice")
+                private Boolean floatCustomerNegotiatePrice;
+                @JsonProperty("priceOfNewAndOldCarsHandle")
+                private Boolean priceOfNewAndOldCarsHandle;
+                @JsonProperty("customerPriceExceed")
+                private Boolean customerPriceExceed;
+                @JsonProperty("sysErrorCustomerPriceExceed")
+                private Boolean sysErrorCustomerPriceExceed;
+                @JsonProperty("floatPriceSplit")
+                private Boolean floatPriceSplit;
+                @JsonProperty("dispRiskPricing")
+                private Boolean dispRiskPricing;
+                @JsonProperty("departmentCashFlag")
+                private String departmentCashFlag;
+                @JsonProperty("queryNeedAccessControl")
+                private Boolean queryNeedAccessControl;
+                @JsonProperty("showModelDiscount")
+                private Boolean showModelDiscount;
+                @JsonProperty("autoUnderwritingRuleFlag")
+                private Boolean autoUnderwritingRuleFlag;
+                @JsonProperty("allowRepeatApplyPolicy")
+                private Boolean allowRepeatApplyPolicy;
+                @JsonProperty("dispRiskError")
+                private Boolean dispRiskError;
+                @JsonProperty("idCardColletControl")
+                private Boolean idCardColletControl;
+                @JsonProperty("goodDriver")
+                private Boolean goodDriver;
+                @JsonProperty("motorFullEndorse")
+                private Boolean motorFullEndorse;
+                @JsonProperty("viewDriver")
+                private Boolean viewDriver;
+                @JsonProperty("nationalPlatformThirdQuarter22")
+                private Boolean nationalPlatformThirdQuarter22;
+                @JsonProperty("detailsAddrFlag")
+                private Boolean detailsAddrFlag;
+                @JsonProperty("breakRules")
+                private Boolean breakRules;
+                @JsonProperty("registerDate")
+                private Boolean registerDate;
+                @JsonProperty("payTaxesChoose")
+                private Boolean payTaxesChoose;
+                @JsonProperty("nationwideSecondQuarterFlag")
+                private Boolean nationwideSecondQuarterFlag;
+                @JsonProperty("useBeijingNewVehicletaxPlanform")
+                private Boolean useBeijingNewVehicletaxPlanform;
+                @JsonProperty("abstemiousCarTaxDerate")
+                private Boolean abstemiousCarTaxDerate;
+                @JsonProperty("runCardCertificateDate")
+                private Boolean runCardCertificateDate;
+                @JsonProperty("antiFraudJS")
+                private Boolean antiFraudJS;
+                @JsonProperty("needCheckAddress")
+                private Boolean needCheckAddress;
+                @JsonProperty("antiFraud")
+                private Boolean antiFraud;
+                @JsonProperty("realNameCheckForEpos")
+                private Boolean realNameCheckForEpos;
+                @JsonProperty("autoUploadHistoryPolicy")
+                private Boolean autoUploadHistoryPolicy;
+                @JsonProperty("oldPlanCodeEndorseUsePlatform")
+                private Boolean oldPlanCodeEndorseUsePlatform;
+                @JsonProperty("personnelNameDetails")
+                private Boolean personnelNameDetails;
+                @JsonProperty("taxBeginDateNoControl")
+                private Boolean taxBeginDateNoControl;
+                @JsonProperty("showGroupClaimRatio")
+                private Boolean showGroupClaimRatio;
+                @JsonProperty("customerGroupLabelFlag")
+                private Boolean customerGroupLabelFlag;
+                @JsonProperty("showFloatCommision")
+                private Boolean showFloatCommision;
+                @JsonProperty("disputedSettleModeArbitrate")
+                private Boolean disputedSettleModeArbitrate;
+                @JsonProperty("defaultBrandType")
+                private String defaultBrandType;
+                @JsonProperty("steerCardVehicleTypeLockedByExhaustCapability")
+                private Boolean steerCardVehicleTypeLockedByExhaustCapability;
+                @JsonProperty("checkReturnCode")
+                private Boolean checkReturnCode;
+                @JsonProperty("policyFormat")
+                private Boolean policyFormat;
+                @JsonProperty("needCustomerInfo")
+                private Boolean needCustomerInfo;
+                @JsonProperty("vehicleSafetyInspection")
+                private Boolean vehicleSafetyInspection;
+                @JsonProperty("showPayAddAndDeleteBtn")
+                private Boolean showPayAddAndDeleteBtn;
+                @JsonProperty("showReparationsPremium")
+                private Boolean showReparationsPremium;
+                @JsonProperty("vehicleStateFlag")
+                private Boolean vehicleStateFlag;
+                @JsonProperty("personCert")
+                private Boolean personCert;
+                @JsonProperty("certDepartmentName")
+                private Boolean certDepartmentName;
+                @JsonProperty("taxVehicleType")
+                private Boolean taxVehicleType;
+                @JsonProperty("lastYearEndDateFlag")
+                private Boolean lastYearEndDateFlag;
+                @JsonProperty("payNo")
+                private Boolean payNo;
+                @JsonProperty("payFreeState")
+                private Boolean payFreeState;
+                @JsonProperty("deductionDueCode")
+                private Boolean deductionDueCode;
+                @JsonProperty("deductionDueType")
+                private Boolean deductionDueType;
+                @JsonProperty("deductionDueProportion")
+                private Boolean deductionDueProportion;
+                @JsonProperty("deduction")
+                private Boolean deduction;
+                @JsonProperty("freeNo")
+                private Boolean freeNo;
+                @JsonProperty("defaultBillTypePaper")
+                private Boolean defaultBillTypePaper;
+                @JsonProperty("clearTaxFlag")
+                private Boolean clearTaxFlag;
+                @JsonProperty("fromTaxRegisterNo")
+                private Boolean fromTaxRegisterNo;
+                @JsonProperty("vehicleTypeDiff")
+                private Boolean vehicleTypeDiff;
+                @JsonProperty("ncdDisplaySwitchFlag")
+                private Boolean ncdDisplaySwitchFlag;
+                @JsonProperty("manualInputFreeNoFlag")
+                private Boolean manualInputFreeNoFlag;
+                @JsonProperty("platfromTimeAutoChoose")
+                private Boolean platfromTimeAutoChoose;
+                @JsonProperty("configCertDepartment")
+                private Boolean configCertDepartment;
+                @JsonProperty("printOrderFlag")
+                private Boolean printOrderFlag;
+                @JsonProperty("institutionCQ")
+                private Boolean institutionCQ;
+                @JsonProperty("bargainingByPlanform")
+                private Boolean bargainingByPlanform;
+                @JsonProperty("runCardCertificateAndFirstRegister")
+                private Boolean runCardCertificateAndFirstRegister;
+                @JsonProperty("depCodeSubStrThree")
+                private String depCodeSubStrThree;
+                @JsonProperty("vocationPriceCanModified")
+                private Boolean vocationPriceCanModified;
+                @JsonProperty("usePreciseService")
+                private Boolean usePreciseService;
+                @JsonProperty("axaApplyPolicyFormat")
+                private Boolean axaApplyPolicyFormat;
+                @JsonProperty("enableEndorseFind")
+                private Boolean enableEndorseFind;
+                @JsonProperty("agentBusiness")
+                private Boolean agentBusiness;
+                @JsonProperty("needCertCardValidityDate")
+                private Boolean needCertCardValidityDate;
+                @JsonProperty("runcardCertificateDateInput")
+                private Boolean runcardCertificateDateInput;
+                @JsonProperty("showPersonnelInfoCheck")
+                private Boolean showPersonnelInfoCheck;
+                @JsonProperty("lockTaxBeginDate")
+                private Boolean lockTaxBeginDate;
+                @JsonProperty("vehicleTaxStatusMode")
+                private String vehicleTaxStatusMode;
+                @JsonProperty("epolicyNeedEmail")
+                private Boolean epolicyNeedEmail;
+                @JsonProperty("taxPaymentBeginTimeChoose")
+                private String taxPaymentBeginTimeChoose;
+                @JsonProperty("policyAssociationQuotation")
+                private Boolean policyAssociationQuotation;
+                @JsonProperty("showPureRiskPremium")
+                private Boolean showPureRiskPremium;
+                @JsonProperty("duomControlFlag")
+                private Boolean duomControlFlag;
+                @JsonProperty("nationalPlatformThirdQuarter23")
+                private Boolean nationalPlatformThirdQuarter23;
+                @JsonProperty("vinFromBasicOrPlatform")
+                private Boolean vinFromBasicOrPlatform;
+                @JsonProperty("steerCardVehicleType")
+                private String steerCardVehicleType;
+                @JsonProperty("businessChangePlatform")
+                private String businessChangePlatform;
+                @JsonProperty("policyInfoSendPlatform")
+                private String policyInfoSendPlatform;
+                @JsonProperty("trafficDataPlatform")
+                private String trafficDataPlatform;
+                @JsonProperty("PriceTypeDefault")
+                private String PriceTypeDefault;
+                @JsonProperty("beCoveredWithVehicle")
+                private Boolean beCoveredWithVehicle;
+                @JsonProperty("peccancyTimeValueMode")
+                private String peccancyTimeValueMode;
+                @JsonProperty("isBeijingNewProcessOfCollector")
+                private Boolean isBeijingNewProcessOfCollector;
+                @JsonProperty("vehicleTaxCalculationWay")
+                private String vehicleTaxCalculationWay;
+                @JsonProperty("areaVehicleTax")
+                private String areaVehicleTax;
+                @JsonProperty("realNameIntercept")
+                private Boolean realNameIntercept;
+            }
+
+            @Data
+            @JsonIgnoreProperties(ignoreUnknown = true)
+            public static class PlanDefine implements Serializable {
+                private static final long serialVersionUID = 1L;
+
+                @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("index")
+                private String index;
+                @JsonProperty("hasVehicleTax")
+                private String hasVehicleTax;
+                @JsonProperty("autoPlan")
+                private Boolean autoPlan;
+                @JsonProperty("businessInsure")
+                private Boolean businessInsure;
+                @JsonProperty("compulsoryInsure")
+                private Boolean compulsoryInsure;
+                @JsonProperty("dutyAmount")
+                private Boolean dutyAmount;
+                @JsonProperty("compulsoryNotMoto")
+                private Boolean compulsoryNotMoto;
+                @JsonProperty("virtualProduct")
+                private Boolean virtualProduct;
+                @JsonProperty("autoAccident")
+                private Boolean autoAccident;
+                @JsonProperty("axa")
+                private Boolean axa;
+                @JsonProperty("autoBusinessType")
+                private String autoBusinessType;
+                @JsonProperty("businessMotorcycle")
+                private Boolean businessMotorcycle;
+                @JsonProperty("healthPlanCode")
+                private Boolean healthPlanCode;
+                @JsonProperty("axaTour")
+                private Boolean axaTour;
+                @JsonProperty("axaAccident")
+                private Boolean axaAccident;
+                @JsonProperty("disputedSettleModeArbitrate")
+                private Boolean disputedSettleModeArbitrate;
+                @JsonProperty("vehiclePurchasePrice")
+                private Boolean vehiclePurchasePrice;
+                @JsonProperty("forSale")
+                private Boolean forSale;
+                @JsonProperty("nonCarRetailPlanCode")
+                private Boolean nonCarRetailPlanCode;
+                @JsonProperty("motorcycleInsure")
+                private Boolean motorcycleInsure;
+                @JsonProperty("limitAcceptAge")
+                private Boolean limitAcceptAge;
+                @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("autoRenewal")
+                private Boolean autoRenewal;
+                @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("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;
+            }
+
+            @Data
+            @JsonIgnoreProperties(ignoreUnknown = true)
+            public static class ProductDefine implements Serializable {
+                private static final long serialVersionUID = 1L;
+
+                @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("productCode")
+                private String productCode;
+                @JsonProperty("productName")
+                private String productName;
+                @JsonProperty("needValidate")
+                private String needValidate;
+                @JsonProperty("orderId")
+                private String orderId;
+                @JsonProperty("productVersionNo")
+                private String productVersionNo;
+                @JsonProperty("id")
+                private String id;
+                @JsonProperty("dutyChoice")
+                private String dutyChoice;
+                @JsonProperty("checked")
+                private String checked;
+                @JsonProperty("stopPlanInsure")
+                private Boolean stopPlanInsure;
+                @JsonProperty("autoRenewal")
+                private Boolean autoRenewal;
+                @JsonProperty("returnMode")
+                private String returnMode;
+                @JsonProperty("rateForAXA")
+                private String rateForAXA;
+                @JsonProperty("shortPolicy")
+                private Boolean shortPolicy;
+                @JsonProperty("giveRisk")
+                private String giveRisk;
+                @JsonProperty("isCalculatePremium")
+                private String isCalculatePremium;
+                @JsonProperty("productFactory")
+                private Boolean productFactory;
+                @JsonProperty("calculateModeStr")
+                private String calculateModeStr;
+                @JsonProperty("useTemplates")
+                private String useTemplates;
+                @JsonProperty("haveAloneApplyPremission")
+                private Boolean haveAloneApplyPremission;
+                @JsonProperty("tpaClaims")
+                private Boolean tpaClaims;
+                @JsonProperty("printQuestionnaire")
+                private Boolean printQuestionnaire;
+                @JsonProperty("stopInsure")
+                private Boolean stopInsure;
+            }
+
+            @Data
+            @JsonIgnoreProperties(ignoreUnknown = true)
+            public static class SaleBusinessSource implements Serializable {
+                private static final long serialVersionUID = 1L;
+
+                @JsonProperty("page")
+                private Integer page;
+                @JsonProperty("pageSize")
+                private Integer pageSize;
+                @JsonProperty("saleNo")
+                private String saleNo;
+                @JsonProperty("businessSourceCode")
+                private String businessSourceCode;
+                @JsonProperty("businessSourceDetailCode")
+                private String businessSourceDetailCode;
+                @JsonProperty("saleAgentCode")
+                private String saleAgentCode;
+                @JsonProperty("saleAgentName")
+                private String saleAgentName;
+                @JsonProperty("saleGroupCode")
+                private String saleGroupCode;
+                @JsonProperty("saleGroupName")
+                private String saleGroupName;
+                @JsonProperty("businessSourceName")
+                private String businessSourceName;
+                @JsonProperty("businessSourceDetailName")
+                private String businessSourceDetailName;
+                @JsonProperty("assistantCode")
+                private String assistantCode;
+                @JsonProperty("assistant")
+                private String assistant;
+            }
+
+            @Data
+            @JsonIgnoreProperties(ignoreUnknown = true)
+            public static class PolicyCoverage implements Serializable {
+                private static final long serialVersionUID = 1L;
+
+                @JsonProperty("page")
+                private Integer page;
+                @JsonProperty("pageSize")
+                private Integer pageSize;
+                @JsonProperty("dutyId")
+                private String dutyId;
+                @JsonProperty("fullYearPremium")
+                private String fullYearPremium;
+                @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 Double 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("mainCoverage")
+                private String mainCoverage;
+                @JsonProperty("insuredAmountDescList")
+                private List<InsuredAmountDesc> insuredAmountDescList;
+                @JsonProperty("equipmentInsureAmount")
+                private Double equipmentInsureAmount;
+                @JsonProperty("allAmountDef")
+                private Double allAmountDef;
+                @JsonProperty("newFlag")
+                private Boolean newFlag;
+                @JsonProperty("modifyFlag")
+                private Boolean modifyFlag;
+                @JsonProperty("calculateEndorsePremium")
+                private Integer calculateEndorsePremium;
+                @JsonProperty("checkEndorsePremium")
+                private Double checkEndorsePremium;
+                @JsonProperty("dutyVer")
+                private String dutyVer;
+                @JsonProperty("applyPolicyNo")
+                private String applyPolicyNo;
+                @JsonProperty("insuredAmountDef")
+                private Double insuredAmountDef;
+                @JsonProperty("dutyTargetType")
+                private String dutyTargetType;
+                @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("initShow")
+                private String initShow;
+                @JsonProperty("insuranceBeginTime")
+                private String insuranceBeginTime;
+                @JsonProperty("insuranceEndTime")
+                private String insuranceEndTime;
+                @JsonProperty("refundFlag")
+                private String refundFlag;
+                @JsonProperty("coverageNum")
+                private Integer coverageNum;
+                @JsonProperty("isShareSumDutyFlag")
+                private String isShareSumDutyFlag;
+                @JsonProperty("priority")
+                private String priority;
+                @JsonProperty("coverageCancelOrReturn")
+                private Boolean coverageCancelOrReturn;
+                @JsonProperty("coverageReturn")
+                private Boolean coverageReturn;
+                @JsonProperty("coverageCancel")
+                private Boolean coverageCancel;
+                @JsonProperty("claimCoverageReturn")
+                private Boolean claimCoverageReturn;
+                @JsonProperty("ariExpense")
+                private Integer ariExpense;
+
+                @Data
+                @JsonIgnoreProperties(ignoreUnknown = true)
+                public static class InsuredAmountDesc implements Serializable {
+                    private static final long serialVersionUID = 1L;
+
+                    @JsonProperty("createdBy")
+                    private String createdBy;
+                    @JsonProperty("updatedBy")
+                    private String updatedBy;
+                    @JsonProperty("page")
+                    private Integer page;
+                    @JsonProperty("pageSize")
+                    private Integer pageSize;
+                    @JsonProperty("factorCode")
+                    private String factorCode;
+                    @JsonProperty("factorName")
+                    private String factorName;
+                    @JsonProperty("startContent")
+                    private String startContent;
+                    @JsonProperty("unit")
+                    private String unit;
+                    @JsonProperty("orderId")
+                    private String orderId;
+                    @JsonProperty("tagType")
+                    private String tagType;
+                    @JsonProperty("insuredAmount")
+                    private String insuredAmount;
+                    @JsonProperty("classValue")
+                    private String classValue;
+                    @JsonProperty("optionList")
+                    private List<Option> optionList;
+                    @JsonProperty("seats")
+                    private String seats;
+                    @JsonProperty("serviceNum")
+                    private String serviceNum;
+                    @JsonProperty("isTelpeson")
+                    private String isTelpeson;
+                    @JsonProperty("deductionRate")
+                    private String deductionRate;
+                    @JsonProperty("setMeal")
+                    private String setMeal;
+                    @JsonProperty("mileage")
+                    private String mileage;
+
+                    @Data
+                    @JsonIgnoreProperties(ignoreUnknown = true)
+                    public static class Option implements Serializable {
+                        private static final long serialVersionUID = 1L;
+
+                        @JsonProperty("value")
+                        private String value;
+                        @JsonProperty("label")
+                        private String label;
+                    }
+                }
+            }
+
+            @Data
+            @JsonIgnoreProperties(ignoreUnknown = true)
+            public static class ProductDuty implements Serializable {
+                private static final long serialVersionUID = 1L;
+
+                @JsonProperty("displayNo")
+                private Integer displayNo;
+                @JsonProperty("page")
+                private Integer page;
+                @JsonProperty("pageSize")
+                private Integer pageSize;
+                @JsonProperty("productCode")
+                private String productCode;
+                @JsonProperty("dutyCode")
+                private String dutyCode;
+                @JsonProperty("dutyChineseName")
+                private String dutyChineseName;
+                @JsonProperty("mainCoverage")
+                private String mainCoverage;
+                @JsonProperty("insuredAmountDescList")
+                private List<ProductDutyInsuredAmountDesc> insuredAmountDescList;
+                @JsonProperty("dutyDetailList")
+                private List<DutyDetail> dutyDetailList;
+                @JsonProperty("dutyVersionAge")
+                private List<Object> dutyVersionAge;
+
+                @Data
+                @JsonIgnoreProperties(ignoreUnknown = true)
+                public static class ProductDutyInsuredAmountDesc implements Serializable {
+                    private static final long serialVersionUID = 1L;
+
+                    @JsonProperty("createdBy")
+                    private String createdBy;
+                    @JsonProperty("updatedBy")
+                    private String updatedBy;
+                    @JsonProperty("page")
+                    private Integer page;
+                    @JsonProperty("pageSize")
+                    private Integer pageSize;
+                    @JsonProperty("factorCode")
+                    private String factorCode;
+                    @JsonProperty("factorName")
+                    private String factorName;
+                    @JsonProperty("startContent")
+                    private String startContent;
+                    @JsonProperty("unit")
+                    private String unit;
+                    @JsonProperty("orderId")
+                    private String orderId;
+                    @JsonProperty("tagType")
+                    private String tagType;
+                    @JsonProperty("insuredAmount")
+                    private String insuredAmount;
+                    @JsonProperty("classValue")
+                    private String classValue;
+                    @JsonProperty("optionList")
+                    private List<ProductDutyOption> optionList;
+                    @JsonProperty("seats")
+                    private String seats;
+                    @JsonProperty("serviceNum")
+                    private String serviceNum;
+                    @JsonProperty("isTelpeson")
+                    private String isTelpeson;
+                    @JsonProperty("deductionRate")
+                    private String deductionRate;
+                    @JsonProperty("setMeal")
+                    private String setMeal;
+                    @JsonProperty("mileage")
+                    private String mileage;
+
+                    @Data
+                    @JsonIgnoreProperties(ignoreUnknown = true)
+                    public static class ProductDutyOption implements Serializable {
+                        private static final long serialVersionUID = 1L;
+
+                        @JsonProperty("value")
+                        private String value;
+                        @JsonProperty("label")
+                        private String label;
+                    }
+                }
+
+                @Data
+                @JsonIgnoreProperties(ignoreUnknown = true)
+                public static class DutyDetail implements Serializable {
+                    private static final long serialVersionUID = 1L;
+
+                    @JsonProperty("displayNo")
+                    private Integer displayNo;
+                    @JsonProperty("page")
+                    private Integer page;
+                    @JsonProperty("pageSize")
+                    private Integer pageSize;
+                    @JsonProperty("detailCode")
+                    private String detailCode;
+                    @JsonProperty("detailName")
+                    private String detailName;
+                    @JsonProperty("versionNo")
+                    private String versionNo;
+                    @JsonProperty("dutyCode")
+                    private String dutyCode;
+                    @JsonProperty("orderBy")
+                    private Integer orderBy;
+                    @JsonProperty("dutyVersionAge")
+                    private List<Object> dutyVersionAge;
+                }
+            }
+
+            @Data
+            @JsonIgnoreProperties(ignoreUnknown = true)
+            public static class ContractPolicyRatio implements Serializable {
+                private static final long serialVersionUID = 1L;
+
+                @JsonProperty("page")
+                private Integer page;
+                @JsonProperty("pageSize")
+                private Integer pageSize;
+                @JsonProperty("dutyCode")
+                private String dutyCode;
+                @JsonProperty("factorCode")
+                private String factorCode;
+                @JsonProperty("factorName")
+                private String factorName;
+                @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("collectionCode")
+                private String collectionCode;
+                @JsonProperty("viewFlag")
+                private Boolean viewFlag;
+                @JsonProperty("ratioMap")
+                private Map<String, Object> ratioMap;
+                @JsonProperty("labelName")
+                private String labelName;
+                @JsonProperty("averageRatio")
+                private Double averageRatio;
+            }
+
+            @Data
+            @JsonIgnoreProperties(ignoreUnknown = true)
+            public static class UnderwriteInfo implements Serializable {
+                private static final long serialVersionUID = 1L;
+
+                @JsonProperty("createdDate")
+                private String createdDate;
+                @JsonProperty("page")
+                private Integer page;
+                @JsonProperty("pageSize")
+                private Integer pageSize;
+                @JsonProperty("emergencyCode")
+                private String emergencyCode;
+                @JsonProperty("handlerCode")
+                private String handlerCode;
+                @JsonProperty("sendLevelCode")
+                private String sendLevelCode;
+                @JsonProperty("underwriteOpinions")
+                private List<UnderwriteOpinion> underwriteOpinions;
+                @JsonProperty("underwriteMark")
+                private String underwriteMark;
+                @JsonProperty("standarded")
+                private String standarded;
+                @JsonProperty("destinationLevelCodeName")
+                private String destinationLevelCodeName;
+                @JsonProperty("documentNo")
+                private String documentNo;
+                @JsonProperty("taskNo")
+                private Integer taskNo;
+                @JsonProperty("handleTime")
+                private String handleTime;
+                @JsonProperty("departmentCode")
+                private String departmentCode;
+
+                @Data
+                @JsonIgnoreProperties(ignoreUnknown = true)
+                public static class UnderwriteOpinion implements Serializable {
+                    private static final long serialVersionUID = 1L;
+
+                    @JsonProperty("page")
+                    private Integer page;
+                    @JsonProperty("pageSize")
+                    private Integer pageSize;
+                    @JsonProperty("underwriteOpinionNo")
+                    private String underwriteOpinionNo;
+                    @JsonProperty("underwriteOpinionDesc")
+                    private String underwriteOpinionDesc;
+                    @JsonProperty("opinionSubscriber")
+                    private String opinionSubscriber;
+                }
+            }
+
+            @Data
+            @JsonIgnoreProperties(ignoreUnknown = true)
+            public static class BillInfoDetail implements Serializable {
+                private static final long serialVersionUID = 1L;
+
+                @JsonProperty("page")
+                private Integer page;
+                @JsonProperty("pageSize")
+                private Integer pageSize;
+                @JsonProperty("billPersonType")
+                private String billPersonType;
+                @JsonProperty("billType")
+                private String billType;
+                @JsonProperty("billEmail")
+                private String billEmail;
+                @JsonProperty("billPersonName")
+                private String billPersonName;
+                @JsonProperty("billApplantPhoneNo")
+                private String billApplantPhoneNo;
+                @JsonProperty("isBusinessBill")
+                private String isBusinessBill;
+                @JsonProperty("billTaxPayerType")
+                private String billTaxPayerType;
+            }
+
+            @Data
+            @JsonIgnoreProperties(ignoreUnknown = true)
+            public static class EndorseApplyInfo implements Serializable {
+                private static final long serialVersionUID = 1L;
+
+                @JsonProperty("page")
+                private Integer page;
+                @JsonProperty("pageSize")
+                private Integer pageSize;
+                @JsonProperty("calculateEndorsePremium")
+                private Integer calculateEndorsePremium;
+                @JsonProperty("checkTotalEndorsePremium")
+                private Integer checkTotalEndorsePremium;
+                @JsonProperty("checkTotalNetPremium")
+                private Integer checkTotalNetPremium;
+                @JsonProperty("checkAddedValueTax")
+                private Integer checkAddedValueTax;
+                @JsonProperty("endorsementTimes")
+                private Integer endorsementTimes;
+                @JsonProperty("endorseCompensationAmount")
+                private Integer endorseCompensationAmount;
+                @JsonProperty("endorseInsuredAmount")
+                private Integer endorseInsuredAmount;
+                @JsonProperty("stopDay")
+                private Integer stopDay;
+                @JsonProperty("deductCommissionCharge")
+                private Integer deductCommissionCharge;
+            }
+
+            @Data
+            @JsonIgnoreProperties(ignoreUnknown = true)
+            public static class PolicyExtend implements Serializable {
+                private static final long serialVersionUID = 1L;
+
+                @JsonProperty("page")
+                private Integer page;
+                @JsonProperty("pageSize")
+                private Integer pageSize;
+                @JsonProperty("usageAttributeCode")
+                private String usageAttributeCode;
+                @JsonProperty("totalPremiumMan")
+                private Integer totalPremiumMan;
+                @JsonProperty("totalPremiumChild")
+                private Integer totalPremiumChild;
+                @JsonProperty("manCount")
+                private Integer manCount;
+                @JsonProperty("childCount")
+                private Integer childCount;
+                @JsonProperty("country")
+                private String country;
+                @JsonProperty("noautoSmallVehicleModel")
+                private String noautoSmallVehicleModel;
+                @JsonProperty("brand")
+                private String brand;
+                @JsonProperty("rentalCompany")
+                private String rentalCompany;
+                @JsonProperty("chineseNavigation")
+                private String chineseNavigation;
+                @JsonProperty("startAmount")
+                private String startAmount;
+                @JsonProperty("isTransnationalVehicle")
+                private String isTransnationalVehicle;
+                @JsonProperty("contacts")
+                private String contacts;
+                @JsonProperty("contactInformation")
+                private String contactInformation;
+                @JsonProperty("deliveryProvinceCode")
+                private String deliveryProvinceCode;
+                @JsonProperty("deliveryCityCode")
+                private String deliveryCityCode;
+                @JsonProperty("deliveryCountyCode")
+                private String deliveryCountyCode;
+                @JsonProperty("newProcessSwitch")
+                private String newProcessSwitch;
+                @JsonProperty("insuranceVehicleRelationship")
+                private String insuranceVehicleRelationship;
+                @JsonProperty("commerialFlag")
+                private String commerialFlag;
+                @JsonProperty("systemPlat")
+                private String systemPlat;
+                @JsonProperty("cheatResult")
+                private String cheatResult;
+                @JsonProperty("cheatQueryNo")
+                private String cheatQueryNo;
+                @JsonProperty("drivingMileageYear")
+                private String drivingMileageYear;
+                @JsonProperty("driverServiceCardNumber")
+                private String driverServiceCardNumber;
+            }
+
+            @Data
+            @JsonIgnoreProperties(ignoreUnknown = true)
+            public static class FullReductionInfo implements Serializable {
+                private static final long serialVersionUID = 1L;
+
+                @JsonProperty("page")
+                private Integer page;
+                @JsonProperty("pageSize")
+                private Integer pageSize;
+                @JsonProperty("customerIntegral")
+                private Integer customerIntegral;
+                @JsonProperty("customerIntegralChange")
+                private Integer customerIntegralChange;
+            }
+
+            @Data
+            @JsonIgnoreProperties(ignoreUnknown = true)
+            public static class PremiumParameter implements Serializable {
+                private static final long serialVersionUID = 1L;
+
+                @JsonProperty("page")
+                private Integer page;
+                @JsonProperty("pageSize")
+                private Integer pageSize;
+                @JsonProperty("basicRiskScoreLevel")
+                private String basicRiskScoreLevel;
+                @JsonProperty("basicHighPriTranche")
+                private String basicHighPriTranche;
+                @JsonProperty("basicRiskScoreLevelValue")
+                private String basicRiskScoreLevelValue;
+                @JsonProperty("basicStatusQG")
+                private String basicStatusQG;
+            }
+
+            @Data
+            @JsonIgnoreProperties(ignoreUnknown = true)
+            public static class PolicyRelation implements Serializable {
+                private static final long serialVersionUID = 1L;
+
+                @JsonProperty("page")
+                private Integer page;
+                @JsonProperty("pageSize")
+                private Integer pageSize;
+                @JsonProperty("id")
+                private String id;
+                @JsonProperty("relationId")
+                private String relationId;
+                @JsonProperty("applyPolicyNo")
+                private String applyPolicyNo;
+                @JsonProperty("policyPlatformId")
+                private String policyPlatformId;
+                @JsonProperty("planCode")
+                private String planCode;
+                @JsonProperty("planChineseName")
+                private String planChineseName;
+            }
+
+            @Data
+            @JsonIgnoreProperties(ignoreUnknown = true)
+            public static class PolicyRelInfo implements Serializable {
+                private static final long serialVersionUID = 1L;
+
+                @JsonProperty("page")
+                private Integer page;
+                @JsonProperty("pageSize")
+                private Integer pageSize;
+            }
+
+            @Data
+            @JsonIgnoreProperties(ignoreUnknown = true)
+            public static class OneCarOnePriceInfo implements Serializable {
+                private static final long serialVersionUID = 1L;
+
+                @JsonProperty("page")
+                private Integer page;
+                @JsonProperty("pageSize")
+                private Integer pageSize;
+                @JsonProperty("vehiclePriceDiscount")
+                private Integer vehiclePriceDiscount;
+            }
+
+            @Data
+            @JsonIgnoreProperties(ignoreUnknown = true)
+            public static class CheatQueryResult implements Serializable {
+                private static final long serialVersionUID = 1L;
+
+                @JsonProperty("ruleCode")
+                private String ruleCode;
+                @JsonProperty("result")
+                private String result;
+                @JsonProperty("roleType")
+                private String roleType;
+            }
+
+            @Data
+            @JsonIgnoreProperties(ignoreUnknown = true)
+            public static class VinVehcile implements Serializable {
+                private static final long serialVersionUID = 1L;
+
+                @JsonProperty("createdBy")
+                private String createdBy;
+                @JsonProperty("updatedBy")
+                private String updatedBy;
+                @JsonProperty("page")
+                private Integer page;
+                @JsonProperty("pageSize")
+                private Integer pageSize;
+                @JsonProperty("vinCode")
+                private String vinCode;
+                @JsonProperty("autoModelCode")
+                private String autoModelCode;
+                @JsonProperty("autoModelChnName")
+                private String autoModelChnName;
+                @JsonProperty("displacement")
+                private String displacement;
+                @JsonProperty("seat")
+                private String seat;
+                @JsonProperty("marketDate")
+                private String marketDate;
+                @JsonProperty("fullWeight")
+                private String fullWeight;
+                @JsonProperty("vehicleAlias")
+                private String vehicleAlias;
+            }
+
+            @Data
+            @JsonIgnoreProperties(ignoreUnknown = true)
+            public static class LastUnderwriteInfo implements Serializable {
+                private static final long serialVersionUID = 1L;
+
+                @JsonProperty("createdDate")
+                private String createdDate;
+                @JsonProperty("page")
+                private Integer page;
+                @JsonProperty("pageSize")
+                private Integer pageSize;
+                @JsonProperty("emergencyCode")
+                private String emergencyCode;
+                @JsonProperty("handlerCode")
+                private String handlerCode;
+                @JsonProperty("sendLevelCode")
+                private String sendLevelCode;
+                @JsonProperty("underwriteOpinions")
+                private List<LastUnderwriteOpinion> underwriteOpinions;
+                @JsonProperty("underwriteMark")
+                private String underwriteMark;
+                @JsonProperty("standarded")
+                private String standarded;
+                @JsonProperty("destinationLevelCodeName")
+                private String destinationLevelCodeName;
+                @JsonProperty("documentNo")
+                private String documentNo;
+                @JsonProperty("taskNo")
+                private Integer taskNo;
+                @JsonProperty("handleTime")
+                private String handleTime;
+                @JsonProperty("departmentCode")
+                private String departmentCode;
+
+                @Data
+                @JsonIgnoreProperties(ignoreUnknown = true)
+                public static class LastUnderwriteOpinion implements Serializable {
+                    private static final long serialVersionUID = 1L;
+
+                    @JsonProperty("page")
+                    private Integer page;
+                    @JsonProperty("pageSize")
+                    private Integer pageSize;
+                    @JsonProperty("underwriteOpinionNo")
+                    private String underwriteOpinionNo;
+                    @JsonProperty("underwriteOpinionDesc")
+                    private String underwriteOpinionDesc;
+                    @JsonProperty("opinionSubscriber")
+                    private String opinionSubscriber;
+                }
+            }
+
+            @Data
+            @JsonIgnoreProperties(ignoreUnknown = true)
+            public static class Applicant implements Serializable {
+                private static final long serialVersionUID = 1L;
+
+                @JsonProperty("page")
+                private Integer page;
+                @JsonProperty("pageSize")
+                private Integer pageSize;
+                @JsonProperty("personnelCode")
+                private String personnelCode;
+                @JsonProperty("personnelAttribute")
+                private String personnelAttribute;
+                @JsonProperty("relationshipWithInsured")
+                private String relationshipWithInsured;
+                @JsonProperty("personnelInfoBase")
+                private PersonnelInfoBase personnelInfoBase;
+                @JsonProperty("sameInsuranerPersonnel")
+                private String sameInsuranerPersonnel;
+                @JsonProperty("person")
+                private Boolean person;
+                @JsonProperty("group")
+                private Boolean group;
+                @JsonProperty("owner")
+                private Boolean owner;
+                @JsonProperty("applicant")
+                private Boolean applicant;
+                @JsonProperty("insuraner")
+                private Boolean insuraner;
+
+                @Data
+                @JsonIgnoreProperties(ignoreUnknown = true)
+                public static class PersonnelInfoBase implements Serializable {
+                    private static final long serialVersionUID = 1L;
+
+                    @JsonProperty("page")
+                    private Integer page;
+                    @JsonProperty("pageSize")
+                    private Integer pageSize;
+                    @JsonProperty("personnelCode")
+                    private String personnelCode;
+                    @JsonProperty("vipMark")
+                    private String vipMark;
+                    @JsonProperty("personTypeDetailCode")
+                    private String personTypeDetailCode;
+                    @JsonProperty("person")
+                    private Person person;
+                    @JsonProperty("personTypeOverseas")
+                    private String personTypeOverseas;
+                    @JsonProperty("certificateType")
+                    private String certificateType;
+                    @JsonProperty("certificateNo")
+                    private String certificateNo;
+                    @JsonProperty("personnelName")
+                    private String personnelName;
+                    @JsonProperty("mobileTelephone")
+                    private String mobileTelephone;
+                    @JsonProperty("address")
+                    private String address;
+
+                    @Data
+                    @JsonIgnoreProperties(ignoreUnknown = true)
+                    public static class Person implements Serializable {
+                        private static final long serialVersionUID = 1L;
+
+                        @JsonProperty("page")
+                        private Integer page;
+                        @JsonProperty("pageSize")
+                        private Integer pageSize;
+                        @JsonProperty("personnelCode")
+                        private String personnelCode;
+                        @JsonProperty("personnelName")
+                        private String personnelName;
+                        @JsonProperty("certificateType")
+                        private String certificateType;
+                        @JsonProperty("certificateNo")
+                        private String certificateNo;
+                        @JsonProperty("mobileTelephone")
+                        private String mobileTelephone;
+                        @JsonProperty("homeAreaCode")
+                        private String homeAreaCode;
+                        @JsonProperty("homeTelephone")
+                        private String homeTelephone;
+                        @JsonProperty("officeAreaCode")
+                        private String officeAreaCode;
+                        @JsonProperty("officeTelephone")
+                        private String officeTelephone;
+                        @JsonProperty("postcode")
+                        private String postcode;
+                        @JsonProperty("email")
+                        private String email;
+                        @JsonProperty("address")
+                        private String address;
+                        @JsonProperty("birthday")
+                        private String birthday;
+                        @JsonProperty("homeAddress")
+                        private String homeAddress;
+                        @JsonProperty("homeAddressAfter")
+                        private String homeAddressAfter;
+                        @JsonProperty("homeAreaCountyCode")
+                        private String homeAreaCountyCode;
+                        @JsonProperty("homeCityCode")
+                        private String homeCityCode;
+                        @JsonProperty("homeProvinceCode")
+                        private String homeProvinceCode;
+                        @JsonProperty("invalidateFlag")
+                        private String invalidateFlag;
+                        @JsonProperty("isRuralOrUrban")
+                        private String isRuralOrUrban;
+                        @JsonProperty("personnelAge")
+                        private String personnelAge;
+                        @JsonProperty("professionCode")
+                        private String professionCode;
+                        @JsonProperty("sexCode")
+                        private String sexCode;
+                        @JsonProperty("effectedDate")
+                        private String effectedDate;
+                        @JsonProperty("expiredDate")
+                        private String expiredDate;
+                        @JsonProperty("certType")
+                        private String certType;
+                        @JsonProperty("nationalityType")
+                        private String nationalityType;
+                        @JsonProperty("longExpiredDate")
+                        private String longExpiredDate;
+                        @JsonProperty("idCardAccess")
+                        private String idCardAccess;
+                        @JsonProperty("idCardAccessDate")
+                        private String idCardAccessDate;
+                        @JsonProperty("homeAddrShow")
+                        private String homeAddrShow;
+                        @JsonProperty("certiAddrShow")
+                        private String certiAddrShow;
+                        @JsonProperty("other1AddrShow")
+                        private String other1AddrShow;
+                        @JsonProperty("other2AddrShow")
+                        private String other2AddrShow;
+                    }
+                }
+            }
+
+            @Data
+            @JsonIgnoreProperties(ignoreUnknown = true)
+            public static class Vehicle implements Serializable {
+                private static final long serialVersionUID = 1L;
+
+                @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("targetCoverages")
+                private List<Target.TargetCoverage> targetCoverages;
+                @JsonProperty("targetRatios")
+                private List<Object> targetRatios;
+                @JsonProperty("beneficiaryList")
+                private List<Object> beneficiaryList;
+                @JsonProperty("policyPricing")
+                private Target.PolicyPricing policyPricing;
+                @JsonProperty("vehicleLicenceCode")
+                private String vehicleLicenceCode;
+                @JsonProperty("vehicleFrameNo")
+                private String vehicleFrameNo;
+                @JsonProperty("engineNo")
+                private String engineNo;
+                @JsonProperty("firstRegisterDate")
+                private String firstRegisterDate;
+                @JsonProperty("importFlag")
+                private String importFlag;
+                @JsonProperty("vehicleType")
+                private String vehicleType;
+                @JsonProperty("vehicleStyle")
+                private String vehicleStyle;
+                @JsonProperty("autoModelCode")
+                private String autoModelCode;
+                @JsonProperty("vehicleSeats")
+                private Integer vehicleSeats;
+                @JsonProperty("originalVehicleSeats")
+                private Integer originalVehicleSeats;
+                @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("originalExhaustCapability")
+                private Double originalExhaustCapability;
+                @JsonProperty("vehicleTonnages")
+                private Integer vehicleTonnages;
+                @JsonProperty("originalVehicleTonnages")
+                private Integer originalVehicleTonnages;
+                @JsonProperty("power")
+                private Integer power;
+                @JsonProperty("maxDesignSpeed")
+                private String maxDesignSpeed;
+                @JsonProperty("customerNegotiatePrice")
+                private Double customerNegotiatePrice;
+                @JsonProperty("originalCustomerNegotiatePrice")
+                private Double originalCustomerNegotiatePrice;
+                @JsonProperty("vehicleTax")
+                private Target.VehicleTax vehicleTax;
+                @JsonProperty("vehicleStyleDesc")
+                private String vehicleStyleDesc;
+                @JsonProperty("modelCode")
+                private String modelCode;
+                @JsonProperty("weigth")
+                private Double weigth;
+                @JsonProperty("originalVehicleWeigth")
+                private Double originalVehicleWeigth;
+                @JsonProperty("maker")
+                private String maker;
+                @JsonProperty("brandChnName")
+                private String brandChnName;
+                @JsonProperty("averageMile")
+                private Integer averageMile;
+                @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("vehicleLossInsuredValue")
+                private Integer vehicleLossInsuredValue;
+                @JsonProperty("vehicleTypeName")
+                private String vehicleTypeName;
+                @JsonProperty("makeDate")
+                private String makeDate;
+                @JsonProperty("stopFlag")
+                private String stopFlag;
+                @JsonProperty("detailDesc")
+                private String detailDesc;
+                @JsonProperty("dbVehicleType")
+                private String dbVehicleType;
+                @JsonProperty("brand")
+                private String brand;
+                @JsonProperty("vehicleColor")
+                private String vehicleColor;
+                @JsonProperty("salePrice")
+                private String salePrice;
+                @JsonProperty("brandCode")
+                private String brandCode;
+                @JsonProperty("noDamageYears")
+                private Integer noDamageYears;
+                @JsonProperty("madeDate")
+                private String madeDate;
+                @JsonProperty("licenceTypeName")
+                private String licenceTypeName;
+                @JsonProperty("modelsListedYear")
+                private String modelsListedYear;
+                @JsonProperty("vehiclePurchasePrice")
+                private String vehiclePurchasePrice;
+                @JsonProperty("thirdResultClaimRecordBiz")
+                private List<Object> thirdResultClaimRecordBiz;
+                @JsonProperty("thirdResultPeccancyRecord")
+                private List<Object> thirdResultPeccancyRecord;
+                @JsonProperty("riskWarnings")
+                private List<Object> riskWarnings;
+                @JsonProperty("duplicatedList")
+                private List<Object> duplicatedList;
+                @JsonProperty("precisionScores")
+                private List<Object> precisionScores;
+                @JsonProperty("checkVehicleInfo")
+                private Target.CheckVehicleInfo checkVehicleInfo;
+                @JsonProperty("theftproofEquipmentCode")
+                private String theftproofEquipmentCode;
+                @JsonProperty("standardName")
+                private String standardName;
+                @JsonProperty("vehicleDBFlag")
+                private String vehicleDBFlag;
+                @JsonProperty("diffVehicleAgeYearMoth")
+                private String diffVehicleAgeYearMoth;
+                @JsonProperty("macauVehicleFlag")
+                private String macauVehicleFlag;
+                @JsonProperty("ratio")
+                private String ratio;
+                @JsonProperty("vehicleRegisterDate")
+                private String vehicleRegisterDate;
+                @JsonProperty("commissionAgent")
+                private Map<String, Object> commissionAgent;
+                @JsonProperty("totalMass")
+                private Double totalMass;
+                @JsonProperty("local")
+                private Boolean local;
+                @JsonProperty("targetTotalActualPremium")
+                private Double targetTotalActualPremium;
+            }
+
+            @Data
+            @JsonIgnoreProperties(ignoreUnknown = true)
+            public static class Insuraner implements Serializable {
+                private static final long serialVersionUID = 1L;
+
+                @JsonProperty("page")
+                private Integer page;
+                @JsonProperty("pageSize")
+                private Integer pageSize;
+                @JsonProperty("personnelCode")
+                private String personnelCode;
+                @JsonProperty("personnelAttribute")
+                private String personnelAttribute;
+                @JsonProperty("relationshipWithInsured")
+                private String relationshipWithInsured;
+                @JsonProperty("personnelInfoBase")
+                private Applicant.PersonnelInfoBase personnelInfoBase;
+                @JsonProperty("sameInsuranerPersonnel")
+                private String sameInsuranerPersonnel;
+                @JsonProperty("person")
+                private Boolean person;
+                @JsonProperty("group")
+                private Boolean group;
+                @JsonProperty("owner")
+                private Boolean owner;
+                @JsonProperty("applicant")
+                private Boolean applicant;
+                @JsonProperty("insuraner")
+                private Boolean insuraner;
+            }
+
+            @Data
+            @JsonIgnoreProperties(ignoreUnknown = true)
+            public static class VehicleOwner implements Serializable {
+                private static final long serialVersionUID = 1L;
+
+                @JsonProperty("page")
+                private Integer page;
+                @JsonProperty("pageSize")
+                private Integer pageSize;
+                @JsonProperty("personnelCode")
+                private String personnelCode;
+                @JsonProperty("personnelAttribute")
+                private String personnelAttribute;
+                @JsonProperty("relationshipWithInsured")
+                private String relationshipWithInsured;
+                @JsonProperty("personnelInfoBase")
+                private Applicant.PersonnelInfoBase personnelInfoBase;
+                @JsonProperty("sameInsuranerPersonnel")
+                private String sameInsuranerPersonnel;
+                @JsonProperty("person")
+                private Boolean person;
+                @JsonProperty("group")
+                private Boolean group;
+                @JsonProperty("owner")
+                private Boolean owner;
+                @JsonProperty("applicant")
+                private Boolean applicant;
+                @JsonProperty("insuraner")
+                private Boolean insuraner;
+            }
+
+            @Data
+            @JsonIgnoreProperties(ignoreUnknown = true)
+            public static class InsuredPerson implements Serializable {
+                private static final long serialVersionUID = 1L;
+
+                @JsonProperty("page")
+                private Integer page;
+                @JsonProperty("pageSize")
+                private Integer pageSize;
+                @JsonProperty("personnelCode")
+                private String personnelCode;
+                @JsonProperty("personnelName")
+                private String personnelName;
+                @JsonProperty("certificateType")
+                private String certificateType;
+                @JsonProperty("certificateNo")
+                private String certificateNo;
+                @JsonProperty("mobileTelephone")
+                private String mobileTelephone;
+                @JsonProperty("homeAreaCode")
+                private String homeAreaCode;
+                @JsonProperty("homeTelephone")
+                private String homeTelephone;
+                @JsonProperty("officeAreaCode")
+                private String officeAreaCode;
+                @JsonProperty("officeTelephone")
+                private String officeTelephone;
+                @JsonProperty("postcode")
+                private String postcode;
+                @JsonProperty("email")
+                private String email;
+                @JsonProperty("address")
+                private String address;
+                @JsonProperty("birthday")
+                private String birthday;
+                @JsonProperty("homeAddress")
+                private String homeAddress;
+                @JsonProperty("homeAddressAfter")
+                private String homeAddressAfter;
+                @JsonProperty("homeAreaCountyCode")
+                private String homeAreaCountyCode;
+                @JsonProperty("homeCityCode")
+                private String homeCityCode;
+                @JsonProperty("homeProvinceCode")
+                private String homeProvinceCode;
+                @JsonProperty("invalidateFlag")
+                private String invalidateFlag;
+                @JsonProperty("isRuralOrUrban")
+                private String isRuralOrUrban;
+                @JsonProperty("personnelAge")
+                private String personnelAge;
+                @JsonProperty("professionCode")
+                private String professionCode;
+                @JsonProperty("sexCode")
+                private String sexCode;
+                @JsonProperty("effectedDate")
+                private String effectedDate;
+                @JsonProperty("expiredDate")
+                private String expiredDate;
+                @JsonProperty("certType")
+                private String certType;
+                @JsonProperty("nationalityType")
+                private String nationalityType;
+                @JsonProperty("longExpiredDate")
+                private String longExpiredDate;
+                @JsonProperty("idCardAccess")
+                private String idCardAccess;
+                @JsonProperty("idCardAccessDate")
+                private String idCardAccessDate;
+                @JsonProperty("homeAddrShow")
+                private String homeAddrShow;
+                @JsonProperty("certiAddrShow")
+                private String certiAddrShow;
+                @JsonProperty("other1AddrShow")
+                private String other1AddrShow;
+                @JsonProperty("other2AddrShow")
+                private String other2AddrShow;
+            }
+
+            @Data
+            @JsonIgnoreProperties(ignoreUnknown = true)
+            public static class ApplicantPerson implements Serializable {
+                private static final long serialVersionUID = 1L;
+
+                @JsonProperty("page")
+                private Integer page;
+                @JsonProperty("pageSize")
+                private Integer pageSize;
+                @JsonProperty("personnelCode")
+                private String personnelCode;
+                @JsonProperty("personnelName")
+                private String personnelName;
+                @JsonProperty("certificateType")
+                private String certificateType;
+                @JsonProperty("certificateNo")
+                private String certificateNo;
+                @JsonProperty("mobileTelephone")
+                private String mobileTelephone;
+                @JsonProperty("homeAreaCode")
+                private String homeAreaCode;
+                @JsonProperty("homeTelephone")
+                private String homeTelephone;
+                @JsonProperty("officeAreaCode")
+                private String officeAreaCode;
+                @JsonProperty("officeTelephone")
+                private String officeTelephone;
+                @JsonProperty("postcode")
+                private String postcode;
+                @JsonProperty("email")
+                private String email;
+                @JsonProperty("address")
+                private String address;
+                @JsonProperty("birthday")
+                private String birthday;
+                @JsonProperty("homeAddress")
+                private String homeAddress;
+                @JsonProperty("homeAddressAfter")
+                private String homeAddressAfter;
+                @JsonProperty("homeAreaCountyCode")
+                private String homeAreaCountyCode;
+                @JsonProperty("homeCityCode")
+                private String homeCityCode;
+                @JsonProperty("homeProvinceCode")
+                private String homeProvinceCode;
+                @JsonProperty("invalidateFlag")
+                private String invalidateFlag;
+                @JsonProperty("isRuralOrUrban")
+                private String isRuralOrUrban;
+                @JsonProperty("personnelAge")
+                private String personnelAge;
+                @JsonProperty("professionCode")
+                private String professionCode;
+                @JsonProperty("sexCode")
+                private String sexCode;
+                @JsonProperty("effectedDate")
+                private String effectedDate;
+                @JsonProperty("expiredDate")
+                private String expiredDate;
+                @JsonProperty("certType")
+                private String certType;
+                @JsonProperty("nationalityType")
+                private String nationalityType;
+                @JsonProperty("longExpiredDate")
+                private String longExpiredDate;
+                @JsonProperty("idCardAccess")
+                private String idCardAccess;
+                @JsonProperty("idCardAccessDate")
+                private String idCardAccessDate;
+                @JsonProperty("homeAddrShow")
+                private String homeAddrShow;
+                @JsonProperty("certiAddrShow")
+                private String certiAddrShow;
+                @JsonProperty("other1AddrShow")
+                private String other1AddrShow;
+                @JsonProperty("other2AddrShow")
+                private String other2AddrShow;
+            }
+
+            @Data
+            @JsonIgnoreProperties(ignoreUnknown = true)
+            public static class OwnerPerson implements Serializable {
+                private static final long serialVersionUID = 1L;
+
+                @JsonProperty("page")
+                private Integer page;
+                @JsonProperty("pageSize")
+                private Integer pageSize;
+                @JsonProperty("personnelCode")
+                private String personnelCode;
+                @JsonProperty("personnelName")
+                private String personnelName;
+                @JsonProperty("certificateType")
+                private String certificateType;
+                @JsonProperty("certificateNo")
+                private String certificateNo;
+                @JsonProperty("mobileTelephone")
+                private String mobileTelephone;
+                @JsonProperty("homeAreaCode")
+                private String homeAreaCode;
+                @JsonProperty("homeTelephone")
+                private String homeTelephone;
+                @JsonProperty("officeAreaCode")
+                private String officeAreaCode;
+                @JsonProperty("officeTelephone")
+                private String officeTelephone;
+                @JsonProperty("postcode")
+                private String postcode;
+                @JsonProperty("email")
+                private String email;
+                @JsonProperty("address")
+                private String address;
+                @JsonProperty("birthday")
+                private String birthday;
+                @JsonProperty("homeAddress")
+                private String homeAddress;
+                @JsonProperty("homeAddressAfter")
+                private String homeAddressAfter;
+                @JsonProperty("homeAreaCountyCode")
+                private String homeAreaCountyCode;
+                @JsonProperty("homeCityCode")
+                private String homeCityCode;
+                @JsonProperty("homeProvinceCode")
+                private String homeProvinceCode;
+                @JsonProperty("invalidateFlag")
+                private String invalidateFlag;
+                @JsonProperty("isRuralOrUrban")
+                private String isRuralOrUrban;
+                @JsonProperty("personnelAge")
+                private String personnelAge;
+                @JsonProperty("professionCode")
+                private String professionCode;
+                @JsonProperty("sexCode")
+                private String sexCode;
+                @JsonProperty("effectedDate")
+                private String effectedDate;
+                @JsonProperty("expiredDate")
+                private String expiredDate;
+                @JsonProperty("certType")
+                private String certType;
+                @JsonProperty("nationalityType")
+                private String nationalityType;
+                @JsonProperty("longExpiredDate")
+                private String longExpiredDate;
+                @JsonProperty("idCardAccess")
+                private String idCardAccess;
+                @JsonProperty("idCardAccessDate")
+                private String idCardAccessDate;
+                @JsonProperty("homeAddrShow")
+                private String homeAddrShow;
+                @JsonProperty("certiAddrShow")
+                private String certiAddrShow;
+                @JsonProperty("other1AddrShow")
+                private String other1AddrShow;
+                @JsonProperty("other2AddrShow")
+                private String other2AddrShow;
+            }
+        }
+    }
+}

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

@@ -0,0 +1,50 @@
+package com.jzg.quotation.ansheng.crawler.entity.response;
+
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+@Data
+@NoArgsConstructor
+@AllArgsConstructor
+public class AnShengCrawlerQuoteResultResponse {
+
+    /** 响应码 200=成功 */
+    private Integer code;
+    /** 简短提示信息 */
+    private String simpleMessage;
+    /** 完整提示信息 */
+    private String message;
+    /** 业务数据体 */
+    private QuoteData data;
+
+
+    /**
+     * 报价返回data内部数据实体
+     */
+    @Data
+    @NoArgsConstructor
+    @AllArgsConstructor
+    public static class QuoteData {
+        /** 单据号 */
+        private String documentNo;
+        /** 报价任务返回详情文本(含html标签) */
+        private String quoteTaskNo;
+        /** 是否首次初审任务 */
+        private Boolean firstTrialTask;
+        /** 任务编号 */
+        private String taskNo;
+        /** 首次是否全部通过 0=不通过 */
+        private String firstAllPassed;
+        /** 是否报价任务 */
+        private Boolean quoteTask;
+        /** 首次初审任务详情文本(含html标签) */
+        private String firstTrialTaskNo;
+        /** 报价整体是否全部通过 0=不通过 */
+        private String quoteAllPassed;
+        /** 首次新增附件信息 */
+        private String firstnewAttachment;
+    }
+
+
+}

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

@@ -32,6 +32,7 @@ import com.jzg.quotation.commons.filter.CarModelsFilterUtils;
 import com.jzg.quotation.commons.utils.TimeProcessing;
 import com.jzg.quotation.commons.utils.TimeProcessing;
 import lombok.RequiredArgsConstructor;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
 import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.collections.CollectionUtils;
 import org.springframework.http.HttpHeaders;
 import org.springframework.http.HttpHeaders;
 import org.springframework.util.LinkedMultiValueMap;
 import org.springframework.util.LinkedMultiValueMap;
 import org.springframework.util.MultiValueMap;
 import org.springframework.util.MultiValueMap;
@@ -237,8 +238,7 @@ public class AnShengCrawlerRequestImpl implements AnShengCrawlerRequest {
         UnderwritingResultsVo underwritingResultsVo = new UnderwritingResultsVo();
         UnderwritingResultsVo underwritingResultsVo = new UnderwritingResultsVo();
         AnShengCrawlerOrder anShengCrawlerOrder = anShengCrawlerOrderService.getById(ordersNo);
         AnShengCrawlerOrder anShengCrawlerOrder = anShengCrawlerOrderService.getById(ordersNo);
         PaymentLinkResultsVo paymentLinkResultsVo;
         PaymentLinkResultsVo paymentLinkResultsVo;
-        Integer code = applyApplicationResponse.getCode();
-        if (!code.equals(200)) {
+        if (!applyApplicationResponse.getCode().equals(200)) {
             underwritingResultsVo.setUnderwritingResult(applyApplicationResponse.getMessage());
             underwritingResultsVo.setUnderwritingResult(applyApplicationResponse.getMessage());
             underwritingResultsVo.setUnderwritingStatus(InsOrderStatusEnum.AUDIT_FAIL);
             underwritingResultsVo.setUnderwritingStatus(InsOrderStatusEnum.AUDIT_FAIL);
             return underwritingResultsVo;
             return underwritingResultsVo;
@@ -353,8 +353,8 @@ public class AnShengCrawlerRequestImpl implements AnShengCrawlerRequest {
         AnShengCrawlerOrder anShengCrawlerOrder = anShengCrawlerOrderService.getById(paymentLinkVo.getOrder().getOrdersNo());
         AnShengCrawlerOrder anShengCrawlerOrder = anShengCrawlerOrderService.getById(paymentLinkVo.getOrder().getOrdersNo());
         // 获取支付链接
         // 获取支付链接
         AnShengCrawlerPaymentRequest anShengCrawlerPaymentRequest = new AnShengCrawlerPaymentRequest(anShengCrawlerOrder, userDetailResponse.getDepartmentCode(), anShengCrawlerOrder.getTotalPremium());
         AnShengCrawlerPaymentRequest anShengCrawlerPaymentRequest = new AnShengCrawlerPaymentRequest(anShengCrawlerOrder, userDetailResponse.getDepartmentCode(), anShengCrawlerOrder.getTotalPremium());
-        String paymentUrl = anShengCrawlerRequestComponent.payment(anShengCrawlerPaymentRequest, httpHeaders);
-        return new PaymentLinkResultsVo(true, paymentUrl, "");
+        AnShengCrawlerPaymentResponse payment = anShengCrawlerRequestComponent.payment(anShengCrawlerPaymentRequest, httpHeaders);
+        return new PaymentLinkResultsVo(true,Objects.isNull(payment.getData()) ? "" : payment.getData().getFxQRCode(), payment.getMessage());
     }
     }
 
 
     @Override
     @Override
@@ -475,15 +475,13 @@ public class AnShengCrawlerRequestImpl implements AnShengCrawlerRequest {
             HttpHeaders httpHeaders = anShengCrawlerQuoteProcessService.getHttpHeaders(orderStatusVo.getOrder().getAttributionInformationVo());
             HttpHeaders httpHeaders = anShengCrawlerQuoteProcessService.getHttpHeaders(orderStatusVo.getOrder().getAttributionInformationVo());
             AnShengCrawlerGetUserDetailResponse.DataDTO.AgentDefineDTO userDetail = anShengCrawlerQuoteProcessService.getUserDetailResponse(orderStatusVo.getOrder().getAgreementId(), httpHeaders);
             AnShengCrawlerGetUserDetailResponse.DataDTO.AgentDefineDTO userDetail = anShengCrawlerQuoteProcessService.getUserDetailResponse(orderStatusVo.getOrder().getAgreementId(), httpHeaders);
             // 2. 查询订单状态
             // 2. 查询订单状态
-            AnShengCrawlerComprehensiveQueryInsurenetRequest request = new AnShengCrawlerComprehensiveQueryInsurenetRequest(userDetail.getAgentCode(), userDetail.getDepartmentCode(), crawlerOrder.getOrderNo(), crawlerOrder.getRecordingTime());
+            AnShengCrawlerComprehensiveQueryInsurenetRequest request = new AnShengCrawlerComprehensiveQueryInsurenetRequest(userDetail.getAgentCode(), userDetail.getDepartmentCode(), crawlerOrder.getOrderNo(), crawlerOrder.getRecordingTime(),orderStatusVo.getCarInfo().getLicenseNo());
             AnShengCrawlerComprehensiveQueryInsurenetResponse response = anShengCrawlerRequestComponent.comprehensiveQueryInsurenet(request, httpHeaders);
             AnShengCrawlerComprehensiveQueryInsurenetResponse response = anShengCrawlerRequestComponent.comprehensiveQueryInsurenet(request, httpHeaders);
 
 
             if (response == null || response.getData() == null || response.getData().getList() == null) {
             if (response == null || response.getData() == null || response.getData().getList() == null) {
                 return resultVo;
                 return resultVo;
             }
             }
-            Set<String> targetPolicyNos = Stream.of(crawlerOrder.getCiPolicyNo(), crawlerOrder.getBiPolicyNo())
-                    .filter(StringUtils::isNotEmpty)
-                    .collect(Collectors.toSet());
+            Set<String> targetPolicyNos = Stream.of(crawlerOrder.getCiPolicyNo(), crawlerOrder.getBiPolicyNo()).filter(StringUtils::isNotEmpty).collect(Collectors.toSet());
             List<AnShengCrawlerComprehensiveQueryInsurenetResponse.DataDTO.ListDTO.PolicyConciseDetailsDTO> matchedDetails =
             List<AnShengCrawlerComprehensiveQueryInsurenetResponse.DataDTO.ListDTO.PolicyConciseDetailsDTO> matchedDetails =
                     response.getData().getList().stream()
                     response.getData().getList().stream()
                             .map(AnShengCrawlerComprehensiveQueryInsurenetResponse.DataDTO.ListDTO::getPolicyConciseDetails)
                             .map(AnShengCrawlerComprehensiveQueryInsurenetResponse.DataDTO.ListDTO::getPolicyConciseDetails)
@@ -504,33 +502,42 @@ public class AnShengCrawlerRequestImpl implements AnShengCrawlerRequest {
             boolean allMarksSame = underwriteMarks.stream().allMatch(mark -> Objects.equals(baseMark, mark));
             boolean allMarksSame = underwriteMarks.stream().allMatch(mark -> Objects.equals(baseMark, mark));
             if (!allMarksSame) {
             if (!allMarksSame) {
                 if (underwriteMarks.contains("0")){
                 if (underwriteMarks.contains("0")){
-                    resultVo.setErrorMsg("核保失败");
+                    String reason = queryFailure(targetPolicyNos, httpHeaders);
+                    resultVo.setErrorMsg(reason);
                     resultVo.setOrderStatus(InsOrderStatusEnum.AUDIT_FAIL);
                     resultVo.setOrderStatus(InsOrderStatusEnum.AUDIT_FAIL);
+                } else if (underwriteMarks.contains("1")) {
+                    log.info("核保中请稍等...");
                 }
                 }
                 return resultVo;
                 return resultVo;
-            }
-            if ("9".equals(baseMark) || "2".equals(baseMark)) {
-                boolean isPayPending = "9".equals(baseMark);
-                // 获取支付链接
-                PaymentLinkVo paymentLinkVo = new PaymentLinkVo();
-                paymentLinkVo.setOrder(orderStatusVo.getOrder());
-                PaymentLinkResultsVo paymentLinkResultsVo = loopAcquisitionPaymentLink(paymentLinkVo);
-                resultVo.setOrderStatus(isPayPending ? InsOrderStatusEnum.PAY_PENDING : InsOrderStatusEnum.UNDERWRITED);
-                resultVo.setOrderStatusStr(isPayPending ? "4" : "5");
-                resultVo.setPaymentLink(paymentLinkResultsVo.getPaymentLink());
-                resultVo.setErrorMsg("");
-                for (AnShengCrawlerComprehensiveQueryInsurenetResponse.DataDTO.ListDTO.PolicyConciseDetailsDTO detail : matchedDetails) {
-                    String planCode = detail.getPlanCode();
-                    if ("105".equals(planCode)) {
-                        resultVo.setJqPolicyno(detail.getPolicyNo());
-                        resultVo.setJqApplyNo(detail.getApplyPolicyNo());
-                    } else if ("109".equals(planCode)) {
-                        resultVo.setSyPolicyno(detail.getPolicyNo());
-                        resultVo.setSyApplyNo(detail.getApplyPolicyNo());
-                    } else if ("P13".equals(planCode)) {
-                        resultVo.setJyPolicyno(detail.getPolicyNo());
-                        resultVo.setJyApplyNo(detail.getApplyPolicyNo());
+            }else {
+                if ("9".equals(baseMark) || "2".equals(baseMark)) {
+                    boolean isPayPending = "9".equals(baseMark);
+                    // 获取支付链接
+                    PaymentLinkVo paymentLinkVo = new PaymentLinkVo();
+                    paymentLinkVo.setOrder(orderStatusVo.getOrder());
+                    PaymentLinkResultsVo paymentLinkResultsVo = loopAcquisitionPaymentLink(paymentLinkVo);
+                    resultVo.setOrderStatus(isPayPending ? InsOrderStatusEnum.PAY_PENDING : InsOrderStatusEnum.UNDERWRITED);
+                    resultVo.setOrderStatusStr(isPayPending ? "4" : "5");
+                    resultVo.setPaymentLink(paymentLinkResultsVo.getPaymentLink());
+                    resultVo.setErrorMsg("");
+                    for (AnShengCrawlerComprehensiveQueryInsurenetResponse.DataDTO.ListDTO.PolicyConciseDetailsDTO detail : matchedDetails) {
+                        String planCode = detail.getPlanCode();
+                        if ("105".equals(planCode)) {
+                            resultVo.setJqPolicyno(detail.getPolicyNo());
+                            resultVo.setJqApplyNo(detail.getApplyPolicyNo());
+                        } else if ("109".equals(planCode)) {
+                            resultVo.setSyPolicyno(detail.getPolicyNo());
+                            resultVo.setSyApplyNo(detail.getApplyPolicyNo());
+                        } else if ("P13".equals(planCode)) {
+                            resultVo.setJyPolicyno(detail.getPolicyNo());
+                            resultVo.setJyApplyNo(detail.getApplyPolicyNo());
+                        }
                     }
                     }
+                } else if ("0".equals(baseMark)) {
+                    String reason = queryFailure(targetPolicyNos, httpHeaders);
+                    resultVo.setErrorMsg(reason);
+                } else if ("1".equals(baseMark)) {
+                    log.info("人工处理中,请稍等...");
                 }
                 }
             }
             }
         } catch (Exception e) {
         } catch (Exception e) {
@@ -539,4 +546,38 @@ public class AnShengCrawlerRequestImpl implements AnShengCrawlerRequest {
         return resultVo;
         return resultVo;
     }
     }
 
 
+
+
+    public String queryFailure(Set<String> targetPolicyNos, HttpHeaders httpHeaders) {
+        if (CollectionUtils.isEmpty(targetPolicyNos)) {
+            return "";
+        }
+        StringBuilder reasonBuilder = new StringBuilder();
+        Set<String> addedReasons = new HashSet<>();
+        for (String policyNo : targetPolicyNos) {
+            AnShengCrawlerSaleSlipRequest request = new AnShengCrawlerSaleSlipRequest(policyNo);
+            AnShengCrawlerPolicyResponse response = anShengCrawlerRequestComponent.getSaleSlip(request, httpHeaders);
+            if (response == null || response.getData() == null || response.getData().getContract() == null || CollectionUtils.isEmpty(response.getData().getContract().getUnderwriteInfos())) {
+                continue;
+            }
+            List<AnShengCrawlerPolicyResponse.DataVo.Contract.UnderwriteInfo> underwriteInfos = response.getData().getContract().getUnderwriteInfos();
+            for (AnShengCrawlerPolicyResponse.DataVo.Contract.UnderwriteInfo underwriteInfo : underwriteInfos) {
+                if (!StringUtils.equals("0", underwriteInfo.getUnderwriteMark())) {
+                    continue;
+                }
+                List<AnShengCrawlerPolicyResponse.DataVo.Contract.UnderwriteInfo.UnderwriteOpinion> opinions = underwriteInfo.getUnderwriteOpinions();
+                if (CollectionUtils.isEmpty(opinions)) {
+                    continue;
+                }
+                for (AnShengCrawlerPolicyResponse.DataVo.Contract.UnderwriteInfo.UnderwriteOpinion opinion : opinions) {
+                    String desc = opinion.getUnderwriteOpinionDesc();
+                    if (StringUtils.isNotBlank(desc) && addedReasons.add(desc)) {
+                        reasonBuilder.append(desc);
+                    }
+                }
+            }
+        }
+        return reasonBuilder.toString();
+    }
+
 }
 }

+ 74 - 3
tenant/insurance/quotation-renbaonew/src/main/java/com/jzg/quotation/renbaonew/crawler/component/RenBaoNewCrawlerRequestComponent.java

@@ -18,6 +18,7 @@ import org.springframework.http.HttpEntity;
 import org.springframework.http.HttpHeaders;
 import org.springframework.http.HttpHeaders;
 import org.springframework.http.MediaType;
 import org.springframework.http.MediaType;
 import org.springframework.http.ResponseEntity;
 import org.springframework.http.ResponseEntity;
+import org.springframework.http.client.SimpleClientHttpRequestFactory;
 import org.springframework.stereotype.Component;
 import org.springframework.stereotype.Component;
 import org.springframework.util.LinkedMultiValueMap;
 import org.springframework.util.LinkedMultiValueMap;
 import org.springframework.util.MultiValueMap;
 import org.springframework.util.MultiValueMap;
@@ -25,7 +26,12 @@ import org.springframework.web.client.RestTemplate;
 
 
 import java.io.IOException;
 import java.io.IOException;
 import java.math.BigDecimal;
 import java.math.BigDecimal;
+import java.net.HttpURLConnection;
+import java.net.InetSocketAddress;
+import java.net.Proxy;
 import java.net.URLDecoder;
 import java.net.URLDecoder;
+import java.security.SecureRandom;
+import java.security.cert.X509Certificate;
 import java.time.LocalDate;
 import java.time.LocalDate;
 import java.util.ArrayList;
 import java.util.ArrayList;
 import java.util.Base64;
 import java.util.Base64;
@@ -33,6 +39,12 @@ import java.util.HashMap;
 import java.util.List;
 import java.util.List;
 import java.util.Map;
 import java.util.Map;
 
 
+import javax.net.ssl.HostnameVerifier;
+import javax.net.ssl.HttpsURLConnection;
+import javax.net.ssl.SSLContext;
+import javax.net.ssl.TrustManager;
+import javax.net.ssl.X509TrustManager;
+
 /**
 /**
  * 人保车险HTTP请求组件
  * 人保车险HTTP请求组件
  *
  *
@@ -65,11 +77,15 @@ public class RenBaoNewCrawlerRequestComponent {
      */
      */
     private HttpHeaders buildHeaders(String token) {
     private HttpHeaders buildHeaders(String token) {
         HttpHeaders headers = new HttpHeaders();
         HttpHeaders headers = new HttpHeaders();
+        headers.set("Accept", "application/json, text/plain, */*");
+        headers.set("Accept-Language", "zh-CN,zh;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6");
         headers.set("Authorization", token);
         headers.set("Authorization", token);
-        headers.set("User-Agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 Safari/537.36 Edg/138.0.0.0");
+        headers.set("Connection", "keep-alive");
+        headers.set("Content-Type", MediaType.APPLICATION_JSON_VALUE);
+        headers.set("Host", "portal.piccltd.com.cn");
         headers.set("Origin", "https://portal.piccltd.com.cn");
         headers.set("Origin", "https://portal.piccltd.com.cn");
         headers.set("Referer", "https://portal.piccltd.com.cn/cbzx/car/picc/index1");
         headers.set("Referer", "https://portal.piccltd.com.cn/cbzx/car/picc/index1");
-        headers.set("Host", "portal.piccltd.com.cn");
+        headers.set("User-Agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 Safari/537.36 Edg/138.0.0.0");
         return headers;
         return headers;
     }
     }
 
 
@@ -133,10 +149,65 @@ public class RenBaoNewCrawlerRequestComponent {
     public RenBaoNewCrawlerNpcInitResponse getNpcInit(RenBaoNewCrawlerNpcInitRequest request, HttpHeaders headers) {
     public RenBaoNewCrawlerNpcInitResponse getNpcInit(RenBaoNewCrawlerNpcInitRequest request, HttpHeaders headers) {
         String url = buildUrl(RequestUrl.NPC_INIT.getUrl());
         String url = buildUrl(RequestUrl.NPC_INIT.getUrl());
         log.info("Request NPC init: {}", request.getUserCode());
         log.info("Request NPC init: {}", request.getUserCode());
-        ResponseEntity<String> responseEntity = requestComponent.stringPost(url, "", String.class, headers);
+        SimpleClientHttpRequestFactory requestFactory = createIgnoreSslProxyRequestFactory();
+        RestTemplate proxyRestTemplate = new RestTemplate(requestFactory);
+        HttpEntity<String> entity = new HttpEntity<>("", headers);
+        ResponseEntity<String> responseEntity = proxyRestTemplate.postForEntity(url, entity, String.class);
         return JSON.parseObject(responseEntity.getBody(), RenBaoNewCrawlerNpcInitResponse.class);
         return JSON.parseObject(responseEntity.getBody(), RenBaoNewCrawlerNpcInitResponse.class);
     }
     }
 
 
+    /**
+     * 创建关闭证书校验的代理请求工厂,仅用于NPC初始化代理请求。
+     */
+    private SimpleClientHttpRequestFactory createIgnoreSslProxyRequestFactory() {
+        SimpleClientHttpRequestFactory requestFactory = new SimpleClientHttpRequestFactory() {
+            @Override
+            protected void prepareConnection(HttpURLConnection connection, String httpMethod) throws IOException {
+                if (connection instanceof HttpsURLConnection httpsConnection) {
+                    httpsConnection.setSSLSocketFactory(createTrustAllSslContext().getSocketFactory());
+                    httpsConnection.setHostnameVerifier(trustAllHostnameVerifier());
+                }
+                super.prepareConnection(connection, httpMethod);
+            }
+        };
+        //requestFactory.setProxy(new Proxy(Proxy.Type.HTTP, new InetSocketAddress("192.168.5.168", 9999)));
+        return requestFactory;
+    }
+
+    /**
+     * 创建信任所有证书的SSL上下文。
+     */
+    private SSLContext createTrustAllSslContext() {
+        try {
+            TrustManager[] trustManagers = new TrustManager[]{new X509TrustManager() {
+                @Override
+                public void checkClientTrusted(X509Certificate[] chain, String authType) {
+                }
+
+                @Override
+                public void checkServerTrusted(X509Certificate[] chain, String authType) {
+                }
+
+                @Override
+                public X509Certificate[] getAcceptedIssuers() {
+                    return new X509Certificate[0];
+                }
+            }};
+            SSLContext sslContext = SSLContext.getInstance("TLS");
+            sslContext.init(null, trustManagers, new SecureRandom());
+            return sslContext;
+        } catch (Exception e) {
+            throw new SystemException("创建忽略证书校验SSL上下文失败: " + e.getMessage());
+        }
+    }
+
+    /**
+     * 创建信任所有主机名的校验器。
+     */
+    private HostnameVerifier trustAllHostnameVerifier() {
+        return (hostname, session) -> true;
+    }
+
     /**
     /**
      * 车型查询
      * 车型查询
      *
      *

+ 0 - 1
tenant/insurance/quotation-renbaonew/src/main/java/com/jzg/quotation/renbaonew/crawler/service/impl/RenBaoNewCrawlerGetTokenImpl.java

@@ -208,7 +208,6 @@ public class RenBaoNewCrawlerGetTokenImpl implements RenBaoNewCrawlerGetToken {
             request.setToken(token);
             request.setToken(token);
             request.setUserCode(userCode);
             request.setUserCode(userCode);
             request.setComCode(comCode);
             request.setComCode(comCode);
-            
             RenBaoNewCrawlerNpcInitResponse response = requestComponent.getNpcInit(request, headers);
             RenBaoNewCrawlerNpcInitResponse response = requestComponent.getNpcInit(request, headers);
             
             
             if (!response.isSuccess()) {
             if (!response.isSuccess()) {

+ 8 - 6
tenant/insurance/quotation-summary/src/main/resources/application-prod.yaml

@@ -1,3 +1,5 @@
+server:
+  port: 9898
 spring:
 spring:
   cloud:
   cloud:
     nacos:
     nacos:
@@ -250,14 +252,14 @@ feign:
     jzg-partner:
     jzg-partner:
       url: http://172.24.144.227:8087/
       url: http://172.24.144.227:8087/
     jeecg-boot:
     jeecg-boot:
-      url: https://life.baoxianzhanggui.com/locallive-pro-java
+      url: https://life.baoxianzhanggui.com/jeecg-pro-boot/
 # 和生活服务平台约定的appkey、appSeCret,用于获取token
 # 和生活服务平台约定的appkey、appSeCret,用于获取token
 live:
 live:
   service:
   service:
-    appKey: _N7dxVy3UJQUNwvacEHUFPzZ63kGwSx1OxXablRXJ9g
-    appSeCret: UByV_498NU1unnr3b0hvQtIKbRyIj0HGCkZXxxgzwAU
+    appKey: OSCB2iyvt4-CgMQjTtqUe6r7gyk6xAhlpx3z_6Q-u-Y
+    appSeCret: y4PJIzlijRo5eqt37IfgzqQTcMLQT4ytMDX27ncY_QA
 
 
 localLive:
 localLive:
-  base-url: http://192.168.1.108:8082/jeecg-boot
-  app-key: _N7dxVy3UJQUNwvacEHUFPzZ63kGwSx1OxXablRXJ9g
-  app-secret: UByV_498NU1unnr3b0hvQtIKbRyIj0HGCkZXxxgzwAU
+  base-url: https://life.baoxianzhanggui.com/jeecg-pro-boot/
+  app-key: OSCB2iyvt4-CgMQjTtqUe6r7gyk6xAhlpx3z_6Q-u-Y
+  app-secret: y4PJIzlijRo5eqt37IfgzqQTcMLQT4ytMDX27ncY_QA

+ 78 - 90
tenant/insurance/quotation-summary/src/main/resources/application-test.yaml

@@ -1,15 +1,17 @@
+server:
+  port: 19898
 spring:
 spring:
   cloud:
   cloud:
     nacos:
     nacos:
-      server-addr: 192.168.5.250:8848
+      server-addr: 172.24.144.227:8848
       username: nacos
       username: nacos
-      password: nacos
+      password: AnrNjNn6zCS3QdIy
       config:
       config:
         file-extension: yaml
         file-extension: yaml
-        namespace: bb8f915c-82b0-4f0d-9e9e-03aa629f2d45
+        namespace: 7268dffe-b5ab-4537-a2b5-2178b0693ce4
         group: DEFAULT_GROUP
         group: DEFAULT_GROUP
       discovery:
       discovery:
-        namespace: bb8f915c-82b0-4f0d-9e9e-03aa629f2d45
+        namespace: 7268dffe-b5ab-4537-a2b5-2178b0693ce4
   config:
   config:
     import:
     import:
       - nacos:mysql
       - nacos:mysql
@@ -18,11 +20,9 @@ spring:
       - nacos:mongodb
       - nacos:mongodb
       - nacos:identify
       - nacos:identify
       - nacos:crawler-config
       - nacos:crawler-config
-  redis:
-    host: 192.168.5.250
-    port: 6379
-    password: 123456  # 如果没有密码,可删除此行
-    database: 0
+      - nacos:rocketmq
+      - nacos:seata-server
+
 #百度图片识别API
 #百度图片识别API
 baidu:
 baidu:
   clientId: xG9M8tSjNvYPwSTNavM0ELlD
   clientId: xG9M8tSjNvYPwSTNavM0ELlD
@@ -33,7 +33,6 @@ baidu:
 
 
 data-scope:
 data-scope:
   tables:
   tables:
-    - sys_organization_user_link
 
 
 
 
 image:
 image:
@@ -42,17 +41,27 @@ image:
 
 
 # 支付码相关配置
 # 支付码相关配置
 qrcode:
 qrcode:
-  genAddress: https://192.168.0.250:8001/order/qrCode/index
-  imageSrc: https://192.168.0.250:8001/template/
+  genAddress: https://tennat.baoxianzhanggui.com/test_api/order/qrCode/index
+  imageSrc: https://tennat.baoxianzhanggui.com/test_api/template/
 
 
 
 
 yc:
 yc:
   api:
   api:
     payCallBack: https://sxzgkj.baoxianzhanggui.com/web-api/api/yongCheng/callBack
     payCallBack: https://sxzgkj.baoxianzhanggui.com/web-api/api/yongCheng/callBack
-#    url: https://test.baoxianzhanggui.com/yongcheng/
+    #    url: https://test.baoxianzhanggui.com/yongcheng/
     url: http://39.98.214.159/yongcheng/
     url: http://39.98.214.159/yongcheng/
 
 
-##阳光财险测试api
+#阳光财险生产api
+#yangguang:
+#  api:
+#    key: GVGFDsmWyvydKuCrtP
+#    url: http://wxopenapi.sinosig.com/serviceCar/nonstandard.action?sysFlag=CCSI_SXJZG
+#    uploadUrl: http://autoimage.sinosig.com/AutoImagePlatform/third/upload
+#    payCallBack: https://sxzgkj.baoxianzhanggui.com/web-api/api/yangGuang/callBack
+#    secret: 6CPxxlHwLLphTR7gVg3hJLsH
+#    referer: SXJZG
+
+#阳光财险测试api
 #yangguang:
 #yangguang:
 #  api:
 #  api:
 #    key: uYPP7AIc3HYsUh8rFn
 #    key: uYPP7AIc3HYsUh8rFn
@@ -73,23 +82,9 @@ yangguang:
     referer: SXJZG
     referer: SXJZG
 
 
 
 
-#阳光财险测试api
-#yangguang:
-#  api:
-#    key: uYPP7AIc3HYsUh8rFn
-#    url: http://chexiantest.sinosig.com:7002/serviceCar/nonstandard.action?sysFlag=CCSI_SXJZG
-#    uploadUrl: http://unifiedimage.sinosig.com:8082/AutoImagePlatform/third/upload
-#    payCallBack: https://sxzgkj.baoxianzhanggui.com/web-api/api/yangGuang/callBack
-#    secret: 6CPxxlHwLLphTR7gVg3hJLsH
-#    referer: SXJZG
-
-
-##诚泰财险api
+#诚泰财险 测试 api
 #chengtai:
 #chengtai:
 #  api:
 #  api:
-#    #    ctPublicKey: MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCvuUnoPTFin84nDdpNZFDiGZgUKn6d9fbp6F4/fqrb6pFoJX/wLMr0IsheP0ZnVCPpLGKLjflPNHJo/P9WRRTSM67D8fRD8GKoq+7CtSJkdIticASpN/U8AgJiNV6xdReJcMkaAWJ1ZbOQ+nYLg9OE0qQ6cuXqhy/wVrqx72CrvwIDAQAB
-#    #    publicKey: MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCyVlpqmibguria884GdAYEuqCV4aQRl2N21+7l8Vxocoyz+M8KYyXqmlLKqApNL/U5pUVTjS6vpC6ojS+wvNbawijeMsm8r2NOlTHBnQ5vN0azjjPPtSrxgHL8/EYBa4lmBcexdmcUrUyWjAIYqfO8dlY+RuXvbiw7fBHZ7xpAvQIDAQAB
-#    #    privateKey: MIICdwIBADANBgkqhkiG9w0BAQEFAASCAmEwggJdAgEAAoGBALJWWmqaJuC6uJrzzgZ0BgS6oJXhpBGXY3bX7uXxXGhyjLP4zwpjJeqaUsqoCk0v9TmlRVONLq+kLqiNL7C81trCKN4yybyvY06VMcGdDm83RrOOM8+1KvGAcvz8RgFriWYFx7F2ZxStTJaMAhip87x2Vj5G5e9uLDt8EdnvGkC9AgMBAAECgYEAsEOHdEvOV1pWMdj9bgVpGW14YQu3RSfTSFheqGkpg5aMmSk3QbYDeOB1KhZysB3Ri9tdLRqi5TkqYK/DTjUnSUMs0iMhx0XaY2z3w16AMpvuJ0FZ4S2h8oAFfOWe4F6bpUYU8qmXANAaXcMm6HjU8k1QuTbjlSOeLujl8W7zk8ECQQDlHbUQ911kWmsSo8NE4S1+dq/6T+yIGCJlXzlNh/z6giMpjp8Dzm3fxDHLeZa+DCrhpT1qe6O3oGwx3HeR/85NAkEAx0NUy6pX5WolV+YAoLNHAmcCP26wQTB7LZ7mXbxww4yNNH9CWHE9PaBuV4Ws4NxSAnRDxrgArkz5+wgqnXzUMQJAHr16orkdra43+XtBYsd3jCUufT4l9SiPzNwW2yEovw+g2h2JlkAnG8O+DpfUstD9G+NItzW5hJSgj5wN6ufQbQJACEtdND0a+4m3lDkWvZm40vjGty08WPpTpkp+/FfjucAYAJ9re5L7IZ2T+kCuOY3yO/fq+lKedKLvpOtqGrQfgQJBAJ1wMccz+1ez8qpyTWbzj2h0O+GV+YDHqJ9SwRWcSacZOeAyO7UMgIZEwoYfs4nhye7DZH9e4BfkwBmFHJKwJNs=
 #    ctPublicKey: MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDSsdhdXaBshYpHRc0mBWugsecv7U7OMmNNNrToXoAE789dfWZ8Im/YBwaB0JEYC55sDVr3pZeIoLLlDlD8IosYJGulQcUrlga5sZ6BjBsfvW+KtoU4H5krR7eKX4dGCHX2qGH9eHJRU1Y7jGhOwjxDvEBHwRlY2Ur/gD2vBcJT8wIDAQAB
 #    ctPublicKey: MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDSsdhdXaBshYpHRc0mBWugsecv7U7OMmNNNrToXoAE789dfWZ8Im/YBwaB0JEYC55sDVr3pZeIoLLlDlD8IosYJGulQcUrlga5sZ6BjBsfvW+KtoU4H5krR7eKX4dGCHX2qGH9eHJRU1Y7jGhOwjxDvEBHwRlY2Ur/gD2vBcJT8wIDAQAB
 #    publicKey: MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDG5XjPzLv7/LwXmDkSS2kL4JN3B9JK6mRDxgal+K7f5GY2c3TRXSIm2ot+2ZL2Tr4nSJEkZUe98ORovYnpvgeW16MFhPAkUYHVu3rv6JKuGrJhdvkfNC/TR92oey8/Qk0YwSeOzHEf1tEfMvnE3pC8xZom4Et2W9y62+RoH22uhQIDAQAB
 #    publicKey: MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDG5XjPzLv7/LwXmDkSS2kL4JN3B9JK6mRDxgal+K7f5GY2c3TRXSIm2ot+2ZL2Tr4nSJEkZUe98ORovYnpvgeW16MFhPAkUYHVu3rv6JKuGrJhdvkfNC/TR92oey8/Qk0YwSeOzHEf1tEfMvnE3pC8xZom4Et2W9y62+RoH22uhQIDAQAB
 #    privateKey: MIICdQIBADANBgkqhkiG9w0BAQEFAASCAl8wggJbAgEAAoGBAMbleM/Mu/v8vBeYORJLaQvgk3cH0krqZEPGBqX4rt/kZjZzdNFdIibai37ZkvZOvidIkSRlR73w5Gi9iem+B5bXowWE8CRRgdW7eu/okq4asmF2+R80L9NH3ah7Lz9CTRjBJ47McR/W0R8y+cTekLzFmibgS3Zb3Lrb5Ggfba6FAgMBAAECgYByDbKajo+Zr1L4wLyxZfbl7bECR8TqWsCGMK8tS46UKvgF720khaCI4Teu1Ps2LO9TvYQld8KNA+8mtNG57NOSQx3aaI/sH3XAsWExnNupSHs3/O0m91KMCrVfhDakpW+eXu9+BTyOQeHt5e+0R6hsUZ5OPhwOGoxBlNRWqQruXQJBAPlY2r994Yq37HV0WFofIKtRqDz5mGoL7iENZ7/TB64Qe6kbLBnq0Qha6TxyudlISYSGMzIHxqZ/gClDy5VQTUsCQQDMNASRJ9CuNkgTF/LswRJQmtVG9djzwD2W5r6QqWy7cBDOB9eenAAjmmP8R43edPdrYDuqpuvjUK5ISxkDAKFvAkAuGPM3+7m6v44DmOLMpnyPr6T+wNYgpNv9WFEZ8ZW15G44MUHR+Mt0U/pSppMdTHPrADRux2k+VswG1PXKQPJJAkAZScfXAgtBx88dLjYTQ8W03bfT1dZMOV5nNaQb3h9tBu/N1ALLzZ3mytPfBi13gxyw23YIKCvGNtOeeE5cpNNZAkBRsB9I6yogNDdYQHNiPpk+M5t043LbI+v+KAwUWqkkt81PJOqzrbxtySPmRxlAZI9flXQD5eRTvkHZWPnM/2/b
 #    privateKey: MIICdQIBADANBgkqhkiG9w0BAQEFAASCAl8wggJbAgEAAoGBAMbleM/Mu/v8vBeYORJLaQvgk3cH0krqZEPGBqX4rt/kZjZzdNFdIibai37ZkvZOvidIkSRlR73w5Gi9iem+B5bXowWE8CRRgdW7eu/okq4asmF2+R80L9NH3ah7Lz9CTRjBJ47McR/W0R8y+cTekLzFmibgS3Zb3Lrb5Ggfba6FAgMBAAECgYByDbKajo+Zr1L4wLyxZfbl7bECR8TqWsCGMK8tS46UKvgF720khaCI4Teu1Ps2LO9TvYQld8KNA+8mtNG57NOSQx3aaI/sH3XAsWExnNupSHs3/O0m91KMCrVfhDakpW+eXu9+BTyOQeHt5e+0R6hsUZ5OPhwOGoxBlNRWqQruXQJBAPlY2r994Yq37HV0WFofIKtRqDz5mGoL7iENZ7/TB64Qe6kbLBnq0Qha6TxyudlISYSGMzIHxqZ/gClDy5VQTUsCQQDMNASRJ9CuNkgTF/LswRJQmtVG9djzwD2W5r6QqWy7cBDOB9eenAAjmmP8R43edPdrYDuqpuvjUK5ISxkDAKFvAkAuGPM3+7m6v44DmOLMpnyPr6T+wNYgpNv9WFEZ8ZW15G44MUHR+Mt0U/pSppMdTHPrADRux2k+VswG1PXKQPJJAkAZScfXAgtBx88dLjYTQ8W03bfT1dZMOV5nNaQb3h9tBu/N1ALLzZ3mytPfBi13gxyw23YIKCvGNtOeeE5cpNNZAkBRsB9I6yogNDdYQHNiPpk+M5t043LbI+v+KAwUWqkkt81PJOqzrbxtySPmRxlAZI9flXQD5eRTvkHZWPnM/2/b
@@ -98,19 +93,15 @@ yangguang:
 #诚泰财险 生产api
 #诚泰财险 生产api
 chengtai:
 chengtai:
   api:
   api:
-    ctPublicKey: MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCvuUnoPTFin84nDdpNZFDiGZgUKn6d9fbp6F4/fqrb6pFoJX/wLMr0IsheP0ZnVCPpLGKLjflPNHJo/P9WRRTSM67D8fRD8GKoq+7CtSJkdIticASpN/U8AgJiNV6xdReJcMkaAWJ1ZbOQ+nYLg9OE0qQ6cuXqhy/wVrqx72CrvwIDAQAB
-    publicKey: MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCyVlpqmibguria884GdAYEuqCV4aQRl2N21+7l8Vxocoyz+M8KYyXqmlLKqApNL/U5pUVTjS6vpC6ojS+wvNbawijeMsm8r2NOlTHBnQ5vN0azjjPPtSrxgHL8/EYBa4lmBcexdmcUrUyWjAIYqfO8dlY+RuXvbiw7fBHZ7xpAvQIDAQAB
-    privateKey: MIICdwIBADANBgkqhkiG9w0BAQEFAASCAmEwggJdAgEAAoGBALJWWmqaJuC6uJrzzgZ0BgS6oJXhpBGXY3bX7uXxXGhyjLP4zwpjJeqaUsqoCk0v9TmlRVONLq+kLqiNL7C81trCKN4yybyvY06VMcGdDm83RrOOM8+1KvGAcvz8RgFriWYFx7F2ZxStTJaMAhip87x2Vj5G5e9uLDt8EdnvGkC9AgMBAAECgYEAsEOHdEvOV1pWMdj9bgVpGW14YQu3RSfTSFheqGkpg5aMmSk3QbYDeOB1KhZysB3Ri9tdLRqi5TkqYK/DTjUnSUMs0iMhx0XaY2z3w16AMpvuJ0FZ4S2h8oAFfOWe4F6bpUYU8qmXANAaXcMm6HjU8k1QuTbjlSOeLujl8W7zk8ECQQDlHbUQ911kWmsSo8NE4S1+dq/6T+yIGCJlXzlNh/z6giMpjp8Dzm3fxDHLeZa+DCrhpT1qe6O3oGwx3HeR/85NAkEAx0NUy6pX5WolV+YAoLNHAmcCP26wQTB7LZ7mXbxww4yNNH9CWHE9PaBuV4Ws4NxSAnRDxrgArkz5+wgqnXzUMQJAHr16orkdra43+XtBYsd3jCUufT4l9SiPzNwW2yEovw+g2h2JlkAnG8O+DpfUstD9G+NItzW5hJSgj5wN6ufQbQJACEtdND0a+4m3lDkWvZm40vjGty08WPpTpkp+/FfjucAYAJ9re5L7IZ2T+kCuOY3yO/fq+lKedKLvpOtqGrQfgQJBAJ1wMccz+1ez8qpyTWbzj2h0O+GV+YDHqJ9SwRWcSacZOeAyO7UMgIZEwoYfs4nhye7DZH9e4BfkwBmFHJKwJNs=
-    partnerCode: JZG_TYTQ_SX
-
+    codeKey: TYTQBX
+    url: https://echac.champion-ic.com/
 
 
 #大家财险api
 #大家财险api
 dajia:
 dajia:
   api:
   api:
     encryptKey: "qwertyuiopasdfgh"
     encryptKey: "qwertyuiopasdfgh"
 
 
-
-##国任财险测试api
+#国任财险测试api
 #guoren:
 #guoren:
 #  api:
 #  api:
 #    baseUrl: https://devyun.guorenpcic.com/api/grchannel-interface/httpCurrency/httpJsonCommonEntrance
 #    baseUrl: https://devyun.guorenpcic.com/api/grchannel-interface/httpCurrency/httpJsonCommonEntrance
@@ -137,46 +128,21 @@ guoren:
     interfacePwd: $2a$04$r4neihDJh420OyWEji5w5OMbiyHqYEZHJGLZP0FHFEjXmr7nVW7te
     interfacePwd: $2a$04$r4neihDJh420OyWEji5w5OMbiyHqYEZHJGLZP0FHFEjXmr7nVW7te
     iftest: N
     iftest: N
 
 
-
-
-#guoren:
-#  api:
-#    baseUrl: https://rbt.guorenpcic.com/api/grchannel-interface/httpCurrency/httpJsonCommonEntrance
-#    uploadUrl: https://rbt.guorenpcic.com/api/grecar/photo/upload
-#    redirectUrl: https://sxzgkj.baoxianzhanggui.com/web-api/api/guoRen/callBack
-#    policyUrl: https://rbt.guorenpcic.com/api/grsavecarcore/savecarcore/getElePolicyForGrecar?certiNo=
-#    policyFlagUrl: https://rbt.guorenpcic.com/api/grsavecarcore/savecarcore/getElePolicyFlagForGrecar?certiNo=
-#    serveCode: GR0002
-#    channelCode: TQDL
-#    interfaceUserCode: TQDL
-#    interfacePwd: $2a$04$r4neihDJh420OyWEji5w5OMbiyHqYEZHJGLZP0FHFEjXmr7nVW7te
-#    iftest: N
-
 # 华泰
 # 华泰
 huatai:
 huatai:
   api:
   api:
     sourceCode: '016'
     sourceCode: '016'
     #    baseUrl: https://gears.pc.ehuatai.com:9003/interFaces/common/AutoInsuranceQuotation.do
     #    baseUrl: https://gears.pc.ehuatai.com:9003/interFaces/common/AutoInsuranceQuotation.do
     baseUrl: https://hound_t.pc.ehuatai.com/third/interFaces/common/AutoInsuranceQuotation.do
     baseUrl: https://hound_t.pc.ehuatai.com/third/interFaces/common/AutoInsuranceQuotation.do
-    selfPublicKey: MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDBOtXf1T/no13LOuy5ti+/d+SADHns8hAv3+LjhDFsQRbHk3tHhnUNX7I8b25576AVmgraefS7jnpyB299f58PK8WkWZN+UB6pcyEpktrtqOnKcaQSTbkQzaseCW4sCRdoea0alzSXUuXC2FN0pHAE3JkT07e5doX3IHas2GJAkwIDAQAB
-    selfPrivateKey: MIICdgIBADANBgkqhkiG9w0BAQEFAASCAmAwggJcAgEAAoGBAME61d/VP+ejXcs67Lm2L7935IAMeezyEC/f4uOEMWxBFseTe0eGdQ1fsjxvbnnvoBWaCtp59LuOenIHb31/nw8rxaRZk35QHqlzISmS2u2o6cpxpBJNuRDNqx4JbiwJF2h5rRqXNJdS5cLYU3SkcATcmRPTt7l2hfcgdqzYYkCTAgMBAAECgYAwAAWRDNBLInHyQjj8CR3jWk0Q4giHq7oJqnwaOIRud9zIxwIgym3ZXKRSDvxKnhQOSa3Yh+MblFEmcmJnsoQ4OedLq7FVOw1eur/nw6jMcROT6ZiP512ZGgKZI1OdkQDpjCqM9Vg1brrFuGdV2RwI9ak2bjKbi7vs6slvd4r3AQJBAOqU+5xkyuaupg9cO/7TIxMgnTQH8W7IC1uDcx3f28QdkP+udJYfU/n1dYyGuhkW66KVANSqz4dsrEiAmfhvydECQQDS304+LEvPi4j8YmNlOXrs1o8H0tPB69svC9ER2YbrTjZf49XvY9fuor11XAprXZhBp8yvJu07FuRWilrQ8FkjAkEAop1qmqzIdweE+ErxECJfQygtsd77v9cPAH5sM752Q0pXtNbD3TmUZkeBGExg/3mDGW5/Z+2M9Y0hFRWJJs6fsQJAO11mV5Z82Tb9H6BLPyoJczeMGLW/q65MjFgVSaMlmoTwRdqMVdKT7bifAbUhscwtmv40X3LkAmiVa8+TdZLUZQJACu2NgPZkw6gjKCZf5xOfvKaC3PqKlhPghq+ypyutzTih9y81+EBJ25emLWNcd5BtIZ/AXmr3UUiGg0zX4s5njA==
+    selfPublicKey: MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCYUuKVmeF5N66v6MQmOR8pt4o33yrio/ZrDf2ehk/kHJ2BYdI+xE9dLrZW5dm0y8yPpIHN39JaLuYOlWz5DVsWJTSPj9eaq0hOiY9BGAHJ3yMHdX3wygpcD11BVc5v4wbX/kyAhmatK69sb4zzAtEve1NS/YwZVuGch0CrkGw3YQIDAQAB
+    selfPrivateKey: MIICdQIBADANBgkqhkiG9w0BAQEFAASCAl8wggJbAgEAAoGBAJhS4pWZ4Xk3rq/oxCY5Hym3ijffKuKj9msN/Z6GT+QcnYFh0j7ET10utlbl2bTLzI+kgc3f0lou5g6VbPkNWxYlNI+P15qrSE6Jj0EYAcnfIwd1ffDKClwPXUFVzm/jBtf+TICGZq0rr2xvjPMC0S97U1L9jBlW4ZyHQKuQbDdhAgMBAAECgYAktOyXYoK8RFfbWjtSfrdsxScQub3K6foq6C8y8Wj1LpQiJqGUsJfze5tDK5agA/CiuODy7LnzM5QK9aVSCw7k0r8EeGpHcYRdLYZM0vXVFK2gIQctFemK4c6sg5p0Bn1LNRbJG7rgMMEA/OxcF6vyQahhFtPVtAQwc+dT0PV51QJBANd66rfTuxSRvIC/RE4W6iqzed2YZtx+0kd7KiN78Y4X6spposFCH4ALf4jUeRRXZAm+Qu71cq21m2GsQZ8bZdMCQQC096ilZXEjmEuvopQR3JvPbgAF+MtItusyDDsMR1CWwXq9XGMmxi6GhFY7r7C8b40j1IchVAEY5BcwxJwfjql7AkAp5QYZs5reBu/FgGqBXEcvAjIheW4WVLoBl9q7h2+RlujZbexs8rQ5KwMi0VyxLcSPeGR/HU2spHCPbvRbQPJtAkBANK4tIHSnwFz6D6ChRbgyPEDd3YuiXOPNefFpRdQd6L93d9Pl6eKP71v5CTiXYqyczcaz2G4bOrHPp7IMsD0JAkBO/q3ZMT+Nj2jdMn2AR1h+ngn38JnK46PznU0WoRPx72YoWbLxvaGWpu8scZAhpYeq/n+52NHFfu8ayDRNWjP2
     huaTaiPublicKey: MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCYyF2SBNzLOP5N5fFW2T2eQ5+iaI5wVpsedu+UY290TVuG152tkdtSuTXsx+8BKnd79/PF966/2aSP4EUm7vD9kvQUnX2EDUiMooorGvDTRxoHNXFGqOtxdMiUOuqx19HwNb4gOXZ1WdjWJwSmqC6ZP6OgxKIotCHJwe826Q/w8wIDAQAB
     huaTaiPublicKey: MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCYyF2SBNzLOP5N5fFW2T2eQ5+iaI5wVpsedu+UY290TVuG152tkdtSuTXsx+8BKnd79/PF966/2aSP4EUm7vD9kvQUnX2EDUiMooorGvDTRxoHNXFGqOtxdMiUOuqx19HwNb4gOXZ1WdjWJwSmqC6ZP6OgxKIotCHJwe826Q/w8wIDAQAB
-    huaTaiKey: e1YF83DYB8sj7gEr8M
+    huaTaiKey: AdOdn409KE6Z9XvFsJ
     key: kFl5aiHALbZ6TMTqQDxghMMC
     key: kFl5aiHALbZ6TMTqQDxghMMC
-    tokenUrl: https://vehpxy.pc.ehuatai.com/testsign
+    tokenUrl: https://vehpxy.pc.ehuatai.com/sign
     username: "UE27017723VPN01"
     username: "UE27017723VPN01"
     password: "Dhbx135....."
     password: "Dhbx135....."
     comcode: "9270901-营业部代理业务一部"
     comcode: "9270901-营业部代理业务一部"
-## 渤海财险生产api
-#bohai:
-#  api:
-#    #    url: https://esales.bpic.com.cn
-#    url: http://39.98.238.167/bohai/app-intermediary/gatewayFromPlat
-#    selfPublicKey: MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCGw4XAPHi+K+/F1yb4pP3MTSOurAWsV+o2bzeVLaI+L4AYeXWhMSZ/L5yEX1OvpZKkBRD6KeIzDFqlP+wZ3qgt4n8MoaeA4//Zj4TSXbyXVPtFAtpeTidd7oWBJWcydvhtcWXrhBRh9wErYZ6+hCwh10JBWmSbTcDm0qY8PyqusQIDAQAB
-#    selfPrivateKey: MIICdgIBADANBgkqhkiG9w0BAQEFAASCAmAwggJcAgEAAoGBAIbDhcA8eL4r78XXJvik/cxNI66sBaxX6jZvN5Utoj4vgBh5daExJn8vnIRfU6+lkqQFEPop4jMMWqU/7BneqC3ifwyhp4Dj/9mPhNJdvJdU+0UC2l5OJ13uhYElZzJ2+G1xZeuEFGH3ASthnr6ELCHXQkFaZJtNwObSpjw/Kq6xAgMBAAECgYB2odAwNgukfVEJvCjWYYf6PT3YGh60ZIANg0JO1GkqjO4anXFrgLT+6Y7DCJfG296G/N7BGfXCMnHpXqgc7eDlmSy2JVfKzvptgKJBLktP7Yfajg3oY9S8parSK+iyHT6qYqQv6wBmQ3Q9smOp/TM2ndBMDXu9MjoTkNJhrfMDsQJBANbWHciQhazb3Y2DY42hW/zBf7rmmJFrw7aOrEjzw5E+SnGs/vcr3LUWBbSRTYHcoJ+V/kudfwRMlz0SLkfMAvMCQQCglcjNRx35Zw6vNKHE4vTN/ny2gukjvtkzXpPeTUfblrXjK3w3x9aWBZ/MUiphVe5NB8CAtlfYZMo4UG+WMEjLAkA4yHsyydArMinK/5FOm/meQt6p3c0xkpQ2KlurJJLqTtaKWTlCx1scmeeEJGuiCViDFbgS8FvkHQJUZ/vHikq1AkAHbUX/MHXTbg/AzKdaqsB1snpkGoPb0lzLQmmGU36qSjsZSY6SKdzjzVjJo1cwbz/5Mg2WJljDuk2b8yRmBs+nAkEAzoEZmM031u/0KBpukSbqef8JgJOZ0Do9KDbf2P6YuBal6drUeNYVhImKBxQAbjETp9m5TxxW/dkKmHCnc3zqsA==
-#    boHaiPublicKey: MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCIC3wgJd+7Wue63Qjdh3/uscQSKec2m9gaeCq007kjEiSFES5Tfx75VPSxRj6qk6XN4umHOsHY+W9jkv+Cj4+z3XpPozsRdoj21oxPx8fPJzpVeaUHrEkZtj9Yvo/KhByBK5sRjKmlENXVF3wXVfAg48JZR2XUyUcBdZhR9aHhoQIDAQAB
-#    insurerCode: 'BPIC'
-
 # 渤海财险生产api
 # 渤海财险生产api
 bohai:
 bohai:
   api:
   api:
@@ -196,7 +162,7 @@ bohai:
 #    boHaiPublicKey: MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDKbJHlAPiXza9A7Mfs2cLvysKa5GjdMtG1QQv8oADkAgcdujRq0aHVjNFXoVm7b1DdlhEAdhKXJ7XyY/2zoEbpoU4YxzIftloHZ0vd/k4vgAg5beH972jpWZj6N3ER+EgR73+Ui0p0pdXIRjDF4o8mWSLw8W8Z93eILtLg0DcOIwIDAQAB
 #    boHaiPublicKey: MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDKbJHlAPiXza9A7Mfs2cLvysKa5GjdMtG1QQv8oADkAgcdujRq0aHVjNFXoVm7b1DdlhEAdhKXJ7XyY/2zoEbpoU4YxzIftloHZ0vd/k4vgAg5beH972jpWZj6N3ER+EgR73+Ui0p0pdXIRjDF4o8mWSLw8W8Z93eILtLg0DcOIwIDAQAB
 #    insurerCode: 'BPIC'
 #    insurerCode: 'BPIC'
 
 
-##中煤财险测试
+#中煤财险测试
 #zhongmei:
 #zhongmei:
 #  api:
 #  api:
 #    #    source: 326
 #    #    source: 326
@@ -209,7 +175,9 @@ bohai:
 #    callbackUrl: /order/zhongMeiApi/underwritingCallback
 #    callbackUrl: /order/zhongMeiApi/underwritingCallback
 #    passMsgUrl: /order/zhongMeiApi/auditCallback
 #    passMsgUrl: /order/zhongMeiApi/auditCallback
 #    sessionKey: 1237891234567589
 #    sessionKey: 1237891234567589
-
+#  crawler:
+#    baseUrl: https://hxkscd.chinacoal-ins.com/singlePlatform
+#    imageUrl: https://image.chinacoal-ins.com/SunICMS
 #中煤生产测试
 #中煤生产测试
 # 中煤配置信息
 # 中煤配置信息
 zhongmei:
 zhongmei:
@@ -228,50 +196,70 @@ zhongmei:
     baseUrl: https://hxkscd.chinacoal-ins.com/singlePlatform
     baseUrl: https://hxkscd.chinacoal-ins.com/singlePlatform
     imageUrl: https://image.chinacoal-ins.com/SunICMS
     imageUrl: https://image.chinacoal-ins.com/SunICMS
 
 
+
 zijin:
 zijin:
   api:
   api:
-    #    appKey: SXTQ-C-SX
-    #    appSecret: vAI9sW4bM1m5Y074AUT72wvxKu55SbGY
-    #    proposalCityCode: 320100
-    #    proposalAreaCode: 320000
-    # 为接入方提供获取token服务
-    accessTokenUrl: https://test-open.zking.com/api/v1/public/token/getAccessToken
+    appKey: SXTQ-C-SX
+    appSecret: kARQdHR9OisOrbHpts6Raj7YzQzfvZoO
+    proposalCityCode: 410718
+    proposalAreaCode: 140000
+    #     为接入方提供获取token服务
+    accessTokenUrl: https://open.zking.com/api/v1/public/token/getAccessToken
     # 车险业务
     # 车险业务
-    url: http://test-open.zking.com/api/v1/insurance/autoMobile/carInsurance/
+    url: http://open.zking.com/api/v1/insurance/autoMobile/carInsurance/
     # 支付
     # 支付
-    payUrl: http://test-open.zking.com/api/v1/public/payment/cashier/zbfAggregatePay
+    payUrl: http://open.zking.com/api/v1/public/payment/cashier/zbfAggregatePay
     # 新支付
     # 新支付
-    newPayUrl: http://test-open.zking.com/api/v1/open/open-aggregate/auth/newPay
+    newPayUrl: http://open.zking.com/api/v1/open/open-aggregate/auth/newPay
     # 订单详情查询服务
     # 订单详情查询服务
-    orderUrl: http://test-open.zking.com/api/v1/insurance/public/getOrderDetail
+    orderUrl: http://open.zking.com/api/v1/business-order/insurance-order/auth/order/queryOrderDetailById
     # 订单状态查询
     # 订单状态查询
-    orderDetailUrl: http://test-open.zking.com/api/v1/insurance/autoMobile/geelyCarInsurance/queryOrderDetail
+    orderDetailUrl: http://open.zking.com/api/v1/insurance/autoMobile/geelyCarInsurance/queryOrderDetail
     # 下载保单地址
     # 下载保单地址
-    downLoadDocument: http://test-open.zking.com/temp/api/v1/insurance/nonAutoMobile/queryPolicy/downLoadDocument
+    downLoadDocument: http://open.zking.com/temp/api/v1/insurance/nonAutoMobile/queryPolicy/downLoadDocument
     # 对接三方渠道验车链接接口
     # 对接三方渠道验车链接接口
     sendCheckCarLink: http://open.zking.com/api/v1/open/open-aggregate/auth/wanJiaYun/sendCheckCarLink
     sendCheckCarLink: http://open.zking.com/api/v1/open/open-aggregate/auth/wanJiaYun/sendCheckCarLink
 
 
 
 
-zhongAn:
-  id: "1402039"
-  productId: "10676"
-
+#    # 为接入方提供获取token服务
+#    accessTokenUrl: https://open.zking.com/api/v1/public/token/getAccessToken
+#    # 车险业务
+#    url: http://open.zking.com/api/v1/insurance/autoMobile/carInsurance/
+#    # 支付
+#    payUrl: http://open.zking.com/api/v1/public/payment/cashier/zbfAggregatePay
+#    # 新支付
+#    newPayUrl: http://open.zking.com/api/v1/open/open-aggregate/auth/newPay
+#    # 订单详情查询服务
+#    orderUrl: http://open.zking.com/api/v1/business-order/insurance-order/auth/order/queryOrderDetailById
+#    # 订单状态查询
+#    orderDetailUrl: http://open.zking.com/api/v1/insurance/autoMobile/geelyCarInsurance/queryOrderDetail
+#    # 下载保单地址
+#    downLoadDocument: http://open.zking.com/temp/api/v1/insurance/nonAutoMobile/queryPolicy/downLoadDocument
+#    # 对接三方渠道验车链接接口
+#    sendCheckCarLink: http://open.zking.com/api/v1/open/open-aggregate/auth/wanJiaYun/sendCheckCarLink
 
 
 
 
 feign:
 feign:
   client:
   client:
     jzg-insurance:
     jzg-insurance:
-      url: http://192.168.0.250:9898/
+      url: http://172.24.144.227:9898/
     jzg-org:
     jzg-org:
-      url: http://192.168.0.250:9084/
+      url: http://172.24.144.227:8084/
     jzg-costsorrule:
     jzg-costsorrule:
-      url: http://192.168.0.250:9085/
+      url: http://172.24.144.227:8085/
     jzg-platform:
     jzg-platform:
-      url: http://192.168.0.250:9083/
+      url: http://172.24.144.227:8083/
+    jzg-partner:
+      url: http://172.24.144.227:8087/
     jeecg-boot:
     jeecg-boot:
-      url: http://192.168.0.250:8080/
+      url: https://life.baoxianzhanggui.com/jeecg-pro-boot/
 # 和生活服务平台约定的appkey、appSeCret,用于获取token
 # 和生活服务平台约定的appkey、appSeCret,用于获取token
 live:
 live:
   service:
   service:
-    appKey: _N7dxVy3UJQUNwvacEHUFPzZ63kGwSx1OxXablRXJ9g
-    appSeCret: UByV_498NU1unnr3b0hvQtIKbRyIj0HGCkZXxxgzwAU
+    appKey: OSCB2iyvt4-CgMQjTtqUe6r7gyk6xAhlpx3z_6Q-u-Y
+    appSeCret: y4PJIzlijRo5eqt37IfgzqQTcMLQT4ytMDX27ncY_QA
+
+localLive:
+  base-url: https://life.baoxianzhanggui.com/jeecg-pro-boot/
+  app-key: OSCB2iyvt4-CgMQjTtqUe6r7gyk6xAhlpx3z_6Q-u-Y
+  app-secret: y4PJIzlijRo5eqt37IfgzqQTcMLQT4ytMDX27ncY_QA

+ 20 - 0
tenant/organization/src/main/resources/application-prod.yml

@@ -1,3 +1,5 @@
+server:
+  port: 8084
 spring:
 spring:
   cloud:
   cloud:
     nacos:
     nacos:
@@ -32,3 +34,21 @@ unionPay:
     bankCardVerifyUrl: https://test-api-open.chinaums.com/v1/datacenter/smartverification/encrypted/bankcard/verify
     bankCardVerifyUrl: https://test-api-open.chinaums.com/v1/datacenter/smartverification/encrypted/bankcard/verify
     publicKey: 0414bb7e9c3914bb65b85079b1dc6e1ca2a0ee04dd9bb55b2f8d31704a6dec0cca695739e128f9c931330e1c0f493be4d56244236434c9d344c4716ba64a4470ba
     publicKey: 0414bb7e9c3914bb65b85079b1dc6e1ca2a0ee04dd9bb55b2f8d31704a6dec0cca695739e128f9c931330e1c0f493be4d56244236434c9d344c4716ba64a4470ba
     privateKey: 24ebfde60aecb81214605050763926ec342c487859a8da57d5badcd3c1559336
     privateKey: 24ebfde60aecb81214605050763926ec342c487859a8da57d5badcd3c1559336
+
+
+feign:
+  client:
+    quotation-summary:
+      url: http://localhost:9898/
+    jzg-org:
+      url: http://localhost:8084/
+    jzg-costsorrule:
+      url: http://localhost:8085/
+    jzg-platform:
+      url: http://localhost:8083/
+    jzg-partner:
+      url: http://localhost:8087/
+    locallive:
+      url: https://life.baoxianzhanggui.com/locallive-pro-java/
+    user-center:
+      url: https://test.baoxianzhanggui.com/user-api/usercenter

+ 31 - 22
tenant/organization/src/main/resources/application-test.yml

@@ -1,45 +1,54 @@
+server:
+  port: 18084
 spring:
 spring:
   cloud:
   cloud:
     nacos:
     nacos:
-      server-addr: 192.168.5.250:8848
+      server-addr: 172.24.144.227:8848
       username: nacos
       username: nacos
-      password: nacos
+      password: AnrNjNn6zCS3QdIy
       config:
       config:
         file-extension: yaml
         file-extension: yaml
-        namespace: bb8f915c-82b0-4f0d-9e9e-03aa629f2d45
+        namespace: 7268dffe-b5ab-4537-a2b5-2178b0693ce4
         group: DEFAULT_GROUP
         group: DEFAULT_GROUP
       discovery:
       discovery:
-        namespace: bb8f915c-82b0-4f0d-9e9e-03aa629f2d45
+        namespace: 7268dffe-b5ab-4537-a2b5-2178b0693ce4
   config:
   config:
     import:
     import:
       - nacos:mysql
       - nacos:mysql
       - nacos:redisson
       - nacos:redisson
       - nacos:minio
       - nacos:minio
       - nacos:rocketmq
       - nacos:rocketmq
-
-feign:
-  client:
-    jzg-insurance:
-      url: http://192.168.5.250:9898/
-    jzg-org:
-      url: http://192.168.5.250:9084/
-    jzg-costsorrule:
-      url: http://192.168.5.250:9085/
-    jzg-platform:
-      url: http://192.168.5.250:9083/
+      - nacos:seata-server
 
 
 config:
 config:
   sso: 1
   sso: 1
 
 
-
 #银联API参数配置
 #银联API参数配置
 unionPay:
 unionPay:
   api:
   api:
-    appId: 8a81c1be8fc4b72501912b65f4bf093a
-    appKey: 43c2fc71b43740539c6c32370e12c7fd
-    accessTokenUrl: https://api-mop.chinaums.com/v2/token/access
-    twoFactorVerifyUrl: https://api-mop.chinaums.com/v1/datacenter/smartverification/encrypted/mobile/2factor/verify
-    threeFactorVerifyUrl: https://api-mop.chinaums.com/v1/datacenter/smartverification/encrypted/mobile/3factor/verify
-    bankCardVerifyUrl: https://api-mop.chinaums.com/v1/datacenter/smartverification/encrypted/bankcard/verify
+    appId: 10037e6f8e41423b01912b657e5c116c
+    appKey: 1110043747cb40f4911096480ea93f3e
+    accessTokenUrl: https://test-api-open.chinaums.com/v2/token/access
+    twoFactorVerifyUrl: https://test-api-open.chinaums.com/v1/datacenter/smartverification/encrypted/mobile/2factor/verify
+    threeFactorVerifyUrl: https://test-api-open.chinaums.com/v1/datacenter/smartverification/encrypted/mobile/3factor/verify
+    bankCardVerifyUrl: https://test-api-open.chinaums.com/v1/datacenter/smartverification/encrypted/bankcard/verify
     publicKey: 0414bb7e9c3914bb65b85079b1dc6e1ca2a0ee04dd9bb55b2f8d31704a6dec0cca695739e128f9c931330e1c0f493be4d56244236434c9d344c4716ba64a4470ba
     publicKey: 0414bb7e9c3914bb65b85079b1dc6e1ca2a0ee04dd9bb55b2f8d31704a6dec0cca695739e128f9c931330e1c0f493be4d56244236434c9d344c4716ba64a4470ba
     privateKey: 24ebfde60aecb81214605050763926ec342c487859a8da57d5badcd3c1559336
     privateKey: 24ebfde60aecb81214605050763926ec342c487859a8da57d5badcd3c1559336
+
+
+feign:
+  client:
+    quotation-summary:
+      url: http://localhost:9898/
+    jzg-org:
+      url: http://localhost:8084/
+    jzg-costsorrule:
+      url: http://localhost:8085/
+    jzg-platform:
+      url: http://localhost:8083/
+    jzg-partner:
+      url: http://localhost:8087/
+    locallive:
+      url: https://life.baoxianzhanggui.com/locallive-pro-java/
+    user-center:
+      url: https://test.baoxianzhanggui.com/user-api/usercenter