|
@@ -30,6 +30,7 @@ import com.ydtech.modules.order.service.BoHaiOrderApiService;
|
|
|
import com.ydtech.modules.order.service.InsAreaCompanyService;
|
|
import com.ydtech.modules.order.service.InsAreaCompanyService;
|
|
|
import com.ydtech.modules.order.service.InsOrdersService;
|
|
import com.ydtech.modules.order.service.InsOrdersService;
|
|
|
import com.ydtech.modules.order.service.InsTaskImagesService;
|
|
import com.ydtech.modules.order.service.InsTaskImagesService;
|
|
|
|
|
+import com.ydtech.modules.order.utils.StringSubStringUtils;
|
|
|
import com.ydtech.modules.protocol.entity.po.PtlAgreementAttribution;
|
|
import com.ydtech.modules.protocol.entity.po.PtlAgreementAttribution;
|
|
|
import com.ydtech.modules.protocol.service.PtlAgreementAttributionService;
|
|
import com.ydtech.modules.protocol.service.PtlAgreementAttributionService;
|
|
|
import com.ydtech.utils.CalculateUtils;
|
|
import com.ydtech.utils.CalculateUtils;
|
|
@@ -38,9 +39,7 @@ import lombok.RequiredArgsConstructor;
|
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.stereotype.Service;
|
|
|
import org.springframework.util.ObjectUtils;
|
|
import org.springframework.util.ObjectUtils;
|
|
|
|
|
|
|
|
-import java.util.ArrayList;
|
|
|
|
|
-import java.util.Collections;
|
|
|
|
|
-import java.util.List;
|
|
|
|
|
|
|
+import java.util.*;
|
|
|
import java.util.stream.Collectors;
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
|
|
|
|
|
|
@@ -108,13 +107,50 @@ public class BoHaiOrderApiServiceImpl implements BoHaiOrderApiService {
|
|
|
GenerateOrderNoResponse generateOrderNoResponse = boHaiRequestApiComponent.generateOrderNo(generateOrderNoRequest,
|
|
GenerateOrderNoResponse generateOrderNoResponse = boHaiRequestApiComponent.generateOrderNo(generateOrderNoRequest,
|
|
|
parameters.getSysSourceCode());
|
|
parameters.getSysSourceCode());
|
|
|
String orderNo = generateOrderNoResponse.getData().getOrderNo();
|
|
String orderNo = generateOrderNoResponse.getData().getOrderNo();
|
|
|
-
|
|
|
|
|
- // 2 车型查询接口
|
|
|
|
|
CarInfoVo carInfo = quoteInfoVo.getCarInfo();
|
|
CarInfoVo carInfo = quoteInfoVo.getCarInfo();
|
|
|
VehicleTypeQueryRequest vehicleTypeQueryRequest = new VehicleTypeQueryRequest(parameters, carInfo.getModelcname(), orderNo);
|
|
VehicleTypeQueryRequest vehicleTypeQueryRequest = new VehicleTypeQueryRequest(parameters, carInfo.getModelcname(), orderNo);
|
|
|
- VehicleTypeQueryResponse.DataDTO.VehicleModelsDTO vehicleModelsDTO =
|
|
|
|
|
- boHaiRequestApiComponent.vehicleTypeQuery(vehicleTypeQueryRequest, parameters.getSysSourceCode(), carInfo);
|
|
|
|
|
|
|
+ //add by hxl 2024-04-03 调用车辆型号查询
|
|
|
|
|
+ // 调用 车辆查询和车辆确认接口
|
|
|
|
|
+ VehicleTypeQueryResponse.DataDTO.VehicleModelsDTO vehicleModelsDTO=new VehicleTypeQueryResponse.DataDTO.VehicleModelsDTO();
|
|
|
|
|
+ Map<String,Object> map= getVehicleConfirmationResponse(quoteInfoVo, parameters, carInfo, orderNo,vehicleTypeQueryRequest);
|
|
|
|
|
+ //调用车型号查询可能会出现多条数据,导致车辆确认报错 ESB车型及纯风险保费查询服务返回错误信息_选择车辆的行业车型编码(BBWABBUA0005)在平台不存在!请使用正确的行业车型编码(BBWABBUB0007)"
|
|
|
|
|
+ //通过报错信息截取出正确的行业车型编
|
|
|
|
|
+ vehicleModelsDTO = (VehicleTypeQueryResponse.DataDTO.VehicleModelsDTO) map.get("vehicleModelsDTO");
|
|
|
|
|
+ VehicleConfirmationResponse vehicleConfirmationResponse= (VehicleConfirmationResponse) map.get("vehicleConfirmationResponse");
|
|
|
|
|
+ if (ResponseCode.R_Z00004.getCode().equals(vehicleConfirmationResponse.getResponseCode())) {
|
|
|
|
|
+ String responseMsg = vehicleConfirmationResponse.getResponseMsg();
|
|
|
|
|
+ if(responseMsg.contains("行业车型编码")){
|
|
|
|
|
+ String modelCode = StringSubStringUtils.extractLastParenthesesContent(responseMsg);
|
|
|
|
|
+ //清空车辆型号 添加行业车型编码确定唯一车型
|
|
|
|
|
+ vehicleTypeQueryRequest.setVehicleBrandModelKey(null);
|
|
|
|
|
+ vehicleTypeQueryRequest.setModelCode(modelCode);
|
|
|
|
|
+ // 重新调用 车辆查询和车辆确认接口
|
|
|
|
|
+ Map<String,Object> map_two= getVehicleConfirmationResponse(quoteInfoVo, parameters, carInfo, orderNo,vehicleTypeQueryRequest);
|
|
|
|
|
+ vehicleModelsDTO = (VehicleTypeQueryResponse.DataDTO.VehicleModelsDTO) map_two.get("vehicleModelsDTO");
|
|
|
|
|
+ vehicleConfirmationResponse= (VehicleConfirmationResponse) map_two.get("vehicleConfirmationResponse");
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ // 车辆实际价值
|
|
|
|
|
+ String currentValue = vehicleConfirmationResponse.getData().getVehicleModels().get(0).getCurrentValue();
|
|
|
|
|
|
|
|
|
|
+ // 4. 报价接口
|
|
|
|
|
+ QuotationRequest quotationRequest = new QuotationRequest(parameters, quoteInfoVo.getRiskList(), quoteInfoVo.getKindList(),
|
|
|
|
|
+ currentValue, orderNo, carInfo, quoteVo.getAccidentalDrivingVo());
|
|
|
|
|
+ QuotationResponse response = boHaiRequestApiComponent.quotation(quotationRequest, parameters.getSysSourceCode());
|
|
|
|
|
+ List<BoHaiQuoteAccidentVo> accidentalDrivingVo = quoteVo.getAccidentalDrivingVo();
|
|
|
|
|
+
|
|
|
|
|
+ return getQuoteRespVo(response, quoteInfoVo, vehicleModelsDTO, ptlAgreementAttribution, orderNo, accidentalDrivingVo);
|
|
|
|
|
+ }
|
|
|
|
|
+ /**
|
|
|
|
|
+ * @version 调用车型查询和车辆确认
|
|
|
|
|
+ * @author: hxl
|
|
|
|
|
+ * @Date: 2024/4/3 16:03
|
|
|
|
|
+ * @Description:
|
|
|
|
|
+ */
|
|
|
|
|
+ public Map<String,Object> getVehicleConfirmationResponse(BaseQuoteInfoVo quoteInfoVo, BoHaiConfigureParameters parameters,CarInfoVo carInfo,String orderNo,VehicleTypeQueryRequest vehicleTypeQueryRequest) throws Exception {
|
|
|
|
|
+ // 2 车型查询接口
|
|
|
|
|
+ VehicleTypeQueryResponse.DataDTO.VehicleModelsDTO vehicleModelsDTO = boHaiRequestApiComponent.vehicleTypeQuery(vehicleTypeQueryRequest, parameters.getSysSourceCode(), carInfo);
|
|
|
// 3 车辆确认接口
|
|
// 3 车辆确认接口
|
|
|
// 车主信息
|
|
// 车主信息
|
|
|
CustomerInfoVo ownerInfo = quoteInfoVo.getOwnerInfo();
|
|
CustomerInfoVo ownerInfo = quoteInfoVo.getOwnerInfo();
|
|
@@ -130,17 +166,13 @@ public class BoHaiOrderApiServiceImpl implements BoHaiOrderApiService {
|
|
|
orderNo, ownerInfoArea, insuredPersonArea, policyHolderArea);
|
|
orderNo, ownerInfoArea, insuredPersonArea, policyHolderArea);
|
|
|
VehicleConfirmationResponse vehicleConfirmationResponse = boHaiRequestApiComponent.vehicleConfirmation(vehicleConfirmationReqeust
|
|
VehicleConfirmationResponse vehicleConfirmationResponse = boHaiRequestApiComponent.vehicleConfirmation(vehicleConfirmationReqeust
|
|
|
, parameters.getSysSourceCode());
|
|
, parameters.getSysSourceCode());
|
|
|
- // 车辆实际价值
|
|
|
|
|
- String currentValue = vehicleConfirmationResponse.getData().getVehicleModels().get(0).getCurrentValue();
|
|
|
|
|
|
|
+ Map<String,Object> map=new HashMap<>();
|
|
|
|
|
+ map.put("vehicleModelsDTO",vehicleModelsDTO);
|
|
|
|
|
+ map.put("vehicleConfirmationResponse",vehicleConfirmationResponse);
|
|
|
|
|
+ return map;
|
|
|
|
|
+ }
|
|
|
|
|
|
|
|
- // 4. 报价接口
|
|
|
|
|
- QuotationRequest quotationRequest = new QuotationRequest(parameters, quoteInfoVo.getRiskList(), quoteInfoVo.getKindList(),
|
|
|
|
|
- currentValue, orderNo, carInfo, quoteVo.getAccidentalDrivingVo());
|
|
|
|
|
- QuotationResponse response = boHaiRequestApiComponent.quotation(quotationRequest, parameters.getSysSourceCode());
|
|
|
|
|
- List<BoHaiQuoteAccidentVo> accidentalDrivingVo = quoteVo.getAccidentalDrivingVo();
|
|
|
|
|
|
|
|
|
|
- return getQuoteRespVo(response, quoteInfoVo, vehicleModelsDTO, ptlAgreementAttribution, orderNo, accidentalDrivingVo);
|
|
|
|
|
- }
|
|
|
|
|
|
|
|
|
|
@Override
|
|
@Override
|
|
|
public HttpResult<Object> submitImage(String subOrderNo) throws Exception {
|
|
public HttpResult<Object> submitImage(String subOrderNo) throws Exception {
|