Bladeren bron

华泰新能源及特约增加

cuixinpeng 2 jaren geleden
bovenliggende
commit
3e00416621

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

@@ -47,6 +47,7 @@ public class InsuranceTypeCorrespondence {
     protected static final Map<String, Map<String, String>> ZhongMei_RISK=new HashMap<>();
 
     protected static final Map<String, String> HuaTai_RISK = new HashMap<>();
+    protected static final String HuaTai_NEW_ENERGY_RISK = "1255";
 
     static {
         ZhongMei_RISK_1379.put("0507", "0330");
@@ -136,6 +137,9 @@ public class InsuranceTypeCorrespondence {
     public static Map<String, String> getHuaTaiRisk() {
         return HuaTai_RISK;
     }
+    public static String getHuaTaiNewEnergyRisk() {
+        return HuaTai_NEW_ENERGY_RISK;
+    }
 
     public static Map<String, String> getZM_CAR_MotorUsageTypeCode() {
         return ZM_CAR_MotorUsageTypeCode;

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

@@ -100,7 +100,7 @@ public class HuaTaiQuotedPriceRequest extends HuaTaiBaseRequest {
             // 车辆信息
             this.insuredObject = new InsuredObjectDto(carInfo, fullCarDataDto);
             // 保险信息
-            this.contract = new  ContractDto().getContract(riskList, kindList, i - 1,vesselTax,actualValueResponse,huaTaiConfigureParameters);
+            this.contract = new  ContractDto().getContract(riskList, kindList, i - 1,vesselTax,actualValueResponse,huaTaiConfigureParameters,fullCarDataDto);
             // 客户信息
             this.customer = new CustomerDto().getCustomers(ownerInfo, policyHolderInfo, insuredPersonInfo);
             //销售信息
@@ -381,11 +381,13 @@ 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, HuaTaiConfigureParameters huaTaiConfigureParameters) {
+        public List<ContractDto> getContract(List<RiskInfoVo> riskInfoVos, List<KindInfoVo> kindInfoVos, Integer quantity,VehicleAndVesselTax vesselTax,
+                                             HuaTaiActualValueResponse actualValueResponse, HuaTaiConfigureParameters huaTaiConfigureParameters,
+                 HuaTaiModelsQueryResponse.CarModelDto.FullCarDataDto fullCarDataDto) {
             List<ContractDto> contractDTOS = new ArrayList<>();
             for (RiskInfoVo riskInfoVo : riskInfoVos) {
                 ContractDto contractDto = new ContractDto();
-                this.contractMain = new ContractMainDto(riskInfoVo,huaTaiConfigureParameters);
+                this.contractMain = new ContractMainDto(riskInfoVo,huaTaiConfigureParameters,fullCarDataDto);
                 contractDto.setContractMain(contractMain);
                 if (InsuranceRisk.TRAFFIC.getCode().equals(riskInfoVo.getRiskCode())) {
                     contractDto.coverage = Collections.singletonList(new ContractDto.CoverageDto().fetchTraffic(contractMain));
@@ -419,9 +421,12 @@ public class HuaTaiQuotedPriceRequest extends HuaTaiBaseRequest {
             //Y	生成日期(格式:YYYY-MM-DD HH24:MI:SS)
             @JSONField(name="productionDate")
             private String productionDate;
-            public ContractMainDto(RiskInfoVo riskInfoVo, HuaTaiConfigureParameters huaTaiConfigureParameters) {
+            public ContractMainDto(RiskInfoVo riskInfoVo, HuaTaiConfigureParameters huaTaiConfigureParameters,HuaTaiModelsQueryResponse.CarModelDto.FullCarDataDto fullCarDataDto) {
                 SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
                 this.riskCode = InsuranceTypeCorrespondence.getHuaTaiRisk().get(riskInfoVo.getRiskCode());
+                if(InsuranceRisk.BUSINESS.getCode().equals(riskInfoVo.getRiskCode()) && "1,2,3,".contains(fullCarDataDto.getEnergyTypes()+",")){//纯电动 燃料电池 插电式混合动力 归属为新能源产品
+                    this.riskCode = InsuranceTypeCorrespondence.getHuaTaiNewEnergyRisk();
+                }
                 this.handlerCode = huaTaiConfigureParameters.getOperatorCode();
                 String startDate = riskInfoVo.getStartDate();
                 DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");

+ 30 - 16
src/main/java/com/ydtech/modules/order/entity/api/huatai/request/HuaTaiSubmitRequest.java

@@ -124,7 +124,7 @@ public class HuaTaiSubmitRequest extends HuaTaiBaseRequest  {
         private PlatFormMessage platFormMessage;
         //CY	自定义特别约定列表
         @JSONField(name="engage")
-        private List engage;
+        private List<EngageDto> engage;
 
         public List<ContractDto> getContract(List<RiskInfoVo> riskInfoVos,InsAreaCompany insAreaCompany, HuaTaiConfigureParameters huaTaiConfigureParameters) {
             String querySequenceNos[] = insAreaCompany.getInsOrderNo().split("-");
@@ -139,6 +139,8 @@ public class HuaTaiSubmitRequest extends HuaTaiBaseRequest  {
                 }
                 if (InsuranceRisk.BUSINESS.getCode().equals(riskInfoVo.getRiskCode())) {
                     this.platFormMessage = new PlatFormMessage(syQuerySequenceNo,huaTaiConfigureParameters);
+                    this.engage = new EngageDto().getEngageList(syQuerySequenceNo,huaTaiConfigureParameters);
+                    contractDto.setEngage(engage);
                 }
                 contractDto.setContractMain(contractMain);
                 contractDto.setPlatFormMessage(platFormMessage);
@@ -215,6 +217,33 @@ public class HuaTaiSubmitRequest extends HuaTaiBaseRequest  {
             this.querySequenceNo = querySequenceNo;
         }
     }
+    @AllArgsConstructor
+    @NoArgsConstructor
+    @Data
+    public static class EngageDto implements Serializable{
+
+        private static final long serialVersionUID = 7957269957188794595L;
+        // 业务主信息
+        @JSONField(name="engageCode")
+        private String engageCode;
+        // 业务主信息
+        @JSONField(name="engageTitle")
+        private String engageTitle;
+        // 业务主信息
+        @JSONField(name="engageDetail")
+        private String engageDetail;
+
+        public EngageDto(String querySequenceNo, HuaTaiConfigureParameters huaTaiConfigureParameters){
+            this.engageCode ="T0048";
+            this.engageTitle = "非营业约定(1251)";
+            this.engageDetail = "本保险单承保非营业车辆,如果保险车辆用于租赁或营业运输,发生保险事故,保险人不承担赔偿责任。";
+        }
+        public List<EngageDto> getEngageList(String querySequenceNo, HuaTaiConfigureParameters huaTaiConfigureParameters){
+            List<EngageDto> engageDtoList = new ArrayList<>();
+            engageDtoList.add(new EngageDto(querySequenceNo,huaTaiConfigureParameters));
+            return engageDtoList;
+        }
+    }
 
     @AllArgsConstructor
     @NoArgsConstructor
@@ -486,19 +515,4 @@ public class HuaTaiSubmitRequest extends HuaTaiBaseRequest  {
         }
 
     }
-    @AllArgsConstructor
-    @NoArgsConstructor
-    @Data
-    public static class EngageDto implements Serializable{
-        //Y	参见特约编码
-        @JSONField(name="engageCode")
-        private String engageCode;
-        //Y	特约名称
-        @JSONField(name="engageTitle")
-        private String engageTitle;
-        //Y	特约内容
-        @JSONField(name="engageDetail")
-        private String engageDetail;
-
-    }
 }