|
|
@@ -3,11 +3,14 @@ package com.ydtech.modules.order.components.zj;
|
|
|
|
|
|
import com.ydtech.constants.InsuranceEnum;
|
|
|
import com.ydtech.exception.SystemException;
|
|
|
+import com.ydtech.modules.order.entity.api.zj.constants.enums.MotorVehicleInsuranceEnum;
|
|
|
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.ModelQueryRequest;
|
|
|
+import com.ydtech.modules.order.entity.api.zj.request.QueryActualValueRequest;
|
|
|
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.QueryActualValueResponse;
|
|
|
import com.ydtech.modules.order.utils.InsuranceLog;
|
|
|
import lombok.Data;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
@@ -15,6 +18,7 @@ import org.springframework.context.annotation.Lazy;
|
|
|
import org.springframework.http.HttpHeaders;
|
|
|
import org.springframework.stereotype.Component;
|
|
|
|
|
|
+import java.util.List;
|
|
|
import java.util.regex.Matcher;
|
|
|
import java.util.regex.Pattern;
|
|
|
import java.util.stream.Collectors;
|
|
|
@@ -60,7 +64,7 @@ public class ZijinVehicleTypeErrorComponents extends ResponseMessageAbstractHand
|
|
|
* 修改正确车型报价
|
|
|
*/
|
|
|
@Override
|
|
|
- public CalculatePremiumResponse messageHandler(CalculatePremiumRequest calculatePremiumRequest, CalculatePremiumResponse calculatePremiumResponse, HttpHeaders httpHeaders, ModelQueryRequest modelQueryRequest, String message) {
|
|
|
+ public CalculatePremiumResponse messageHandler(CalculatePremiumRequest calculatePremiumRequest, CalculatePremiumResponse calculatePremiumResponse, HttpHeaders httpHeaders, ModelQueryRequest modelQueryRequest, String message, QueryActualValueRequest queryActualValueRequest) {
|
|
|
InsuranceLog.infoLog(InsuranceEnum.ZKIC.getPinyin(), "\n\t---------> {}\n\t---------> {}", "紫金财险转修改正确车型报价", calculatePremiumResponse.getRtnMsg());
|
|
|
CarType carType = getCarInconsistentInformation(calculatePremiumResponse.getRtnMsg());
|
|
|
|
|
|
@@ -71,10 +75,24 @@ public class ZijinVehicleTypeErrorComponents extends ResponseMessageAbstractHand
|
|
|
.filter(x -> x.getModelCode().equals(carType.modelCode) && x.getPlatVehicleCode().equals(carType.platVehicleCode))
|
|
|
.collect(Collectors.toList()).get(0);
|
|
|
|
|
|
- calculatePremiumRequest.modificationOfVehicleType(vehicleModelInfosDTO);
|
|
|
+ // 车型实际价格
|
|
|
+ queryActualValueRequest.setSeatCount(vehicleModelInfosDTO.getSeatCount());
|
|
|
+ queryActualValueRequest.setPurchasePrice(vehicleModelInfosDTO.getPurchasePrice());
|
|
|
+ QueryActualValueResponse queryActualValueResponse = zijinRequestApiComponents.queryActualValue(queryActualValueRequest, httpHeaders);
|
|
|
+ String actualValue = queryActualValueResponse.getActualValue();
|
|
|
+
|
|
|
+ calculatePremiumRequest.modificationOfVehicleType(vehicleModelInfosDTO, actualValue);
|
|
|
calculatePremiumRequest.setOrderId(modelQueryResponse.getOrderId());
|
|
|
calculatePremiumRequest.setOrderNo(modelQueryResponse.getOrderNo());
|
|
|
- return zijinRequestApiComponents.calculatePremium(calculatePremiumRequest, httpHeaders, modelQueryRequest, message);
|
|
|
+
|
|
|
+ List<CalculatePremiumRequest.ItemKindListDTO> itemKindListDTO = calculatePremiumRequest.getItemKindList().stream()
|
|
|
+ .filter(x -> x.getKindCode().equals(MotorVehicleInsuranceEnum.MVI_A.getCode())).collect(Collectors.toList());
|
|
|
+
|
|
|
+ if (itemKindListDTO.size() == 1) {
|
|
|
+ itemKindListDTO.get(0).setAmount(actualValue);
|
|
|
+ }
|
|
|
+
|
|
|
+ return zijinRequestApiComponents.calculatePremium(calculatePremiumRequest, httpHeaders, modelQueryRequest, message, queryActualValueRequest);
|
|
|
}
|
|
|
|
|
|
@Data
|