|
|
@@ -34,6 +34,7 @@ import com.ydtech.modules.order.utils.StringSubStringUtils;
|
|
|
import com.ydtech.modules.protocol.entity.po.PtlAgreementAttribution;
|
|
|
import com.ydtech.modules.protocol.service.PtlAgreementAttributionService;
|
|
|
import com.ydtech.utils.CalculateUtils;
|
|
|
+import com.ydtech.utils.DateUtil_N;
|
|
|
import com.ydtech.utils.StringUtils;
|
|
|
import lombok.RequiredArgsConstructor;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
@@ -129,6 +130,8 @@ public class BoHaiOrderApiServiceImpl implements BoHaiOrderApiService {
|
|
|
vehicleTypeQueryRequest);
|
|
|
vehicleModelsDTO = (VehicleTypeQueryResponse.DataDTO.VehicleModelsDTO) map_two.get("vehicleModelsDTO");
|
|
|
vehicleConfirmationResponse = (VehicleConfirmationResponse) map_two.get("vehicleConfirmationResponse");
|
|
|
+ }else{
|
|
|
+ throw new SystemException(responseMsg);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
@@ -139,6 +142,36 @@ public class BoHaiOrderApiServiceImpl implements BoHaiOrderApiService {
|
|
|
QuotationRequest quotationRequest = new QuotationRequest(parameters, quoteInfoVo.getRiskList(), quoteInfoVo.getKindList(),
|
|
|
currentValue, orderNo, carInfo, quoteVo.getAccidentalDrivingVo());
|
|
|
QuotationResponse response = boHaiRequestApiComponent.quotation(quotationRequest, parameters.getSysSourceCode());
|
|
|
+ //add by 2024-04-03 会发生重复投保 算费微服务返回报错信息_保信返回错误信息:
|
|
|
+ // 平台返回错误信息号牌号码“晋J60L55”的保单发生重复投保,与其重复投保的其它公司的保单信息如下:投保确认码 02PAIC140023031919549498257741;保单号 13312993901973801278;起保日期 2023-04-11 00:00;终保日期 2024-04-11 00:00;号牌号码 晋J60L55;号牌种类 02;车架号 LZWADAGA5LG477030;发动机号 8LB1921291;地区 山西。
|
|
|
+ //重新赋值交强的投保开始日期
|
|
|
+ if (ResponseCode.R_Z00004.getCode().equals(response.getResponseCode())) {
|
|
|
+ String responseMsg = response.getResponseMsg();
|
|
|
+ if(responseMsg.contains("发生重复投保")){
|
|
|
+ //交强重复投保
|
|
|
+ String trafficPolicyDTOBenginDateStr = StringSubStringUtils.subjectStringContentByTrafficPolicyDTOBenginDate(responseMsg,":","起保日期");
|
|
|
+ String trafficPolicyDTOEndDateStr = StringSubStringUtils.subjectStringContentByTrafficPolicyDTOBenginDate(responseMsg,":","终保日期");
|
|
|
+ if(!"".equals(trafficPolicyDTOBenginDateStr) && !"".equals(trafficPolicyDTOEndDateStr)){
|
|
|
+ //结束投保日期为开始日期,结束日期为结束投保日期后一年的日期
|
|
|
+ trafficPolicyDTOEndDateStr=trafficPolicyDTOEndDateStr+":00";
|
|
|
+ // 结束日期为59:59:59
|
|
|
+ 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();
|
|
|
+ trafficPolicy.setStartDate(trafficPolicyDTOEndDateStr);
|
|
|
+ trafficPolicy.setEndDate(endDateStr);
|
|
|
+ quotationRequestNew.setTrafficPolicy(trafficPolicy);
|
|
|
+ response = boHaiRequestApiComponent.quotation(quotationRequestNew, parameters.getSysSourceCode());
|
|
|
+ if (!ResponseCode.R_Z00001.getCode().equals(response.getResponseCode())) {
|
|
|
+ throw new SystemException(responseMsg);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ //商业重复投保
|
|
|
+ }else{
|
|
|
+ throw new SystemException(responseMsg);
|
|
|
+ }
|
|
|
+ }
|
|
|
List<BoHaiQuoteAccidentVo> accidentalDrivingVo = quoteVo.getAccidentalDrivingVo();
|
|
|
|
|
|
return getQuoteRespVo(response, quoteInfoVo, vehicleModelsDTO, ptlAgreementAttribution, orderNo, accidentalDrivingVo);
|