Przeglądaj źródła

Merge remote-tracking branch 'origin/master'

wks 9 miesięcy temu
rodzic
commit
8df71154ac

+ 3 - 0
commons/src/main/java/com/jzg/commons/entity/quote/vo/CarInfoVo.java

@@ -196,6 +196,9 @@ public class CarInfoVo implements Serializable {
     @Schema(description = "商业险过户")
     private boolean biTransfer;
 
+    @Schema(description = "是否二手车")
+    private boolean secondHandCar;
+
     /**
      * 是否贷款车 true 贷款车
      */

+ 35 - 17
tenant/insurance/quotation-bohai/src/main/java/com/jzg/quotation/bohai/api/service/impl/BoHaiApiRequestImpl.java

@@ -33,6 +33,7 @@ import org.springframework.beans.factory.annotation.Autowired;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
+import java.util.Optional;
 import java.util.stream.Collectors;
 
 /**
@@ -115,7 +116,7 @@ public class BoHaiApiRequestImpl implements BoHaiApiRequest {
         OrderBase order = quoteVo.getOrder();
         AttributionInformationVo attributionInformationVo = order.getAttributionInformationVo();
         //配置信息
-        String url = getApiUrl(order.getInsuranceCompanyId());
+        String url = getApiUrl(order.getInsuranceCompanyCode());
         BoHaiConfigureParameters parameters = ConfigureParametersConversion.conversionEntity(BoHaiConfigureParameters.class, attributionInformationVo.getConfigInfo());
         // 生成订单号
         GenerateOrderNoRequest generateOrderNoRequest = new GenerateOrderNoRequest(parameters);
@@ -216,14 +217,19 @@ public class BoHaiApiRequestImpl implements BoHaiApiRequest {
             } else if ("A0".equals(jqStatus) || "A0".equals(syStatus)) {
                 // 自动核保成功
                 underwritingResultsVo.setUnderwritingStatus(InsOrderStatusEnum.PAY_PENDING);
-                String jq = underwritingResponse.getData().getTrafficPolicy().getApplicationNo(); // 交强险投保单号
-                String sy = underwritingResponse.getData().getBusinessPolicy().getApplicationNo(); // 商业险投保单号
-                underwritingResultsVo.setJqApplyNo(jq);
-                underwritingResultsVo.setSyApplyNo(sy);
+                if (underwritingResponse.getData().getTrafficPolicy() != null) {
+                    String jq = underwritingResponse.getData().getTrafficPolicy().getApplicationNo(); // 交强险投保单号
+                    underwritingResultsVo.setJqApplyNo(jq);
+                }
+                if (underwritingResponse.getData().getBusinessPolicy() != null) {
+                    String sy = underwritingResponse.getData().getBusinessPolicy().getApplicationNo(); // 商业险投保单号
+                    underwritingResultsVo.setSyApplyNo(sy);
+                }
                 // 获取缴费地址
                 PaymentLinkVo paymentLinkVo = new PaymentLinkVo();
                 paymentLinkVo.setOrder(underwritingVo.getOrder());
-                getPaymentLink(paymentLinkVo);
+                PaymentLinkResultsVo paymentLinkResultsVo = getPaymentLink(paymentLinkVo);
+                underwritingResultsVo.setPaymentLink(paymentLinkResultsVo.getPaymentLink());
                 // 如果有驾意险 获取驾意险投保单号
                 if (underwritingResponse.getData().getCasualtyPolicies().size() > 0) {
                     String jyApplyNo = underwritingResponse.getData().getCasualtyPolicies().get(0).getApplicationNo(); // 驾意险投保单号
@@ -317,12 +323,18 @@ public class BoHaiApiRequestImpl implements BoHaiApiRequest {
         List<StatusDocumentsResponse.DataDTO.DocumentListDTO> documentList = getDocumentListDTO(orderStatusVo,url);
         OrderStatusResultVo orderStatusResultVo = new OrderStatusResultVo();
         List<StatusDocumentsResponse.DataDTO.DocumentListDTO> documentListDTOS =
-                documentList.stream().filter(x -> ResultCode.RC_A0.getCode().equals(x.getStatus())).collect(Collectors.toList());
+                documentList.stream().filter(x -> ResultCode.RC_A0.getCode().equals(x.getStatus())).toList();
         documentList = documentList.stream().filter(doc -> !doc.getInsuranceType().equals("2")).collect(Collectors.toList());
-        StatusDocumentsResponse.DataDTO.DocumentListDTO jqDocumentListDTO = (StatusDocumentsResponse.DataDTO.DocumentListDTO) documentList.stream().filter(doc -> doc.getInsuranceType().equals("1"));
-        StatusDocumentsResponse.DataDTO.DocumentListDTO syDocumentListDTO = (StatusDocumentsResponse.DataDTO.DocumentListDTO) documentList.stream().filter(doc -> doc.getInsuranceType().equals("2"));
-        String jqStatus = jqDocumentListDTO.getStatus();
-        String syStatus = syDocumentListDTO.getStatus();
+        Optional<StatusDocumentsResponse.DataDTO.DocumentListDTO> jqDocOpt = documentList.stream()
+                .filter(doc -> "1".equals(doc.getInsuranceType()))
+                .findFirst();
+        Optional<StatusDocumentsResponse.DataDTO.DocumentListDTO> syDocOpt = documentList.stream()
+                .filter(doc -> "2".equals(doc.getInsuranceType()))
+                .findFirst();
+        String jqStatus = jqDocOpt.map(StatusDocumentsResponse.DataDTO.DocumentListDTO::getStatus)
+                .orElse("");
+        String syStatus = syDocOpt.map(StatusDocumentsResponse.DataDTO.DocumentListDTO::getStatus)
+                .orElse("");
         // 核保通过
         if (jqStatus.equals(ResultCode.RC_A0.getCode()) || syStatus.equals(ResultCode.RC_A0.getCode())) {
             orderStatusResultVo.setOrderStatus(InsOrderStatusEnum.PAY_PENDING);
@@ -338,12 +350,18 @@ public class BoHaiApiRequestImpl implements BoHaiApiRequest {
             // 核保失败
             orderStatusResultVo.setOrderStatus(InsOrderStatusEnum.AUDIT_FAIL);
             StringBuilder sb = new StringBuilder();
-            if (null != jqDocumentListDTO.getAuditOpinion()) {
-                sb.append(String.format("交强险提示信息:s%", jqDocumentListDTO.getAuditOpinion()));
-            }
-            if (null != syDocumentListDTO.getAuditOpinion()) {
-                sb.append(String.format("商业险提示信息:s%", syDocumentListDTO.getAuditOpinion()));
-            }
+            jqDocOpt.ifPresent(doc -> {
+                String auditOpinion = doc.getAuditOpinion();
+                if (auditOpinion != null && !auditOpinion.isEmpty()) {
+                    sb.append(String.format("交强险提示信息:%s", auditOpinion));
+                }
+            });
+            syDocOpt.ifPresent(doc -> {
+                String auditOpinion = doc.getAuditOpinion();
+                if (auditOpinion != null && !auditOpinion.isEmpty()) {
+                    sb.append(String.format("商业险提示信息:%s", auditOpinion));
+                }
+            });
             orderStatusResultVo.setErrorMsg(sb.toString());
             // 已承保
         } else if (jqStatus.equals(ResultCode.RC_B5.getCode()) || syStatus.equals(ResultCode.RC_B5.getCode())) {

+ 1 - 0
tenant/insurance/quotation-guoren/src/main/java/com/jzg/quotation/guoren/api/entity/Request/CarPriceRequest.java

@@ -164,6 +164,7 @@ public class CarPriceRequest {
                 prpTitemCar.setCarKindCode(CarKindCode.H3.getCode());
             }
         }
+        prpTitemCar.setCarKindCode(cimodelclass);
 
         prpTitemCar.setMaincarKindCode(categoriesOfVehicles.getCode());
 

+ 1 - 1
tenant/insurance/quotation-guoren/src/main/java/com/jzg/quotation/guoren/api/service/Impl/GuoRenApiRequestImpl.java

@@ -99,7 +99,7 @@ public class GuoRenApiRequestImpl implements GuoRenApiRequest {
     public QuoteResultsVo quote(QuoteVo quoteVo) throws JsonProcessingException {
         OrderBase orderBase = quoteVo.getOrder();
         //配置信息
-        String url = getApiUrl(orderBase.getInsuranceCompanyId());
+        String url = getApiUrl(orderBase.getInsuranceCompanyCode());
         GuoRenConfigureParameters parameters = ConfigureParametersConversion.conversionEntity(GuoRenConfigureParameters.class, orderBase.getAttributionInformationVo().getConfigInfo());
         CarInfoVo carInfoVo = quoteVo.getCarInfoVo();
         //vin码查询

+ 3 - 2
tenant/insurance/quotation-summary/src/main/java/com/jzg/quotation/summary/service/impl/InsOrdersCarInfoServiceImpl.java

@@ -118,8 +118,9 @@ public class InsOrdersCarInfoServiceImpl extends ServiceImpl<InsOrdersCarInfoMap
         insOrdersCarInfo.setLicenseKindCode(carInfoVo.getLicenseKindCode());
         insOrdersCarInfo.setRegisterDate(LocalDate.parse(carInfoVo.getRegisterDate(),formatter).atStartOfDay());
         insOrdersCarInfo.setIssueDate(LocalDate.parse(carInfoVo.getIssueDate(),formatter).atStartOfDay());
-        insOrdersCarInfo.setTransfer(Integer.parseInt(carInfoVo.isTransfer() ? "1" : "0"));
-        if (insOrdersCarInfo.getTransfer() == 1) {
+        boolean isTransfer = carInfoVo.isTransfer();
+        insOrdersCarInfo.setTransfer(isTransfer ? 1 : 0);
+        if (isTransfer) {
             insOrdersCarInfo.setTransferDate(LocalDate.parse(carInfoVo.getTransferDate(),formatter).atStartOfDay());
         } else {
             insOrdersCarInfo.setTransferDate(null);