wks пре 2 година
родитељ
комит
97f8880267

+ 1 - 0
src/main/java/com/ydtech/modules/order/entity/api/bohai/request/BoHaiBaseRequest.java

@@ -24,6 +24,7 @@ public class BoHaiBaseRequest implements Serializable {
         if (ObjectUtils.isEmpty(this.baseParam)) {
             baseParam = new BaseParamDTO();
         }
+
         baseParam.requestNo = UUID.randomUUID().toString().replace("-", "");
         baseParam.requestTime = LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss.SSS"));
         baseParam.ip = "118.81.124.183";

+ 40 - 30
src/main/java/com/ydtech/modules/order/service/impl/BoHaiOrderApiServiceImpl.java

@@ -111,23 +111,24 @@ public class BoHaiOrderApiServiceImpl implements BoHaiOrderApiService {
         VehicleTypeQueryRequest vehicleTypeQueryRequest = new VehicleTypeQueryRequest(parameters, carInfo.getModelcname(), orderNo);
         //add by hxl   2024-04-03   调用车辆型号查询
         // 调用 车辆查询和车辆确认接口
-        VehicleTypeQueryResponse.DataDTO.VehicleModelsDTO vehicleModelsDTO=new VehicleTypeQueryResponse.DataDTO.VehicleModelsDTO();
-        Map<String,Object> map= getVehicleConfirmationResponse(quoteInfoVo, parameters, carInfo, orderNo,vehicleTypeQueryRequest);
+        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");
+        VehicleConfirmationResponse vehicleConfirmationResponse = (VehicleConfirmationResponse) map.get("vehicleConfirmationResponse");
         if (ResponseCode.R_Z00004.getCode().equals(vehicleConfirmationResponse.getResponseCode())) {
             String responseMsg = vehicleConfirmationResponse.getResponseMsg();
-            if(responseMsg.contains("行业车型编码")){
+            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);
+                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");
+                vehicleConfirmationResponse = (VehicleConfirmationResponse) map_two.get("vehicleConfirmationResponse");
             }
         }
 
@@ -142,15 +143,19 @@ public class BoHaiOrderApiServiceImpl implements BoHaiOrderApiService {
 
         return getQuoteRespVo(response, quoteInfoVo, vehicleModelsDTO, ptlAgreementAttribution, orderNo, accidentalDrivingVo);
     }
+
     /**
-     *  @version 调用车型查询和车辆确认
-     *  @author: hxl
-     *  @Date: 2024/4/3 16:03
-     *  @Description:
+     * @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 {
+    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);
+        VehicleTypeQueryResponse.DataDTO.VehicleModelsDTO vehicleModelsDTO =
+                boHaiRequestApiComponent.vehicleTypeQuery(vehicleTypeQueryRequest, parameters.getSysSourceCode(), carInfo);
         // 3 车辆确认接口
         // 车主信息
         CustomerInfoVo ownerInfo = quoteInfoVo.getOwnerInfo();
@@ -166,14 +171,13 @@ public class BoHaiOrderApiServiceImpl implements BoHaiOrderApiService {
                 orderNo, ownerInfoArea, insuredPersonArea, policyHolderArea);
         VehicleConfirmationResponse vehicleConfirmationResponse = boHaiRequestApiComponent.vehicleConfirmation(vehicleConfirmationReqeust
                 , parameters.getSysSourceCode());
-        Map<String,Object> map=new HashMap<>();
-        map.put("vehicleModelsDTO",vehicleModelsDTO);
-        map.put("vehicleConfirmationResponse",vehicleConfirmationResponse);
+        Map<String, Object> map = new HashMap<>();
+        map.put("vehicleModelsDTO", vehicleModelsDTO);
+        map.put("vehicleConfirmationResponse", vehicleConfirmationResponse);
         return map;
     }
 
 
-
     @Override
     public HttpResult<Object> submitImage(String subOrderNo) throws Exception {
         InsAreaCompany insAreaCompany = insAreaCompanyService.getByIdIsExist(subOrderNo);
@@ -444,14 +448,16 @@ public class BoHaiOrderApiServiceImpl implements BoHaiOrderApiService {
         QuoteRespVo quoteRespVo = new QuoteRespVo();
         // 交强险
         QuotationResponse.DataDTO.TrafficPolicyDTO trafficPolicy = response.getData().getTrafficPolicy();
+
         if (!ObjectUtils.isEmpty(trafficPolicy)) {
             sumPayTax = Double.parseDouble(trafficPolicy.getVehicleTax().getTotalAmount());
             jqPremium = Double.parseDouble(trafficPolicy.getPremium());
             quoteRespVo.setJqApplyNo(trafficPolicy.getApplicationNo());
+            // 交强
+            quoteRespVo.setStartDateJq(trafficPolicy.getStartDate());
+            quoteRespVo.setEndDateJq(trafficPolicy.getEndDate());
         }
-        // 交强
-        quoteRespVo.setStartDateJq(trafficPolicy.getStartDate());
-        quoteRespVo.setEndDateJq(trafficPolicy.getEndDate());
+
         // 商业险
         QuotationResponse.DataDTO.BusinessPolicyDTO businessPolicy = response.getData().getBusinessPolicy();
         List<QuoteKindRespVo> kindList1 = new ArrayList<>();
@@ -528,25 +534,29 @@ public class BoHaiOrderApiServiceImpl implements BoHaiOrderApiService {
         insAreaCompany.setInsOrderNo(busUniqueId);
         // 驾意险
         insAreaCompany.setAccidentInfo(JSON.parseArray(JSON.toJSONString(accidentalDrivingVo)));
+
         // 车船税
-        QuotationResponse.DataDTO.TrafficPolicyDTO.VehicleTaxDTO vehicleTax = response.getData().getTrafficPolicy().getVehicleTax();
-        TaxArrears taxArrears = new TaxArrears("往年欠税", Double.parseDouble(vehicleTax.getOverdueTaxAmount()),
-                Double.parseDouble(vehicleTax.getLateFee()));
+        TaxArrears taxArrears = Optional.ofNullable(response.getData().getTrafficPolicy())
+                .map(QuotationResponse.DataDTO.TrafficPolicyDTO::getVehicleTax)
+                .map(x -> new TaxArrears("往年欠税", Double.parseDouble(x.getOverdueTaxAmount()),
+                        Double.parseDouble(x.getLateFee())))
+                .orElse(new TaxArrears());
+
         List<TaxArrears> taxArrearsList = Collections.singletonList(taxArrears);
         insAreaCompany.setTaxArrears(JSON.parseArray(JSON.toJSONString(taxArrearsList)));
         insAreaCompanyService.insertCompanyAndOrders(insAreaCompany);
         quoteRespVo.setCompanyId(orderId);
         return HttpResult.ok("报价成功", quoteRespVo);
     }
+
     /**
-    * @Description  更新承保状态和支付时间
-    * @Author  hxl
-    * @Date   2024/4/2 11:29
-    * @Param
-    * @Return
-    * @Exception
-    *
-    */
+     * @Description 更新承保状态和支付时间
+     * @Author hxl
+     * @Date 2024/4/2 11:29
+     * @Param
+     * @Return
+     * @Exception
+     */
     @Override
     public void getOrderDetailNew(String subOrderNo) throws Exception {
         InsAreaCompany insAreaCompany = insAreaCompanyService.getByIdIsExist(subOrderNo);