Просмотр исходного кода

修改紫金财险报价车型问题

wks 2 лет назад
Родитель
Сommit
991ee57438

+ 3 - 0
src/main/java/com/ydtech/modules/order/components/zj/ZijinVehicleTypeErrorComponents.java

@@ -72,6 +72,9 @@ public class ZijinVehicleTypeErrorComponents extends ResponseMessageAbstractHand
                 .collect(Collectors.toList()).get(0);
 
         calculatePremiumRequest.modificationOfVehicleType(vehicleModelInfosDTO);
+        calculatePremiumRequest.setOrderId(modelQueryResponse.getOrderId());
+        calculatePremiumRequest.setOrderNo(modelQueryResponse.getOrderNo());
+        calculatePremiumRequest.getVehicleInfo().setIsInvokeJingYou("0");
         return zijinRequestApiComponents.calculatePremium(calculatePremiumRequest, httpHeaders, modelQueryRequest, message);
     }
 

+ 29 - 18
src/main/java/com/ydtech/modules/order/service/impl/ZijinOrderApiServiceImpl.java

@@ -187,24 +187,35 @@ public class ZijinOrderApiServiceImpl implements ZijinOrderApiService {
         String productid = insOrders.getProductid();
 
         SubmitVerifyRequest submitVerifyRequest = new SubmitVerifyRequest(insAreaCompany.getInsOrderNo(), insAreaCompany.getId(), productid, specialAudit.getEngageList());
-        SubmitVerifyResponse submitVerifyResponse = zijinRequestApiComponents.submitVerify(submitVerifyRequest, httpHeaders);
-        SubmitVerifyResponse.SubmitVerifyInfoDTO submitVerifyInfo = submitVerifyResponse.getSubmitVerifyInfo();
-
-        // 2.1 保单号
-        insAreaCompany.setJqpolicyno(submitVerifyInfo.getPolicyNoCI());
-        insAreaCompany.setSypolicyno(submitVerifyInfo.getPolicyNo());
-        // 2.2 投保单号
-        insAreaCompany.setJqapplyno(submitVerifyInfo.getProposalNoCI());
-        insAreaCompany.setSyapplyno(submitVerifyInfo.getProposalNo());
-        insAreaCompany.setOrderstatus(InsOrderStatusEnum.WAIT_PAY.getCode());
-
-        // 3. 聚合支付服务
-        BigDecimal multiply = insAreaCompany.getSumpremium().multiply(new BigDecimal(100));
-        ZbfAggregatePayRequest zbfAggregatePayRequest = new ZbfAggregatePayRequest(String.valueOf(multiply.intValue()), zjConfigureParameters.getAppKey(), insAreaCompany.getId());
-        ZbfAggregatePayResponse zbfAggregatePayResponse = zijinRequestApiComponents.zbfAggregatePay(zbfAggregatePayRequest, httpHeaders);
-        insAreaCompany.setPaymentLink(zbfAggregatePayResponse.getPayUrl());
-        insAreaCompanyService.updateCompanyAndOrders(insAreaCompany);
-        return HttpResult.ok("核保成功");
+        try {
+            SubmitVerifyResponse submitVerifyResponse = zijinRequestApiComponents.submitVerify(submitVerifyRequest, httpHeaders);
+            SubmitVerifyResponse.SubmitVerifyInfoDTO submitVerifyInfo = submitVerifyResponse.getSubmitVerifyInfo();
+            insAreaCompany.setJqpolicyno(submitVerifyInfo.getPolicyNoCI());
+            insAreaCompany.setSypolicyno(submitVerifyInfo.getPolicyNo());
+            // 2.2 投保单号
+            insAreaCompany.setJqapplyno(submitVerifyInfo.getProposalNoCI());
+            insAreaCompany.setSyapplyno(submitVerifyInfo.getProposalNo());
+            insAreaCompany.setOrderstatus(InsOrderStatusEnum.WAIT_PAY.getCode());
+            // 3. 聚合支付服务
+            BigDecimal multiply = insAreaCompany.getSumpremium().multiply(new BigDecimal(100));
+            ZbfAggregatePayRequest zbfAggregatePayRequest = new ZbfAggregatePayRequest(String.valueOf(multiply.intValue()), zjConfigureParameters.getAppKey(), insAreaCompany.getId());
+            ZbfAggregatePayResponse zbfAggregatePayResponse = zijinRequestApiComponents.zbfAggregatePay(zbfAggregatePayRequest, httpHeaders);
+            insAreaCompany.setPaymentLink(zbfAggregatePayResponse.getPayUrl());
+            insAreaCompanyService.updateCompanyAndOrders(insAreaCompany);
+            return HttpResult.ok("核保成功");
+
+        } catch (SystemException systemException) {
+            // 下发修改
+            QueryOrderDetailRequest queryOrderDetailRequest = new QueryOrderDetailRequest(insAreaCompany.getInsOrderNo());
+            QueryOrderStateResponse queryOrderStateResponse = zijinRequestApiComponents.queryOrderDetail(queryOrderDetailRequest, httpHeaders);
+            String uwFlag = queryOrderStateResponse.getUwFlag();
+            if (OrderStatusEnum.O_3.getCode().equals(uwFlag)) {
+                insAreaCompany.setOrderstatus(InsOrderStatusEnum.TO_BACK.getCode());
+                return HttpResult.error(OrderStatusEnum.O_3.getName() + ":" + queryOrderStateResponse.getUwMsg());
+            }
+            throw new SystemException(systemException.getMessage());
+        }
+
     }
 
     @Override