Procházet zdrojové kódy

华泰对接新建实体

cuixinpeng před 2 roky
rodič
revize
fe38980f18

+ 5 - 0
src/main/java/com/ydtech/modules/order/constants/InsuranceTypeCorrespondence.java

@@ -20,6 +20,8 @@ public class InsuranceTypeCorrespondence {
 
     // 中煤财险
     protected static final String[] ZM_CONNECT_INSURANCE_TYPE = {"01", "02", "041", "044", "501", "502", "5041", "5044", "49", "21", "5302", "5344", "5341"};
+    //华泰财险
+    protected static final String[] HuaTai_CONNECT_INSURANCE_TYPE = {"A", "B", "D11", "D12", "MMA", "MMB", "MMD11", "MMD12", "BD", "L", "PB", "PD12", "PD11"};
 
     // 紫金财险
     protected static final String[] ZJ_CONNECT_INSURANCE_TYPE = {"A", "B", "D3", "D4", "FA", "FB", "FD3", "FD4", "B2", "L", "S1", "S3", "S2"};
@@ -60,6 +62,9 @@ public class InsuranceTypeCorrespondence {
     public static String[] getZmConnectInsuranceType() {
         return ZM_CONNECT_INSURANCE_TYPE;
     }
+    public static String[] getHuaTaiConnectInsuranceType() {
+        return HuaTai_CONNECT_INSURANCE_TYPE;
+    }
 
     public static String[] getZjConnectInsuranceType() {
         return ZJ_CONNECT_INSURANCE_TYPE;

+ 21 - 10
src/main/java/com/ydtech/modules/order/entity/api/huatai/request/HuaTaiQuotedPriceRequest.java

@@ -99,7 +99,7 @@ public class HuaTaiQuotedPriceRequest extends HuaTaiBaseRequest {
             // 车辆信息
             this.insuredObject = new InsuredObjectDto(carInfo, fullCarDataDto);
             // 保险信息
-            this.contract = new  ContractDto().getContract(riskList, kindList, i - 1,vesselTax,actualValueResponse);
+            this.contract = new  ContractDto().getContract(riskList, kindList, i - 1,vesselTax,actualValueResponse,huaTaiConfigureParameters);
             // 客户信息
             this.customer = new CustomerDto().getCustomers(ownerInfo, policyHolderInfo, insuredPersonInfo);
             //销售信息
@@ -147,6 +147,9 @@ public class HuaTaiQuotedPriceRequest extends HuaTaiBaseRequest {
             @NoArgsConstructor
             @Data
             public static class PolicyCarDto implements Serializable{
+                //CY	座位数
+                @JSONField(name="approvedPassengersCapacity")
+                private int approvedPassengersCapacity;
                 //Y	排量(单位:升)
                 @JSONField(name="displacement")
                 private double displacement;
@@ -192,6 +195,9 @@ public class HuaTaiQuotedPriceRequest extends HuaTaiBaseRequest {
                 //CY	整备质量
                 @JSONField(name="UnladenMass")
                 private String unladenMass;
+                //Y	能源种类
+                @JSONField(name="FullType")
+                private String FullType;
                 //CY	车辆来历凭证种类(新车,北京上海机构出单必录)
                 @JSONField(name="CertificateType")
                 private String CertificateType;
@@ -266,6 +272,7 @@ public class HuaTaiQuotedPriceRequest extends HuaTaiBaseRequest {
                 private String plateColorCode;
 
                 public PolicyCarDto(CarInfoVo carInfoVo,HuaTaiModelsQueryResponse.CarModelDto.FullCarDataDto fullCarDataDto) {
+                    this.approvedPassengersCapacity = fullCarDataDto.getApprovedPassengersCapacity();
                     this.displacement = fullCarDataDto.getDisplacement();
                     this.plateNo = carInfoVo.getLicenseNo();
                     this.registerDate = carInfoVo.getRegisterDate() + " " + TimeConstants.START_TIME;
@@ -286,6 +293,7 @@ public class HuaTaiQuotedPriceRequest extends HuaTaiBaseRequest {
                     this.loanStatus = "0";
                     this.modelName = fullCarDataDto.getModelName();
                     this.unladenMass = fullCarDataDto.getUnladenMass();
+                    this.FullType = fullCarDataDto.getEnergyTypes();
                     this.motorTypeCode = "A0";
                     this.motorUsageTypeCode = "8A";
                     this.plateType = "02";
@@ -346,6 +354,7 @@ public class HuaTaiQuotedPriceRequest extends HuaTaiBaseRequest {
                 this.agentCode = huaTaiConfigureParameters.getAgentCode();
                 this.agreementNo = huaTaiConfigureParameters.getAgreementNo();
                 this.comCode = huaTaiConfigureParameters.getComCode();
+                this.promoteSalePlanID = "2200000001";//后期需维护
             }
         }
     }
@@ -371,11 +380,11 @@ public class HuaTaiQuotedPriceRequest extends HuaTaiBaseRequest {
         @JSONField(name="ChargingPost")
         private List<ChargingPostDto> chargingPost;
 
-        public List<ContractDto> getContract(List<RiskInfoVo> riskInfoVos, List<KindInfoVo> kindInfoVos, Integer quantity,VehicleAndVesselTax vesselTax, HuaTaiActualValueResponse actualValueResponse) {
+        public List<ContractDto> getContract(List<RiskInfoVo> riskInfoVos, List<KindInfoVo> kindInfoVos, Integer quantity,VehicleAndVesselTax vesselTax, HuaTaiActualValueResponse actualValueResponse, HuaTaiConfigureParameters huaTaiConfigureParameters) {
             List<ContractDto> contractDTOS = new ArrayList<>();
             for (RiskInfoVo riskInfoVo : riskInfoVos) {
                 ContractDto contractDto = new ContractDto();
-                this.contractMain = new ContractMainDto(riskInfoVo);
+                this.contractMain = new ContractMainDto(riskInfoVo,huaTaiConfigureParameters);
                 contractDto.setContractMain(contractMain);
                 if (InsuranceRisk.TRAFFIC.getCode().equals(riskInfoVo.getRiskCode())) {
                     contractDto.coverage = Collections.singletonList(new ContractDto.CoverageDto().fetchTraffic(contractMain));
@@ -409,8 +418,10 @@ public class HuaTaiQuotedPriceRequest extends HuaTaiBaseRequest {
             //Y	生成日期(格式:YYYY-MM-DD HH24:MI:SS)
             @JSONField(name="productionDate")
             private String productionDate;
-            public ContractMainDto(RiskInfoVo riskInfoVo) {
+            public ContractMainDto(RiskInfoVo riskInfoVo, HuaTaiConfigureParameters huaTaiConfigureParameters) {
+                SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
                 this.riskCode = InsuranceTypeCorrespondence.getHuaTaiRisk().get(riskInfoVo.getRiskCode());
+                this.handlerCode = huaTaiConfigureParameters.getOperatorCode();
                 String startDate = riskInfoVo.getStartDate();
                 DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
                 LocalDate localDate = LocalDate.parse(startDate, formatter);
@@ -427,7 +438,7 @@ public class HuaTaiQuotedPriceRequest extends HuaTaiBaseRequest {
                     this.expiryDate = expiryDateTime.format(formatter);
                 }
 
-                this.productionDate = "";
+                this.productionDate = df.format(new Date());
             }
         }
         @NoArgsConstructor
@@ -477,8 +488,8 @@ public class HuaTaiQuotedPriceRequest extends HuaTaiBaseRequest {
                     CoverageDto coverageDto = new CoverageDto();
                     String code = kindInfoVo.getKindCode();
                     int i = ArrayUtil.indexOf(InsuranceTypeCorrespondence.getJinZhangGuiType(), code);
-                    String s = InsuranceTypeCorrespondence.getZmConnectInsuranceType()[i];
-                    ContractEnum contractEnum = Enum.valueOf(ContractEnum.class, "C_" + s);
+                    String s = InsuranceTypeCorrespondence.getHuaTaiConnectInsuranceType()[i];
+                    ContractEnum contractEnum = Enum.valueOf(ContractEnum.class, "H_" + s);
                     coverageDto.kindCode = contractEnum.getKindCode();
                     coverageDto.kindName = contractEnum.getKindName();
                     coverageDto.amount = (int) kindInfoVo.getAmount();
@@ -516,8 +527,8 @@ public class HuaTaiQuotedPriceRequest extends HuaTaiBaseRequest {
              */
             public CoverageDto fetchTraffic(ContractMainDto contractMain) {
                 this.amount = 200000;
-                this.kindName = ContractEnum.C_BZ.getKindName();
-                this.kindCode = ContractEnum.C_BZ.getKindCode();
+                this.kindName = ContractEnum.H_BZ.getKindName();
+                this.kindCode = ContractEnum.H_BZ.getKindCode();
                 this.validDate = contractMain.getValidDate();
                 this.expiryDate = contractMain.getExpiryDate();
                 return this;
@@ -679,7 +690,7 @@ public class HuaTaiQuotedPriceRequest extends HuaTaiBaseRequest {
             this.mobile = customerInfoVo.getMobile();
             this.type = "1";
             this.role = role;
-            //this.occupationCode = "";
+            this.occupationCode = "20114";//后续需要根据接口维护返参到表里
             this.identifyValidDate = customerInfoVo.getIdentifyValidDate() + " " + TimeConstants.START_TIME;
             this.identifyValidEndDate = customerInfoVo.getIdentifyValidEndDate() + " " + TimeConstants.END_TIME;
             if("2".equals(role)){

+ 24 - 1
src/main/java/com/ydtech/modules/order/entity/api/zhongmei/constants/enums/ContractEnum.java

@@ -35,7 +35,30 @@ public enum ContractEnum {
     C_501("501", "附加绝对免赔率特约条款(车损)"),
     C_502("502", "附加绝对免赔率特约条款(三者)"),
     C_5041("5041", "附加绝对免赔率特约条款(司机)"),
-    C_5044("5044", "附加绝对免赔率特约条款(乘客)");
+    C_5044("5044", "附加绝对免赔率特约条款(乘客)"),
+    H_BZ("BZ", "机动车交通事故责任强制保险"),
+    H_A("A", "机动车损失保险"),
+    H_B("B", "机动车第三者责任险"),
+    H_D11("D11", "机动车车上人员责任险(司机)"),
+    H_D12("D12", "机动车车上人员责任险(乘客)"),
+    H_L("L", "附加车身划痕损失险"),
+    H_X("X", "附加新增加设备损失险"),
+    H_C("C", "附加修理期间费用补偿险"),
+    H_N("N", "附加发动机进水损坏除外特约条款"),
+    H_BD("BD", "附加法定节假日限额翻倍险"),
+    H_MT("MT", "附加车轮单独损失险"),
+    H_RB("RB", "附加精神损害抚慰金责任险(三者)"),
+    H_RD11("RD11", "附加精神损害抚慰金责任险(司机)"),
+    H_RD12("RD12", "附加精神损害抚慰金责任险(乘客)"),
+    H_PB("PB", "附加医保外用药责任险(三者)"),
+    H_PD11("PD11", "附加医保外用药责任险(司机)"),
+    H_PD12("PD12", "附加医保外用药责任险(乘客)"),
+    H_SR("SR", "附加机动车道路救援服务特约条款"),
+    H_SD("SD", "附加机动车代为驾驶服务特约条款"),
+    H_MMA("MMA", "附加绝对免赔率特约条款(车损)"),
+    H_MMB("MMB", "附加绝对免赔率特约条款(三者)"),
+    H_MMD11("MMD11", "附加绝对免赔率特约条款(车上人员-驾驶员)"),
+    H_MMD12("MMD12", "附加绝对免赔率特约条款(车上人员-乘客)");
 
     ContractEnum(String kindCode, String kindName) {
         this.kindCode = kindCode;