|
@@ -137,11 +137,14 @@ public class BoHaiOrderApiServiceImpl implements BoHaiOrderApiService {
|
|
|
|
|
|
|
|
// 车辆实际价值
|
|
// 车辆实际价值
|
|
|
String currentValue = vehicleConfirmationResponse.getData().getVehicleModels().get(0).getCurrentValue();
|
|
String currentValue = vehicleConfirmationResponse.getData().getVehicleModels().get(0).getCurrentValue();
|
|
|
-
|
|
|
|
|
// 4. 报价接口
|
|
// 4. 报价接口
|
|
|
QuotationRequest quotationRequest = new QuotationRequest(parameters, quoteInfoVo.getRiskList(), quoteInfoVo.getKindList(),
|
|
QuotationRequest quotationRequest = new QuotationRequest(parameters, quoteInfoVo.getRiskList(), quoteInfoVo.getKindList(),
|
|
|
currentValue, orderNo, carInfo, quoteVo.getAccidentalDrivingVo());
|
|
currentValue, orderNo, carInfo, quoteVo.getAccidentalDrivingVo());
|
|
|
QuotationResponse response = boHaiRequestApiComponent.quotation(quotationRequest, parameters.getSysSourceCode());
|
|
QuotationResponse response = boHaiRequestApiComponent.quotation(quotationRequest, parameters.getSysSourceCode());
|
|
|
|
|
+ //商业险重复投保 重复投保保单信息 :保单号:314042303060007485车牌号:晋A881SR车架号:LMGAC1381K1535834发动机号:F699317保险公司代码:YAIC签单日期:20230414起保日期:202305030000终保日期:202405030000险别:机动车第三者责任保险,附加医保外用药责任险(机动车第三者责任保险)
|
|
|
|
|
+ response = getQuotationResponse(response,quotationRequest,parameters.getSysSourceCode());
|
|
|
|
|
+
|
|
|
|
|
+ //response = getQuotationResponseNew(quoteInfoVo, quoteVo, parameters, orderNo, carInfo, currentValue, response);
|
|
|
//add by 2024-04-03 会发生重复投保 算费微服务返回报错信息_保信返回错误信息:
|
|
//add by 2024-04-03 会发生重复投保 算费微服务返回报错信息_保信返回错误信息:
|
|
|
// 平台返回错误信息号牌号码“晋J60L55”的保单发生重复投保,与其重复投保的其它公司的保单信息如下:投保确认码 02PAIC140023031919549498257741;保单号 13312993901973801278;起保日期 2023-04-11 00:00;终保日期 2024-04-11 00:00;号牌号码 晋J60L55;号牌种类 02;车架号 LZWADAGA5LG477030;发动机号 8LB1921291;地区 山西。
|
|
// 平台返回错误信息号牌号码“晋J60L55”的保单发生重复投保,与其重复投保的其它公司的保单信息如下:投保确认码 02PAIC140023031919549498257741;保单号 13312993901973801278;起保日期 2023-04-11 00:00;终保日期 2024-04-11 00:00;号牌号码 晋J60L55;号牌种类 02;车架号 LZWADAGA5LG477030;发动机号 8LB1921291;地区 山西。
|
|
|
//重新赋值交强的投保开始日期
|
|
//重新赋值交强的投保开始日期
|
|
@@ -156,18 +159,22 @@ public class BoHaiOrderApiServiceImpl implements BoHaiOrderApiService {
|
|
|
trafficPolicyDTOEndDateStr=trafficPolicyDTOEndDateStr+":00";
|
|
trafficPolicyDTOEndDateStr=trafficPolicyDTOEndDateStr+":00";
|
|
|
// 结束日期为59:59:59
|
|
// 结束日期为59:59:59
|
|
|
String endDateStr = DateUtil_N.getNextYearDateStr(trafficPolicyDTOEndDateStr);
|
|
String endDateStr = DateUtil_N.getNextYearDateStr(trafficPolicyDTOEndDateStr);
|
|
|
- QuotationRequest quotationRequestNew = new QuotationRequest(parameters, quoteInfoVo.getRiskList(), quoteInfoVo.getKindList(),
|
|
|
|
|
- currentValue, orderNo, carInfo, quoteVo.getAccidentalDrivingVo());
|
|
|
|
|
- QuotationRequest.TrafficPolicyDTO trafficPolicy = quotationRequestNew.getTrafficPolicy();
|
|
|
|
|
|
|
+ QuotationRequest.TrafficPolicyDTO trafficPolicy = quotationRequest.getTrafficPolicy();
|
|
|
trafficPolicy.setStartDate(trafficPolicyDTOEndDateStr);
|
|
trafficPolicy.setStartDate(trafficPolicyDTOEndDateStr);
|
|
|
trafficPolicy.setEndDate(endDateStr);
|
|
trafficPolicy.setEndDate(endDateStr);
|
|
|
- quotationRequestNew.setTrafficPolicy(trafficPolicy);
|
|
|
|
|
- response = boHaiRequestApiComponent.quotation(quotationRequestNew, parameters.getSysSourceCode());
|
|
|
|
|
|
|
+ quotationRequest.setTrafficPolicy(trafficPolicy);
|
|
|
|
|
+ response = boHaiRequestApiComponent.quotation(quotationRequest, parameters.getSysSourceCode());
|
|
|
|
|
+ // 判断是否商业险重复投保
|
|
|
|
|
+ response = getQuotationResponse(response,quotationRequest,parameters.getSysSourceCode());
|
|
|
|
|
+
|
|
|
if (!ResponseCode.R_Z00001.getCode().equals(response.getResponseCode())) {
|
|
if (!ResponseCode.R_Z00001.getCode().equals(response.getResponseCode())) {
|
|
|
- throw new SystemException(responseMsg);
|
|
|
|
|
|
|
+ throw new SystemException(response.getResponseMsg());
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
- //商业重复投保
|
|
|
|
|
|
|
+ // add by hxl 2024-04-07 报价接口报错 算费微服务返回报错信息_保信返回错误信息:录入的校验码有误
|
|
|
|
|
+ // 需要调用 获取交管查询校验码接口 传入到报价参数中 暂未复现不处理 注释掉
|
|
|
|
|
+ }else if(responseMsg.contains("录入的校验码有误")){
|
|
|
|
|
+ //response = getQuotationResponseNew(quoteInfoVo, quoteVo, parameters, orderNo, carInfo, currentValue, response);
|
|
|
}else{
|
|
}else{
|
|
|
throw new SystemException(responseMsg);
|
|
throw new SystemException(responseMsg);
|
|
|
}
|
|
}
|
|
@@ -176,6 +183,63 @@ public class BoHaiOrderApiServiceImpl implements BoHaiOrderApiService {
|
|
|
|
|
|
|
|
return getQuoteRespVo(response, quoteInfoVo, vehicleModelsDTO, ptlAgreementAttribution, orderNo, accidentalDrivingVo);
|
|
return getQuoteRespVo(response, quoteInfoVo, vehicleModelsDTO, ptlAgreementAttribution, orderNo, accidentalDrivingVo);
|
|
|
}
|
|
}
|
|
|
|
|
+ /**
|
|
|
|
|
+ * @version 报价传递获取交管查询校验码 报错 未知异常,请联系管理员
|
|
|
|
|
+ * @author: hxl
|
|
|
|
|
+ * @Date: 2024/4/7 16:50
|
|
|
|
|
+ * @Description:
|
|
|
|
|
+ */
|
|
|
|
|
+ private QuotationResponse getQuotationResponseNew(BaseQuoteInfoVo quoteInfoVo, BaseQuoteVo<List<BoHaiQuoteAccidentVo>> quoteVo, BoHaiConfigureParameters parameters, String orderNo, CarInfoVo carInfo, String currentValue, QuotationResponse response) throws Exception {
|
|
|
|
|
+ VehicleCheckCodeRequest vehicleCheckCodeRequest = new VehicleCheckCodeRequest(parameters, orderNo, carInfo.getVinNo(), carInfo.getEngineNo(), carInfo.getLicenseNo());
|
|
|
|
|
+ VehicleCheckCodeResponse vehicleCheckCodeResponse = boHaiRequestApiComponent.getVehicleCheckCode(vehicleCheckCodeRequest, parameters.getSysSourceCode());
|
|
|
|
|
+ if(ResponseCode.R_Z00001.getCode().equals(vehicleCheckCodeResponse.getResponseCode())){
|
|
|
|
|
+ String checkCode = vehicleCheckCodeResponse.getData().getCheckCode();
|
|
|
|
|
+ //重新报价
|
|
|
|
|
+ QuotationRequest quotationRequestNew = new QuotationRequest(parameters, quoteInfoVo.getRiskList(), quoteInfoVo.getKindList(),
|
|
|
|
|
+ currentValue, orderNo, carInfo, quoteVo.getAccidentalDrivingVo());
|
|
|
|
|
+ List<QuotationRequest.CheckInfoDTO> checkInfoList=new ArrayList<QuotationRequest.CheckInfoDTO>();
|
|
|
|
|
+ QuotationRequest.CheckInfoDTO checkInfo=new QuotationRequest.CheckInfoDTO("2",checkCode,"N");
|
|
|
|
|
+ checkInfoList.add(checkInfo);
|
|
|
|
|
+ //quotationRequestNew.setCheckInfoList(checkInfoList);
|
|
|
|
|
+ response = boHaiRequestApiComponent.quotation(quotationRequestNew, parameters.getSysSourceCode());
|
|
|
|
|
+ if (!ResponseCode.R_Z00001.getCode().equals(response.getResponseCode())) {
|
|
|
|
|
+ throw new SystemException(response.getResponseMsg());
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ return response;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * @version 商业险发生重复投保
|
|
|
|
|
+ * @author: hxl
|
|
|
|
|
+ * @Date: 2024/4/7 16:07
|
|
|
|
|
+ * @Description:
|
|
|
|
|
+ */
|
|
|
|
|
+ private QuotationResponse getQuotationResponse(QuotationResponse response, QuotationRequest quotationRequest,String sysSourCode) throws Exception {
|
|
|
|
|
+ if(ResponseCode.R_Z00001.getCode().equals(response.getResponseCode()) && response.getData().getBusinessPolicy().getErrorMsg()!=null){
|
|
|
|
|
+ String errorMsg = response.getData().getBusinessPolicy().getErrorMsg();
|
|
|
|
|
+ if(errorMsg.contains("重复投保")){
|
|
|
|
|
+ //重新给商业险的开始和结束时间赋值赋值重新填报
|
|
|
|
|
+ String businessPolicyEndDateStr = StringSubStringUtils.subjectStringContentByBusinessPolicyEndDate(errorMsg,"终保日期:");
|
|
|
|
|
+ if(!"".equals(businessPolicyEndDateStr) && !"".equals(businessPolicyEndDateStr)){
|
|
|
|
|
+ //结束投保日期为开始日期,结束日期为结束投保日期后一年的日期
|
|
|
|
|
+ businessPolicyEndDateStr=businessPolicyEndDateStr+"00";
|
|
|
|
|
+ String beginDateStr = DateUtil_N.strAllToDateToStr(businessPolicyEndDateStr, "yyyyMMddHHmmss", "yyyy-MM-dd HH:mm:ss");
|
|
|
|
|
+ // 结束日期为59:59:59
|
|
|
|
|
+ String endDateStr = DateUtil_N.getNextYearDateStrTranfer(businessPolicyEndDateStr);
|
|
|
|
|
+ QuotationRequest.BusinessPolicyDTO businessPolicy = quotationRequest.getBusinessPolicy();
|
|
|
|
|
+ businessPolicy.setStartDate(beginDateStr);
|
|
|
|
|
+ businessPolicy.setEndDate(endDateStr);
|
|
|
|
|
+ quotationRequest.setBusinessPolicy(businessPolicy);
|
|
|
|
|
+ response = boHaiRequestApiComponent.quotation(quotationRequest, sysSourCode);
|
|
|
|
|
+ if (!ResponseCode.R_Z00001.getCode().equals(response.getResponseCode())) {
|
|
|
|
|
+ throw new SystemException(response.getResponseMsg());
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ return response;
|
|
|
|
|
+ }
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
|
* @version 调用车型查询和车辆确认
|
|
* @version 调用车型查询和车辆确认
|