|
@@ -0,0 +1,533 @@
|
|
|
|
|
+package com.jzg.quotation.ansheng.crawler.entity.request;
|
|
|
|
|
+
|
|
|
|
|
+import com.alibaba.fastjson2.JSON;
|
|
|
|
|
+import lombok.Data;
|
|
|
|
|
+
|
|
|
|
|
+import java.math.BigDecimal;
|
|
|
|
|
+import java.util.ArrayList;
|
|
|
|
|
+import java.util.Collections;
|
|
|
|
|
+import java.util.List;
|
|
|
|
|
+import java.util.Objects;
|
|
|
|
|
+
|
|
|
|
|
+/**
|
|
|
|
|
+ * 安盛保险合同请求实体
|
|
|
|
|
+ *
|
|
|
|
|
+ * @author xxxx
|
|
|
|
|
+ * @date 2025-xx-xx
|
|
|
|
|
+ */
|
|
|
|
|
+@Data
|
|
|
|
|
+public class InsuranceContractRequest {
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 合同列表
|
|
|
|
|
+ */
|
|
|
|
|
+ private List<Contract> contracts;
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 自动获取时间标识-是
|
|
|
|
|
+ */
|
|
|
|
|
+ private static final String AUTO_GET_TIME_FLAG_YES = "1";
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 固定计划编码
|
|
|
|
|
+ */
|
|
|
|
|
+ private static final String FIXED_PLAN_CODE = "109";
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 固定产品编码
|
|
|
|
|
+ */
|
|
|
|
|
+ private static final String FIXED_PRODUCT_CODE = "109002";
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 构造函数:通过保费计算消息构建保险合同请求
|
|
|
|
|
+ *
|
|
|
|
|
+ * @param crawlerCalculatePremiumApply 保费计算申请消息
|
|
|
|
|
+ */
|
|
|
|
|
+ public InsuranceContractRequest(AnShengCrawlerCalculatePremiumApplyMessage crawlerCalculatePremiumApply) {
|
|
|
|
|
+ // 空值校验
|
|
|
|
|
+ Objects.requireNonNull(crawlerCalculatePremiumApply, "保费计算申请消息不能为空");
|
|
|
|
|
+ List<AnShengCrawlerCalculatePremiumApplyMessage.ContractsDTO> sourceContracts = crawlerCalculatePremiumApply.getContracts();
|
|
|
|
|
+ if (sourceContracts == null || sourceContracts.isEmpty()) {
|
|
|
|
|
+ this.contracts = Collections.emptyList();
|
|
|
|
|
+ return;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ // 初始化集合
|
|
|
|
|
+ this.contracts = new ArrayList<>();
|
|
|
|
|
+ List<PolicyCoverage> policyCoverageList = new ArrayList<>();
|
|
|
|
|
+ List<PolicyRatio> policyRatioList = new ArrayList<>();
|
|
|
|
|
+
|
|
|
|
|
+ // 遍历源数据,收集保障和费率信息
|
|
|
|
|
+ for (AnShengCrawlerCalculatePremiumApplyMessage.ContractsDTO contractDTO : sourceContracts) {
|
|
|
|
|
+ if (contractDTO == null) {
|
|
|
|
|
+ continue;
|
|
|
|
|
+ }
|
|
|
|
|
+ // 安全转换集合
|
|
|
|
|
+ List<PolicyCoverage> coverages = convertList(contractDTO.getPolicyCoverages(), PolicyCoverage.class);
|
|
|
|
|
+ List<PolicyRatio> ratios = convertList(contractDTO.getPolicyRatios(), PolicyRatio.class);
|
|
|
|
|
+
|
|
|
|
|
+ policyCoverageList.addAll(coverages);
|
|
|
|
|
+ policyRatioList.addAll(ratios);
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ // 构建单个合同(取第一个源合同作为基础)
|
|
|
|
|
+ AnShengCrawlerCalculatePremiumApplyMessage.ContractsDTO firstContract = sourceContracts.get(0);
|
|
|
|
|
+ Contract targetContract = buildContract(firstContract, policyCoverageList, policyRatioList);
|
|
|
|
|
+ this.contracts.add(targetContract);
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 构建合同对象
|
|
|
|
|
+ */
|
|
|
|
|
+ private Contract buildContract(AnShengCrawlerCalculatePremiumApplyMessage.ContractsDTO source,
|
|
|
|
|
+ List<PolicyCoverage> coverages,
|
|
|
|
|
+ List<PolicyRatio> ratios) {
|
|
|
|
|
+ Contract contract = new Contract();
|
|
|
|
|
+ // 基础属性赋值
|
|
|
|
|
+ contract.setAutoGetTimeFlag(AUTO_GET_TIME_FLAG_YES);
|
|
|
|
|
+ // 对象深度拷贝
|
|
|
|
|
+ contract.setPolicyExtend(convertObject(source.getPolicyExtend(), PolicyExtend.class));
|
|
|
|
|
+ contract.setAgentDefine(convertObject(source.getAgentDefine(), AgentDefine.class));
|
|
|
|
|
+ contract.setDepartmentDefine(convertObject(source.getDepartmentDefine(), DepartmentDefine.class));
|
|
|
|
|
+ contract.setSaleBusinessSource(convertObject(source.getSaleBusinessSource(), SaleBusinessSource.class));
|
|
|
|
|
+ // 集合拷贝
|
|
|
|
|
+ contract.setTargetList(convertList(source.getTargetList(), Target.class));
|
|
|
|
|
+ contract.setPolicyPersons(convertList(source.getPolicyPersons(), PolicyPerson.class));
|
|
|
|
|
+ // 赋值收集的保障和费率
|
|
|
|
|
+ contract.setPolicyCoverages(coverages);
|
|
|
|
|
+ contract.setPolicyRatios(ratios);
|
|
|
|
|
+
|
|
|
|
|
+ // 构建并设置保单基础信息
|
|
|
|
|
+ PolicyBase policyBase = convertObject(source.getPolicyBase(), PolicyBase.class);
|
|
|
|
|
+ if (policyBase != null) {
|
|
|
|
|
+ policyBase.setPlanCode(FIXED_PLAN_CODE);
|
|
|
|
|
+ policyBase.setProductCode(FIXED_PRODUCT_CODE);
|
|
|
|
|
+ }
|
|
|
|
|
+ contract.setPolicyBase(policyBase);
|
|
|
|
|
+
|
|
|
|
|
+ return contract;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 安全转换对象(避免空指针和类型转换异常)
|
|
|
|
|
+ */
|
|
|
|
|
+ private <T> T convertObject(Object source, Class<T> clazz) {
|
|
|
|
|
+ if (source == null) {
|
|
|
|
|
+ return null;
|
|
|
|
|
+ }
|
|
|
|
|
+ return JSON.toJavaObject(JSON.parseObject(JSON.toJSONString(source)), clazz);
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 安全转换集合(解决原始代码泛型擦除问题)
|
|
|
|
|
+ */
|
|
|
|
|
+ private <T> List<T> convertList(List<?> sourceList, Class<T> clazz) {
|
|
|
|
|
+ if (sourceList == null || sourceList.isEmpty()) {
|
|
|
|
|
+ return new ArrayList<>();
|
|
|
|
|
+ }
|
|
|
|
|
+ return JSON.parseArray(JSON.toJSONString(sourceList), clazz);
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ // ==================== 内部静态类 ====================
|
|
|
|
|
+ @Data
|
|
|
|
|
+ public static class Contract {
|
|
|
|
|
+ private PolicyExtend policyExtend;
|
|
|
|
|
+ private AgentDefine agentDefine;
|
|
|
|
|
+ private String autoGetTimeFlag;
|
|
|
|
|
+ private PolicyBase policyBase;
|
|
|
|
|
+ private DepartmentDefine departmentDefine;
|
|
|
|
|
+ private SaleBusinessSource saleBusinessSource;
|
|
|
|
|
+ private List<Target> targetList;
|
|
|
|
|
+ private List<PolicyCoverage> policyCoverages;
|
|
|
|
|
+ private List<PolicyRatio> policyRatios;
|
|
|
|
|
+ private List<PolicyPerson> policyPersons;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ @Data
|
|
|
|
|
+ public static class PolicyExtend {
|
|
|
|
|
+ private String eicRiskScore;
|
|
|
|
|
+ private String vehicleRiskType;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ @Data
|
|
|
|
|
+ public static class AgentDefine {
|
|
|
|
|
+ private String agentCode;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ @Data
|
|
|
|
|
+ public static class PolicyBase {
|
|
|
|
|
+ private String rescueCountRemark;
|
|
|
|
|
+ private String agentCode;
|
|
|
|
|
+ private String businessType;
|
|
|
|
|
+ private String businessTypeDetail;
|
|
|
|
|
+ private String insuranceBeginTime;
|
|
|
|
|
+ private String insuranceEndTime;
|
|
|
|
|
+ private String planCode;
|
|
|
|
|
+ private String productCode;
|
|
|
|
|
+ private String departmentCode;
|
|
|
|
|
+ private String targetType;
|
|
|
|
|
+ private BigDecimal shortTimeCoefficient;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ @Data
|
|
|
|
|
+ public static class DepartmentDefine {
|
|
|
|
|
+ private String departmentCode;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ @Data
|
|
|
|
|
+ public static class SaleBusinessSource {
|
|
|
|
|
+ private String saleAgentCode;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ @Data
|
|
|
|
|
+ public static class Target {
|
|
|
|
|
+ private String linkId;
|
|
|
|
|
+ private String targetId;
|
|
|
|
|
+ private String ymIsbuyOrnot;
|
|
|
|
|
+ private String ymBirthDate;
|
|
|
|
|
+ private String ymElecBatteryType;
|
|
|
|
|
+ private String marketDate;
|
|
|
|
|
+ private String vehicleStyleUniqueId;
|
|
|
|
|
+ private String vehicleCertificateNo;
|
|
|
|
|
+ private String vehicleCertificateType;
|
|
|
|
|
+ private String vehiclePurchasePrice;
|
|
|
|
|
+ private String modelsListedYear;
|
|
|
|
|
+ private String platformId;
|
|
|
|
|
+ private String vehicleColor;
|
|
|
|
|
+ private String theftproofEquipmentCode;
|
|
|
|
|
+ private String isMortgage;
|
|
|
|
|
+ private String isSpecialInsuranceVehicle;
|
|
|
|
|
+ private String vehicleVer;
|
|
|
|
|
+ private String groupCode;
|
|
|
|
|
+ private String standardName;
|
|
|
|
|
+ private String tradeName;
|
|
|
|
|
+ private String tradeCode;
|
|
|
|
|
+ private String totalVehicleWeight;
|
|
|
|
|
+ private String seriesCode;
|
|
|
|
|
+ private String modelIdCode;
|
|
|
|
|
+ private String seats;
|
|
|
|
|
+ private String rbCode;
|
|
|
|
|
+ private String otherEnergyTypeDesc;
|
|
|
|
|
+ private String madeDate;
|
|
|
|
|
+ private String exhaustCapability;
|
|
|
|
|
+ private String noDamageYears;
|
|
|
|
|
+ private String specialVehicleFlag;
|
|
|
|
|
+ private String overseasVehicleFlag;
|
|
|
|
|
+ private String brand;
|
|
|
|
|
+ private String modelCodeAlien;
|
|
|
|
|
+ private String carNameAlien;
|
|
|
|
|
+ private String tradeNameAlien;
|
|
|
|
|
+ private String brandAlien;
|
|
|
|
|
+ private String deptNameAlien;
|
|
|
|
|
+ private CheckVehicleInfo checkVehicleInfo;
|
|
|
|
|
+ private String departmentCode;
|
|
|
|
|
+ private String dbVehicleType;
|
|
|
|
|
+ private String vehicleLicenceCode;
|
|
|
|
|
+ private String vehicleFrameNo;
|
|
|
|
|
+ private String engineNo;
|
|
|
|
|
+ private String firstRegisterDate;
|
|
|
|
|
+ private String firstRegisterDateStr;
|
|
|
|
|
+ private String vehicleCertificateDate;
|
|
|
|
|
+ private BigDecimal weigth;
|
|
|
|
|
+ private String totalMass;
|
|
|
|
|
+ private String priceType;
|
|
|
|
|
+ private BigDecimal purchasePrice;
|
|
|
|
|
+ private BigDecimal vehicleLossInsuredValue;
|
|
|
|
|
+ private String importFlag;
|
|
|
|
|
+ private String modelCode;
|
|
|
|
|
+ private String carName;
|
|
|
|
|
+ private String theftProof;
|
|
|
|
|
+ private String vehicleType;
|
|
|
|
|
+ private String pureRange;
|
|
|
|
|
+ private String vehicleClass;
|
|
|
|
|
+ private String vehicleStyle;
|
|
|
|
|
+ private String autoModelCode;
|
|
|
|
|
+ private String vehicleBrand;
|
|
|
|
|
+ private String brandChnName;
|
|
|
|
|
+ private String averageMile;
|
|
|
|
|
+ private String csTradeName;
|
|
|
|
|
+ private String csTradeCode;
|
|
|
|
|
+ private String brandCode;
|
|
|
|
|
+ private String series;
|
|
|
|
|
+ private String noticeType;
|
|
|
|
|
+ private String categoryName;
|
|
|
|
|
+ private String categoryCode;
|
|
|
|
|
+ private String configType;
|
|
|
|
|
+ private String partInfo;
|
|
|
|
|
+ private String powerType;
|
|
|
|
|
+ private String vehicleFgwCode;
|
|
|
|
|
+ private String vehicleFgwName;
|
|
|
|
|
+ private String vehicleModelType;
|
|
|
|
|
+ private String vehicleStyleDesc;
|
|
|
|
|
+ private String vehicleTypeName;
|
|
|
|
|
+ private String makeDate;
|
|
|
|
|
+ private String detailDesc;
|
|
|
|
|
+ private String vehicleCategory;
|
|
|
|
|
+ private String personnelName;
|
|
|
|
|
+ private String refitDesc;
|
|
|
|
|
+ private String basicRateCode;
|
|
|
|
|
+ private String deptName;
|
|
|
|
|
+ private String deptCode;
|
|
|
|
|
+ private String vehicleSeats;
|
|
|
|
|
+ private String fuelType;
|
|
|
|
|
+ private String autoModelChnName;
|
|
|
|
|
+ private String licenceTypeCode;
|
|
|
|
|
+ private String ecdemicVehicleFlag;
|
|
|
|
|
+ private String vehicleTonnages;
|
|
|
|
|
+ private String power;
|
|
|
|
|
+ private String maxDesignSpeed;
|
|
|
|
|
+ private String runCardCertificateDate;
|
|
|
|
|
+ private BigDecimal customerNegotiatePrice;
|
|
|
|
|
+ private BigDecimal originalCustomerNegotiatePrice;
|
|
|
|
|
+ private String fleetNo;
|
|
|
|
|
+ private String maker;
|
|
|
|
|
+ private String approvedCapacity;
|
|
|
|
|
+ private String ineffectualDate;
|
|
|
|
|
+ private String lastCheckDate;
|
|
|
|
|
+ private String rejectDate;
|
|
|
|
|
+ private String riskFlag;
|
|
|
|
|
+ private String targetType;
|
|
|
|
|
+ private String fleetRate;
|
|
|
|
|
+ private String usageAttributeCode;
|
|
|
|
|
+ private String usageAttributeCodePM;
|
|
|
|
|
+ private String ownershipAttributeCode;
|
|
|
|
|
+ private List<Object> beneficiaryList;
|
|
|
|
|
+ private String checkVehicleCodeSecret;
|
|
|
|
|
+ private PolicyPricing policyPricing;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ @Data
|
|
|
|
|
+ public static class CheckVehicleInfo {
|
|
|
|
|
+ private String usageAttributeCode;
|
|
|
|
|
+ private String usageAttributeCodePM;
|
|
|
|
|
+ private String runRegionCode;
|
|
|
|
|
+ private String checkVehicleFlag;
|
|
|
|
|
+ private String uploadCheckVehicleInfo;
|
|
|
|
|
+ private String checkVehicleSituation;
|
|
|
|
|
+ private String vehicleChecker;
|
|
|
|
|
+ private String checkRecord;
|
|
|
|
|
+ private String checkTime;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ @Data
|
|
|
|
|
+ public static class PolicyPricing {
|
|
|
|
|
+ private String useBasicDataCoverFlag;
|
|
|
|
|
+ private String usageAttributeCode;
|
|
|
|
|
+ private String usageAttributeCodePM;
|
|
|
|
|
+ private String ownershipAttributeCode;
|
|
|
|
|
+ private String nonclaimAdjust;
|
|
|
|
|
+ private String claimAdjustLevel;
|
|
|
|
|
+ private String lastyearStartDate;
|
|
|
|
|
+ private String lastyearEndDate;
|
|
|
|
|
+ private String partInfo;
|
|
|
|
|
+ private String isMortgage;
|
|
|
|
|
+ private String isSpecialInsuranceVehicle;
|
|
|
|
|
+ private String claimRecordBizScoreSize;
|
|
|
|
|
+ private String loanVehicleFlag;
|
|
|
|
|
+ private String injurySite;
|
|
|
|
|
+ private String transferFlag;
|
|
|
|
|
+ private String searchSequenceNo;
|
|
|
|
|
+ private String dbVehicleAutoModelChnName;
|
|
|
|
|
+ private String refitDesc;
|
|
|
|
|
+ private String lastYearIsTel;
|
|
|
|
|
+ private String reinsureFlag;
|
|
|
|
|
+ private String rateFloatFlag;
|
|
|
|
|
+ private String ratioFluctuateType;
|
|
|
|
|
+ private String repairFactory;
|
|
|
|
|
+ private BigDecimal dbVehicleWeigth;
|
|
|
|
|
+ private String riskScore;
|
|
|
|
|
+ private String riskScoreTwenty;
|
|
|
|
|
+ private String algrId;
|
|
|
|
|
+ private String riskScoreColor;
|
|
|
|
|
+ private String scoreReason;
|
|
|
|
|
+ private String scoreReasonLevel;
|
|
|
|
|
+ private String scoreReasonLevel2;
|
|
|
|
|
+ private String scoreReasonLevel3;
|
|
|
|
|
+ private String highRiskFlag;
|
|
|
|
|
+ private String effectReason;
|
|
|
|
|
+ private String dbVehicleVeiw;
|
|
|
|
|
+ private String lastYearCompanyId;
|
|
|
|
|
+ private String chargeRateFinal;
|
|
|
|
|
+ private String rateType;
|
|
|
|
|
+ private String priceRises;
|
|
|
|
|
+ private String underWriteRate;
|
|
|
|
|
+ private String autoRuleRatioOD;
|
|
|
|
|
+ private String autoRuleRatioTP;
|
|
|
|
|
+ private String autoRuleRatioTHEFT;
|
|
|
|
|
+ private String autoRuleRatioOTHER;
|
|
|
|
|
+ private String underwriteRuleRatioOD;
|
|
|
|
|
+ private String underwriteRuleRatioTP;
|
|
|
|
|
+ private String underwriteRuleRatioTHEFT;
|
|
|
|
|
+ private String underwriteRuleRatioOTHER;
|
|
|
|
|
+ private String tlType;
|
|
|
|
|
+ private Integer autoFloatRatioOD;
|
|
|
|
|
+ private String autoFloatRatioTp;
|
|
|
|
|
+ private String autoFloatRatioTheft;
|
|
|
|
|
+ private String autoFloatRatioOther;
|
|
|
|
|
+ private String appointAreaCode;
|
|
|
|
|
+ private String fdConfigId;
|
|
|
|
|
+ private String modelDiscount;
|
|
|
|
|
+ private Integer autoFloatHandingCost;
|
|
|
|
|
+ private String modelrate;
|
|
|
|
|
+ private String advicediscount;
|
|
|
|
|
+ private String dbVehicleBrand;
|
|
|
|
|
+ private String dbVehicleTypeName;
|
|
|
|
|
+ private String usageLicenceName;
|
|
|
|
|
+ private String vehicleTypeChiName;
|
|
|
|
|
+ private String autoFloatTargetRebate;
|
|
|
|
|
+ private String riskFlag;
|
|
|
|
|
+ private String dbExhaustCapability;
|
|
|
|
|
+ private String dbVehicleSeats;
|
|
|
|
|
+ private String dbVehicleTonnages;
|
|
|
|
|
+ private BigDecimal dbVehicleValue;
|
|
|
|
|
+ private String ifModelRate;
|
|
|
|
|
+ private String isMotorcade;
|
|
|
|
|
+ private String scoreRunId;
|
|
|
|
|
+ private String specialCarFlag;
|
|
|
|
|
+ private String transferDate;
|
|
|
|
|
+ private String vehicleAlias;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ @Data
|
|
|
|
|
+ public static class PolicyCoverage {
|
|
|
|
|
+ private String dutyCode;
|
|
|
|
|
+ private String dutyChineseName;
|
|
|
|
|
+ private BigDecimal insuredAmount;
|
|
|
|
|
+ private String equipmentInsureAmount;
|
|
|
|
|
+ private String premiumRate;
|
|
|
|
|
+ private String deductibleDiscount;
|
|
|
|
|
+ private String totalActualPremium;
|
|
|
|
|
+ private Integer deductionRate;
|
|
|
|
|
+ private String serviceNum;
|
|
|
|
|
+ private String isTelpeson;
|
|
|
|
|
+ private String telPhone;
|
|
|
|
|
+ private String mileage;
|
|
|
|
|
+ private String setMeal;
|
|
|
|
|
+ private String fireMultiple;
|
|
|
|
|
+ private String allAmount;
|
|
|
|
|
+ private String riskPremum;
|
|
|
|
|
+ private String seats;
|
|
|
|
|
+ private String isShareSumDutyFlag;
|
|
|
|
|
+ private String deductible;
|
|
|
|
|
+ private BigDecimal totalStandardPremium;
|
|
|
|
|
+ private BigDecimal addedValueTax;
|
|
|
|
|
+ private BigDecimal totalAgreePremium;
|
|
|
|
|
+ private BigDecimal totalNetPremium;
|
|
|
|
|
+ private List<Object> newEquipmentList;
|
|
|
|
|
+ private List<Object> chargingPostDataList;
|
|
|
|
|
+ private String fullYearPremium;
|
|
|
|
|
+ private String dieAmount;
|
|
|
|
|
+ private String medicalAmount;
|
|
|
|
|
+ private String propertyAmount;
|
|
|
|
|
+ private String noFaultDieAmount;
|
|
|
|
|
+ private String noFaultMedicalAmount;
|
|
|
|
|
+ private String noFaultPropertyAmount;
|
|
|
|
|
+ private String basePremium;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ @Data
|
|
|
|
|
+ public static class PolicyRatio {
|
|
|
|
|
+ private String linkId;
|
|
|
|
|
+ private String ratio;
|
|
|
|
|
+ private String discountValue;
|
|
|
|
|
+ private String dutyCode;
|
|
|
|
|
+ private String factorCode;
|
|
|
|
|
+ private String factorValue;
|
|
|
|
|
+ private BigDecimal ratioOd;
|
|
|
|
|
+ private BigDecimal ratioTp;
|
|
|
|
|
+ private BigDecimal ratioTheft;
|
|
|
|
|
+ private BigDecimal ratioOther;
|
|
|
|
|
+ private BigDecimal ratiototal;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ @Data
|
|
|
|
|
+ public static class PolicyPerson {
|
|
|
|
|
+ private String personnelAttribute;
|
|
|
|
|
+ private String appliWithInsRelaship;
|
|
|
|
|
+ private String relationshipWithInsured;
|
|
|
|
|
+ private PersonnelInfoBase personnelInfoBase;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ @Data
|
|
|
|
|
+ public static class PersonnelInfoBase {
|
|
|
|
|
+ private String personTypeDetailCode;
|
|
|
|
|
+ private String personTypeOverseas;
|
|
|
|
|
+ private String vipMark;
|
|
|
|
|
+ private Person person;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ @Data
|
|
|
|
|
+ public static class Person {
|
|
|
|
|
+ private String issuedAt;
|
|
|
|
|
+ private String nation;
|
|
|
|
|
+ private String personnelName;
|
|
|
|
|
+ private Object personnelCode;
|
|
|
|
|
+ private String baseId;
|
|
|
|
|
+ private String certificateType;
|
|
|
|
|
+ private String certificateNo;
|
|
|
|
|
+ private String sexCode;
|
|
|
|
|
+ private String birthday;
|
|
|
|
|
+ private String personnelAge;
|
|
|
|
|
+ private String address;
|
|
|
|
|
+ private String positionn;
|
|
|
|
|
+ private String mobileTelephone;
|
|
|
|
|
+ private String email;
|
|
|
|
|
+ private String postcode;
|
|
|
|
|
+ private String effectedDate;
|
|
|
|
|
+ private String certType;
|
|
|
|
|
+ private String expiredDate;
|
|
|
|
|
+ private String isRuralOrUrban;
|
|
|
|
|
+ private String idCardAddress;
|
|
|
|
|
+ private String nationalityType;
|
|
|
|
|
+ private String workUnit;
|
|
|
|
|
+ private String homeAddressAfter;
|
|
|
|
|
+ private String certificateAddressAfter;
|
|
|
|
|
+ private String annualIncome;
|
|
|
|
|
+ private String other1Address;
|
|
|
|
|
+ private String other1ProvinceCode;
|
|
|
|
|
+ private String other1CityCode;
|
|
|
|
|
+ private String other1AreaCountyCode;
|
|
|
|
|
+ private String other2Address;
|
|
|
|
|
+ private String other2ProvinceCode;
|
|
|
|
|
+ private String other2CityCode;
|
|
|
|
|
+ private String other2AreaCountyCode;
|
|
|
|
|
+ private String certificateaddress;
|
|
|
|
|
+ private String certiProvinceCode;
|
|
|
|
|
+ private String certiCityCode;
|
|
|
|
|
+ private String certiAreaCode;
|
|
|
|
|
+ private String homeAddress;
|
|
|
|
|
+ private String homeProvinceCode;
|
|
|
|
|
+ private String homeCityCode;
|
|
|
|
|
+ private String homeAreaCountyCode;
|
|
|
|
|
+ private String homeAreaCode;
|
|
|
|
|
+ private String homeTelephone;
|
|
|
|
|
+ private String driverLicenseExpirationDate;
|
|
|
|
|
+ private String drivingExpirationDate;
|
|
|
|
|
+ private String certificateAddressId;
|
|
|
|
|
+ private String homeAddressId;
|
|
|
|
|
+ private String idCardAddressId;
|
|
|
|
|
+ private String other1AddressId;
|
|
|
|
|
+ private String other2AddressId;
|
|
|
|
|
+ private String emailId;
|
|
|
|
|
+ private String mobileTelephoneId;
|
|
|
|
|
+ private String homeTelephoneId;
|
|
|
|
|
+ private String officeTelephoneId;
|
|
|
|
|
+ private String amlId;
|
|
|
|
|
+ private String teleNoOwnerIsSelfFlag;
|
|
|
|
|
+ private String phoneOwnerCertiType;
|
|
|
|
|
+ private String phoneOwnerCertiNo;
|
|
|
|
|
+ private String phoneOwnerName;
|
|
|
|
|
+ private String idCardAccess;
|
|
|
|
|
+ private String longExpiredDate;
|
|
|
|
|
+ private String bankCode;
|
|
|
|
|
+ private String bankAccount;
|
|
|
|
|
+ private String department;
|
|
|
|
|
+ private String marriedStatu;
|
|
|
|
|
+ private String applyYears;
|
|
|
|
|
+ private String mobileTelephoneMarkBecause;
|
|
|
|
|
+ private String invalidateFlag;
|
|
|
|
|
+ private String fixedTelephoneMarkBecause;
|
|
|
|
|
+ private String driveLicenseType1;
|
|
|
|
|
+ private String bankAccountId;
|
|
|
|
|
+ }
|
|
|
|
|
+}
|