Parcourir la source

1. 紫金调整vehicleStyleUniqueId 车型参数

785834757 il y a 11 mois
Parent
commit
f8add00f69

+ 2 - 5
src/main/java/com/ydtech/modules/order/entity/api/zijin/request/CalculatePremiumRequest.java

@@ -902,10 +902,7 @@ public class CalculatePremiumRequest implements Serializable {
             UseNatureCode useNatureCode1 = Enum.valueOf(UseNatureCode.class, UseNatureCode.TITLE + carInfo.getVehicleUse());
             this.useNatureCode = useNatureCode1.getCode();
 
-            // 紫金如果只查出一辆车的话 就不需要设置这个值  他们自己处理
-            if(modelQueryResponse.getVehicleModelInfos().size() > 1) {
-                this.vehicleId = vehicleModelInfosDTO.getVehicleId();
-            }
+            this.vehicleId = vehicleModelInfosDTO.getVehicleId();
 
             this.vinNo = carInfo.getVinNo();
             this.brandName = vehicleModelInfosDTO.getModelName();
@@ -939,7 +936,7 @@ public class CalculatePremiumRequest implements Serializable {
             this.oriPurchasePrice = vehicleModelInfosDTO.getPurchasePrice();
             this.oriBrandName = vehicleModelInfosDTO.getModelName();
             this.oriModelName = vehicleModelInfosDTO.getModelName();
-            this.vehicleStyleUniqueId = vehicleModelInfosDTO.getVehicleId();
+//            this.vehicleStyleUniqueId = vehicleModelInfosDTO.getVehicleId();
             this.isInvokeJingYou = "1";
 
             //纯电动 燃料电池 插电式混合动力 归属为新能源产品

+ 6 - 0
src/main/java/com/ydtech/modules/order/entity/api/zijin/response/CalculatePremiumResponse.java

@@ -530,6 +530,9 @@ public class CalculatePremiumResponse extends BaseResponse implements Serializab
         @JsonProperty("carName")
         private String carName;
 
+        @JsonProperty("carValue")
+        private Float carValue;
+
         @JsonProperty("modelIdCode")
         private String modelIdCode;
 
@@ -547,6 +550,9 @@ public class CalculatePremiumResponse extends BaseResponse implements Serializab
 
         @JsonProperty("vehicleFamily")
         private String vehicleFamily;
+
+        @JsonProperty("vehicleStyleUniqueId")
+        private String vehicleStyleUniqueId;
     }
 
     @NoArgsConstructor

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

@@ -52,6 +52,7 @@ import java.time.LocalDateTime;
 import java.time.format.DateTimeFormatter;
 import java.util.*;
 import java.util.stream.Collectors;
+import java.util.stream.Stream;
 
 @Service
 @Slf4j
@@ -161,6 +162,16 @@ public class ZijinOrderApiServiceImpl implements ZijinOrderApiService {
         CalculatePremiumResponse calculatePremiumResponse = zijinRequestApiComponents.calculatePremium(calculatePremiumRequest,
                 httpHeaders, modelQueryRequest, message, queryActualValueRequest, REPEAT_NUMBER, RETRY_NUMBER);
 
+        List<CalculatePremiumResponse.CarInfoListDTO> collect = calculatePremiumResponse.getCarInfoList().stream().sorted(Comparator.comparing(CalculatePremiumResponse.CarInfoListDTO::getCarValue).reversed()).collect(Collectors.toList());
+
+        // 如果报价返回的车型大于1的话 则赋值车价最低的 进行重新报价
+        if (collect.size() > 1) {
+            calculatePremiumRequest.getVehicleInfo().setVehicleStyleUniqueId(collect.get(0).getVehicleStyleUniqueId());
+            calculatePremiumResponse = zijinRequestApiComponents.calculatePremium(calculatePremiumRequest,
+                    httpHeaders, modelQueryRequest, message, queryActualValueRequest, REPEAT_NUMBER, RETRY_NUMBER);
+        }
+
+
         if(!calculatePremiumResponse.getRtnCode().equals(ResultEnum.C_0000)){
             QuoteRespVo resp  = new QuoteRespVo();
             InsOrders order = insOrdersService.getById(quoteVo.getOrderNo());