wks hace 2 años
padre
commit
d0e96e7e42

+ 43 - 32
src/main/java/com/ydtech/modules/order/service/impl/BoHaiOrderApiServiceImpl.java

@@ -130,7 +130,7 @@ public class BoHaiOrderApiServiceImpl implements BoHaiOrderApiService {
                         vehicleTypeQueryRequest);
                 vehicleModelsDTO = (VehicleTypeQueryResponse.DataDTO.VehicleModelsDTO) map_two.get("vehicleModelsDTO");
                 vehicleConfirmationResponse = (VehicleConfirmationResponse) map_two.get("vehicleConfirmationResponse");
-            }else{
+            } else {
                 throw new SystemException(responseMsg);
             }
         }
@@ -141,22 +141,26 @@ 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());
-        //商业险重复投保  重复投保保单信息 :保单号:314042303060007485车牌号:晋A881SR车架号:LMGAC1381K1535834发动机号:F699317保险公司代码:YAIC签单日期:20230414起保日期:202305030000终保日期:202405030000险别:机动车第三者责任保险,附加医保外用药责任险(机动车第三者责任保险)
-        response = getQuotationResponse(response,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  会发生重复投保   算费微服务返回报错信息_保信返回错误信息:
-        // 平台返回错误信息号牌号码“晋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;地区 山西。
         //重新赋值交强的投保开始日期
         if (ResponseCode.R_Z00004.getCode().equals(response.getResponseCode())) {
             String responseMsg = response.getResponseMsg();
-            if(responseMsg.contains("发生重复投保")){
+            if (responseMsg.contains("发生重复投保")) {
                 //交强重复投保
-                String trafficPolicyDTOBenginDateStr = StringSubStringUtils.subjectStringContentByTrafficPolicyDTOBenginDate(responseMsg,":","起保日期");
-                String trafficPolicyDTOEndDateStr = StringSubStringUtils.subjectStringContentByTrafficPolicyDTOBenginDate(responseMsg,":","终保日期");
-                if(!StringUtils.isEmpty(trafficPolicyDTOBenginDateStr) && !StringUtils.isEmpty(trafficPolicyDTOEndDateStr)){
+                String trafficPolicyDTOBenginDateStr = StringSubStringUtils.subjectStringContentByTrafficPolicyDTOBenginDate(responseMsg,
+                        ":", "起保日期");
+                String trafficPolicyDTOEndDateStr = StringSubStringUtils.subjectStringContentByTrafficPolicyDTOBenginDate(responseMsg,
+                        ":", "终保日期");
+                if (!StringUtils.isEmpty(trafficPolicyDTOBenginDateStr) && !StringUtils.isEmpty(trafficPolicyDTOEndDateStr)) {
                     //结束投保日期为开始日期,结束日期为结束投保日期后一年的日期
-                    trafficPolicyDTOEndDateStr=trafficPolicyDTOEndDateStr+":00";
+                    trafficPolicyDTOEndDateStr = trafficPolicyDTOEndDateStr + ":00";
                     // 结束日期为59:59:59
                     String endDateStr = DateUtil_N.getNextYearDateStr(trafficPolicyDTOEndDateStr);
                     QuotationRequest.TrafficPolicyDTO trafficPolicy = quotationRequest.getTrafficPolicy();
@@ -165,17 +169,19 @@ public class BoHaiOrderApiServiceImpl implements BoHaiOrderApiService {
                     quotationRequest.setTrafficPolicy(trafficPolicy);
                     response = boHaiRequestApiComponent.quotation(quotationRequest, parameters.getSysSourceCode());
                     // 判断是否商业险重复投保
-                    response = getQuotationResponse(response,quotationRequest,parameters.getSysSourceCode());
+                    response = getQuotationResponse(response, quotationRequest, parameters.getSysSourceCode());
 
                     if (!ResponseCode.R_Z00001.getCode().equals(response.getResponseCode())) {
                         throw new SystemException(response.getResponseMsg());
                     }
+                } else {
+                    throw new SystemException(responseMsg);
                 }
                 // add by hxl  2024-04-07  报价接口报错  算费微服务返回报错信息_保信返回错误信息:录入的校验码有误
                 // 需要调用 获取交管查询校验码接口   传入到报价参数中  暂未复现不处理 注释掉
-            }else if(responseMsg.contains("录入的校验码有误")){
+            } else if (responseMsg.contains("录入的校验码有误")) {
                 //response = getQuotationResponseNew(quoteInfoVo, quoteVo, parameters, orderNo, carInfo, currentValue, response);
-            }else{
+            } else {
                 throw new SystemException(responseMsg);
             }
         }
@@ -183,22 +189,27 @@ public class BoHaiOrderApiServiceImpl implements BoHaiOrderApiService {
 
         return getQuoteRespVo(response, quoteInfoVo, vehicleModelsDTO, ptlAgreementAttribution, orderNo, accidentalDrivingVo);
     }
+
     /**
-     *  @version  报价传递获取交管查询校验码 报错  未知异常,请联系管理员
-     *  @author: hxl
-     *  @Date: 2024/4/7 16:50
-     *  @Description:
+     * @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())){
+    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");
+            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());
@@ -210,20 +221,20 @@ public class BoHaiOrderApiServiceImpl implements BoHaiOrderApiService {
     }
 
     /**
-     *  @version  商业险发生重复投保
-     *  @author: hxl
-     *  @Date: 2024/4/7 16:07
-     *  @Description:
+     * @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){
+    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("重复投保")){
+            if (errorMsg.contains("重复投保")) {
                 //重新给商业险的开始和结束时间赋值赋值重新填报
-                String businessPolicyEndDateStr = StringSubStringUtils.subjectStringContentByBusinessPolicyEndDate(errorMsg,"终保日期:");
-                if(!"".equals(businessPolicyEndDateStr) && !"".equals(businessPolicyEndDateStr)){
+                String businessPolicyEndDateStr = StringSubStringUtils.subjectStringContentByBusinessPolicyEndDate(errorMsg, "终保日期:");
+                if (!"".equals(businessPolicyEndDateStr) && !"".equals(businessPolicyEndDateStr)) {
                     //结束投保日期为开始日期,结束日期为结束投保日期后一年的日期
-                    businessPolicyEndDateStr=businessPolicyEndDateStr+"00";
+                    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);