xuqiang 2 месяцев назад
Родитель
Сommit
64168499ed

+ 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 请求头
      * @return 支付链接
      */
-    public String payment(AnShengCrawlerPaymentRequest request, HttpHeaders headers) {
+    public AnShengCrawlerPaymentResponse payment(AnShengCrawlerPaymentRequest request, HttpHeaders headers) {
         try {
             return Optional.ofNullable(requestComponent.formData(
                             RequestUrl.PAYMENT.getRequestUrl(anShengCrawlerProperties.getUrl()),
                             request, AnShengCrawlerPaymentResponse.class, headers))
                     .map(ResponseEntity::getBody)
-                    .map(AnShengCrawlerPaymentResponse::getData)
-                    .map(AnShengCrawlerPaymentResponse.DataDTO::getFxQRCode)
                     .orElse(null);
         } catch (Exception e) {
             e.printStackTrace();
@@ -382,4 +380,21 @@ public class AnShengCrawlerRequestComponent {
         log.info("滑块码:{}",JSONObject.toJSONString(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("程序异常请联系管理员"));
+    }
 }

+ 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")
     private Integer pageSize;
 
+    @JsonProperty("vehicleLicenceCode")
+    private String vehicleLicenceCode;
+
     @JsonProperty("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.updateType = 2;
         this.page = 1;
@@ -73,5 +76,6 @@ public class AnShengCrawlerComprehensiveQueryInsurenetRequest {
         // 订单号
         this.documentNo = documentNo;
         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 lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.collections.CollectionUtils;
 import org.springframework.http.HttpHeaders;
 import org.springframework.util.LinkedMultiValueMap;
 import org.springframework.util.MultiValueMap;
@@ -237,8 +238,7 @@ public class AnShengCrawlerRequestImpl implements AnShengCrawlerRequest {
         UnderwritingResultsVo underwritingResultsVo = new UnderwritingResultsVo();
         AnShengCrawlerOrder anShengCrawlerOrder = anShengCrawlerOrderService.getById(ordersNo);
         PaymentLinkResultsVo paymentLinkResultsVo;
-        Integer code = applyApplicationResponse.getCode();
-        if (!code.equals(200)) {
+        if (!applyApplicationResponse.getCode().equals(200)) {
             underwritingResultsVo.setUnderwritingResult(applyApplicationResponse.getMessage());
             underwritingResultsVo.setUnderwritingStatus(InsOrderStatusEnum.AUDIT_FAIL);
             return underwritingResultsVo;
@@ -353,8 +353,8 @@ public class AnShengCrawlerRequestImpl implements AnShengCrawlerRequest {
         AnShengCrawlerOrder anShengCrawlerOrder = anShengCrawlerOrderService.getById(paymentLinkVo.getOrder().getOrdersNo());
         // 获取支付链接
         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
@@ -475,15 +475,13 @@ public class AnShengCrawlerRequestImpl implements AnShengCrawlerRequest {
             HttpHeaders httpHeaders = anShengCrawlerQuoteProcessService.getHttpHeaders(orderStatusVo.getOrder().getAttributionInformationVo());
             AnShengCrawlerGetUserDetailResponse.DataDTO.AgentDefineDTO userDetail = anShengCrawlerQuoteProcessService.getUserDetailResponse(orderStatusVo.getOrder().getAgreementId(), httpHeaders);
             // 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);
 
             if (response == null || response.getData() == null || response.getData().getList() == null) {
                 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 =
                     response.getData().getList().stream()
                             .map(AnShengCrawlerComprehensiveQueryInsurenetResponse.DataDTO.ListDTO::getPolicyConciseDetails)
@@ -504,33 +502,42 @@ public class AnShengCrawlerRequestImpl implements AnShengCrawlerRequest {
             boolean allMarksSame = underwriteMarks.stream().allMatch(mark -> Objects.equals(baseMark, mark));
             if (!allMarksSame) {
                 if (underwriteMarks.contains("0")){
-                    resultVo.setErrorMsg("核保失败");
+                    String reason = queryFailure(targetPolicyNos, httpHeaders);
+                    resultVo.setErrorMsg(reason);
                     resultVo.setOrderStatus(InsOrderStatusEnum.AUDIT_FAIL);
+                } else if (underwriteMarks.contains("1")) {
+                    log.info("核保中请稍等...");
                 }
                 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) {
@@ -539,4 +546,38 @@ public class AnShengCrawlerRequestImpl implements AnShengCrawlerRequest {
         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();
+    }
+
 }