Przeglądaj źródła

Merge remote-tracking branch 'origin/test' into test

ligang134 3 lat temu
rodzic
commit
9ebcca7a64

+ 15 - 3
src/main/java/com/ydtech/modules/order/components/zj/ZijinVehicleTypeErrorComponents.java

@@ -4,6 +4,7 @@ package com.ydtech.modules.order.components.zj;
 import com.ydtech.exception.SystemException;
 import com.ydtech.exception.SystemException;
 import com.ydtech.modules.order.entity.api.zj.constants.enums.ResultEnum;
 import com.ydtech.modules.order.entity.api.zj.constants.enums.ResultEnum;
 import com.ydtech.modules.order.entity.api.zj.request.CalculatePremiumRequest;
 import com.ydtech.modules.order.entity.api.zj.request.CalculatePremiumRequest;
+import com.ydtech.modules.order.entity.api.zj.request.ModelQueryRequest;
 import com.ydtech.modules.order.entity.api.zj.response.BaseResponse;
 import com.ydtech.modules.order.entity.api.zj.response.BaseResponse;
 import com.ydtech.modules.order.entity.api.zj.response.CalculatePremiumResponse;
 import com.ydtech.modules.order.entity.api.zj.response.CalculatePremiumResponse;
 import com.ydtech.modules.order.entity.api.zj.response.ModelQueryResponse;
 import com.ydtech.modules.order.entity.api.zj.response.ModelQueryResponse;
@@ -16,6 +17,7 @@ import org.springframework.stereotype.Component;
 import java.util.List;
 import java.util.List;
 import java.util.regex.Matcher;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
 import java.util.regex.Pattern;
+import java.util.stream.Collectors;
 
 
 /**
 /**
  * 您录入的车型与平台返回的不一致,请核实车辆信息是否准确或提交电子联系单处理!
  * 您录入的车型与平台返回的不一致,请核实车辆信息是否准确或提交电子联系单处理!
@@ -56,10 +58,17 @@ public class ZijinVehicleTypeErrorComponents {
     /**
     /**
      * 修改正确车型报价
      * 修改正确车型报价
      */
      */
-    public CalculatePremiumResponse modification(CalculatePremiumRequest calculatePremiumRequest, CalculatePremiumResponse calculatePremiumResponse, HttpHeaders httpHeaders, List<ModelQueryResponse.VehicleModelInfosDTO> vehicleModelInfosDTOS) {
+    public CalculatePremiumResponse modification(CalculatePremiumRequest calculatePremiumRequest, CalculatePremiumResponse calculatePremiumResponse, HttpHeaders httpHeaders, ModelQueryRequest modelQueryRequest) {
         if (ResultEnum.R_1557.getCode().equals(calculatePremiumResponse.getRtnCode())) {
         if (ResultEnum.R_1557.getCode().equals(calculatePremiumResponse.getRtnCode())) {
             CarType carType = getCarInconsistentInformation(calculatePremiumResponse.getRtnMsg());
             CarType carType = getCarInconsistentInformation(calculatePremiumResponse.getRtnMsg());
-            ModelQueryResponse.VehicleModelInfosDTO vehicleModelInfosDTO = vehicleModelInfosDTOS.stream().filter(x -> x.getModelCode().equals(carType.modelCode) && x.getPlatVehicleCode().equals(carType.platVehicleCode)).findFirst().get();
+
+            modelQueryRequest.modificationModelQueryRequest(carType.modelCode);
+            ModelQueryResponse modelQueryResponse = zijinRequestApiComponents.modelQuery(modelQueryRequest, httpHeaders);
+
+            ModelQueryResponse.VehicleModelInfosDTO vehicleModelInfosDTO = modelQueryResponse.getVehicleModelInfos().stream()
+                    .filter(x -> x.getModelCode().equals(carType.modelCode) && x.getPlatVehicleCode().equals(carType.platVehicleCode))
+                    .collect(Collectors.toList()).get(0);
+
             calculatePremiumRequest.modificationOfVehicleType(vehicleModelInfosDTO);
             calculatePremiumRequest.modificationOfVehicleType(vehicleModelInfosDTO);
             return zijinRequestApiComponents.calculatePremium(calculatePremiumRequest, httpHeaders);
             return zijinRequestApiComponents.calculatePremium(calculatePremiumRequest, httpHeaders);
         }
         }
@@ -67,7 +76,6 @@ public class ZijinVehicleTypeErrorComponents {
     }
     }
 
 
 
 
-    @AllArgsConstructor
     @Data
     @Data
     public static class CarType {
     public static class CarType {
 
 
@@ -80,6 +88,10 @@ public class ZijinVehicleTypeErrorComponents {
          */
          */
         private String platVehicleCode;
         private String platVehicleCode;
 
 
+        public CarType(String modelCode, String platVehicleCode) {
+            this.modelCode = modelCode;
+            this.platVehicleCode = platVehicleCode;
+        }
     }
     }
 
 
 
 

+ 7 - 0
src/main/java/com/ydtech/modules/order/entity/api/zj/request/ModelQueryRequest.java

@@ -105,4 +105,11 @@ public class ModelQueryRequest implements Serializable {
         this.vinNo = carInfoVo.getVinNo();
         this.vinNo = carInfoVo.getVinNo();
         this.brandName = carInfoVo.getBrandName();
         this.brandName = carInfoVo.getBrandName();
     }
     }
+
+    public void modificationModelQueryRequest(String modelCode) {
+        this.modelCode = modelCode;
+        this.vinNo = null;
+        this.brandName = null;
+    }
+
 }
 }

+ 1 - 1
src/main/java/com/ydtech/modules/order/service/impl/ZijinOrderApiServiceImpl.java

@@ -142,7 +142,7 @@ public class ZijinOrderApiServiceImpl implements ZijinOrderApiService {
         // 6. 转保标志
         // 6. 转保标志
         calculatePremiumResponse = zijinReinsuranceComponents.reinsurance(calculatePremiumRequest, calculatePremiumResponse, httpHeaders);
         calculatePremiumResponse = zijinReinsuranceComponents.reinsurance(calculatePremiumRequest, calculatePremiumResponse, httpHeaders);
         // 7. 车型不一致
         // 7. 车型不一致
-        calculatePremiumResponse = zijinVehicleTypeErrorComponents.modification(calculatePremiumRequest, calculatePremiumResponse, httpHeaders, modelQueryResponse.getVehicleModelInfos());
+        calculatePremiumResponse = zijinVehicleTypeErrorComponents.modification(calculatePremiumRequest, calculatePremiumResponse, httpHeaders,  modelQueryRequest );
 
 
         QuoteRespVo quoteRespVo = getQuoteRespVo(calculatePremiumResponse, quoteInfoVo, quoteVo.getAccidentalDrivingVo());
         QuoteRespVo quoteRespVo = getQuoteRespVo(calculatePremiumResponse, quoteInfoVo, quoteVo.getAccidentalDrivingVo());
         return responseOrder(calculatePremiumResponse, quoteRespVo, ptlAgreementAttribution, modelQueryResponse.getOrderId(), modelQueryResponse.getOrderNo());
         return responseOrder(calculatePremiumResponse, quoteRespVo, ptlAgreementAttribution, modelQueryResponse.getOrderId(), modelQueryResponse.getOrderNo());