Răsfoiți Sursa

华泰对接新建实体

cuixinpeng 2 ani în urmă
părinte
comite
4d9444916e

+ 56 - 37
src/main/java/com/ydtech/modules/order/service/impl/HuaTaiOrderApiServiceImpl.java

@@ -228,20 +228,20 @@ public class HuaTaiOrderApiServiceImpl implements HuaTaiOrderApiService {
 
 
         if("4".equals(totalStatus)){
         if("4".equals(totalStatus)){
             //再调用缴费接口获取缴费链接
             //再调用缴费接口获取缴费链接
-            HuaTaiPaymentUrlRequest huaTaiPaymentUrlRequest = new HuaTaiPaymentUrlRequest(insAreaCompany,huaTaiConfigureParameters);
-            huaTaiPaymentUrlRequest.setHead(new HuaTaiBaseRequestHead(huaTaiConfigureParameters));
-            HuaTaiPaymentUrlResponse paymentUrlResponse = huaTaiRequestApiComponents.getPaymentUrl(huaTaiPaymentUrlRequest, HuaTaiPaymentUrlResponse.class);
-            if(StringUtils.isNotEmpty(paymentUrlResponse.getPayUrl())){
-                insAreaCompany.setPaymentLink(paymentUrlResponse.getPayUrl());
+            String payUrl = getPaymentUrl(insAreaCompany,huaTaiConfigureParameters);
+            if(StringUtils.isNotEmpty(payUrl)){
+                insAreaCompany.setPaymentLink(payUrl);
+                insAreaCompany.setOrderstatus(InsOrderStatusEnum.WAIT_PAY.getCode());
+                insAreaCompanyService.updateCompanyAndOrders(insAreaCompany);
+                return HttpResult.ok("核保成功");
+            }else{
+                insAreaCompany.setOrderstatus(InsOrderStatusEnum.WAIT_AUDIT.getCode());
+                insAreaCompanyService.updateCompanyAndOrders(insAreaCompany);
+                return HttpResult.error("获取支付链接失败");
             }
             }
-            insAreaCompany.setOrderstatus(InsOrderStatusEnum.WAIT_PAY.getCode());
-            insAreaCompanyService.updateCompanyAndOrders(insAreaCompany);
-            return HttpResult.ok("核保成功");
         }else if("1".equals(totalStatus)){
         }else if("1".equals(totalStatus)){
             //再次调用提交核保接口
             //再次调用提交核保接口
-            HuaTaiSubmitStatusQueryRequest huaTaiSubmitStatusQueryRequest = new HuaTaiSubmitStatusQueryRequest(insAreaCompany,huaTaiConfigureParameters,"1");
-            huaTaiSubmitStatusQueryRequest.setHead(new HuaTaiBaseRequestHead(huaTaiConfigureParameters));
-            HuaTaiSubmitStatusQueryResponse submitStatusQueryResponse = huaTaiRequestApiComponents.submitStatus(huaTaiSubmitStatusQueryRequest, HuaTaiSubmitStatusQueryResponse.class);
+            HuaTaiSubmitStatusQueryResponse submitStatusQueryResponse = submitStatus(insAreaCompany,huaTaiConfigureParameters,"1");
             //根据核保返回信息进行更新
             //根据核保返回信息进行更新
             insAreaCompany.setOrderstatus(InsOrderStatusEnum.WAIT_AUDIT.getCode());
             insAreaCompany.setOrderstatus(InsOrderStatusEnum.WAIT_AUDIT.getCode());
             insAreaCompanyService.updateCompanyAndOrders(insAreaCompany);
             insAreaCompanyService.updateCompanyAndOrders(insAreaCompany);
@@ -285,33 +285,16 @@ public class HuaTaiOrderApiServiceImpl implements HuaTaiOrderApiService {
     }
     }
 
 
 
 
- /*   *//**
-     * 缴费查询
-     * @param companyId 子订单号
-     * @return
-     *//*
-    @Override
-    public HttpResult<Object> getPaymentUrl(String companyId) {
-        InsAreaCompany insAreaCompany = insAreaCompanyService.getByInsOrderNo(companyId);
-
-        // 1. 协议id获取配置实体
-        HuaTaiConfigureParameters huaTaiConfigureParameters = configureParametersComponents.toEntity(HuaTaiConfigureParameters.class, insAreaCompany.getAgreementId());
-
-        if (insAreaCompany.getOrderstatus().equals(InsOrderStatusEnum.ACCEPT_INSURANCE.getCode())) {
-            return HttpResult.ok(InsOrderStatusEnum.ACCEPT_INSURANCE.getDesc());
-        }
-
-        // 2. 组装请求体  调用缴费接口获取缴费链接
+    private String getPaymentUrl(InsAreaCompany insAreaCompany ,HuaTaiConfigureParameters huaTaiConfigureParameters) {
+        String payUrl = "";
         HuaTaiPaymentUrlRequest huaTaiPaymentUrlRequest = new HuaTaiPaymentUrlRequest(insAreaCompany,huaTaiConfigureParameters);
         HuaTaiPaymentUrlRequest huaTaiPaymentUrlRequest = new HuaTaiPaymentUrlRequest(insAreaCompany,huaTaiConfigureParameters);
         huaTaiPaymentUrlRequest.setHead(new HuaTaiBaseRequestHead(huaTaiConfigureParameters));
         huaTaiPaymentUrlRequest.setHead(new HuaTaiBaseRequestHead(huaTaiConfigureParameters));
         HuaTaiPaymentUrlResponse paymentUrlResponse = huaTaiRequestApiComponents.getPaymentUrl(huaTaiPaymentUrlRequest, HuaTaiPaymentUrlResponse.class);
         HuaTaiPaymentUrlResponse paymentUrlResponse = huaTaiRequestApiComponents.getPaymentUrl(huaTaiPaymentUrlRequest, HuaTaiPaymentUrlResponse.class);
         if(StringUtils.isNotEmpty(paymentUrlResponse.getPayUrl())){
         if(StringUtils.isNotEmpty(paymentUrlResponse.getPayUrl())){
-            insAreaCompany.setPaymentLink(paymentUrlResponse.getPayUrl());
+            payUrl = paymentUrlResponse.getPayUrl();
         }
         }
-        insAreaCompany.setOrderstatus(InsOrderStatusEnum.WAIT_PAY.getCode());
-        insAreaCompanyService.updateCompanyAndOrders(insAreaCompany);
-        return HttpResult.ok("核保成功");
-    }*/
+        return payUrl;
+    }
 
 
     /**
     /**
      *电子保单下载接口
      *电子保单下载接口
@@ -517,10 +500,33 @@ public class HuaTaiOrderApiServiceImpl implements HuaTaiOrderApiService {
         }
         }
 
 
         // 2. 组装请求体
         // 2. 组装请求体
-        HuaTaiSubmitStatusQueryRequest submitStatusQueryRequest = new HuaTaiSubmitStatusQueryRequest();
-        submitStatusQueryRequest.setHead(new HuaTaiBaseRequestHead(huaTaiConfigureParameters));
-
-        HuaTaiSubmitStatusQueryResponse submitStatusQueryResponse = huaTaiRequestApiComponents.submitStatus(submitStatusQueryRequest, HuaTaiSubmitStatusQueryResponse.class);
+        boolean haveJQFlag = false;
+        boolean haveSYFlag = false;
+        String jqStatus = "";
+        String syStatus = "";
+        StringBuffer jqNotion = new StringBuffer();
+        StringBuffer syNotion = new StringBuffer();
+        HuaTaiSubmitStatusQueryResponse submitStatusQueryResponse = submitStatus(insAreaCompany,huaTaiConfigureParameters,"2");
+        for(HuaTaiSubmitStatusQueryResponse.AppliResult appliResult:submitStatusQueryResponse.getAppliResult()){
+            if(StringUtils.isNotEmpty(insAreaCompany.getJqapplyno())){
+                haveJQFlag = true;
+                if(insAreaCompany.getJqapplyno().equals(appliResult.getContractNo())){
+                    jqStatus = appliResult.getUnderWriteFlag();
+                    for(HuaTaiSubmitStatusQueryResponse.Notion notion:appliResult.getNotion()){
+                        jqNotion.append(notion.getUWNotion()+",");
+                    }
+                }
+            }
+            if(StringUtils.isNotEmpty(insAreaCompany.getSyapplyno()) && insAreaCompany.getSyapplyno().equals(appliResult.getContractNo())){
+                haveSYFlag = true;
+                if(insAreaCompany.getJqapplyno().equals(appliResult.getContractNo())){
+                    syStatus = appliResult.getUnderWriteFlag();
+                    for(HuaTaiSubmitStatusQueryResponse.Notion notion:appliResult.getNotion()){
+                        syNotion.append(notion.getUWNotion()+",");
+                    }
+                }
+            }
+        }
         String underWriteInd="";
         String underWriteInd="";
         // 3. 通过返回核保状态修改状态
         // 3. 通过返回核保状态修改状态
         if ("核保通过".equals(underWriteInd) || "自动核保".equals(underWriteInd)) {
         if ("核保通过".equals(underWriteInd) || "自动核保".equals(underWriteInd)) {
@@ -537,6 +543,19 @@ public class HuaTaiOrderApiServiceImpl implements HuaTaiOrderApiService {
         }
         }
     }
     }
 
 
+    /**
+     * 提交核保或核保查询接口
+     * @param insAreaCompany
+     * @param huaTaiConfigureParameters
+     * @param operateType 1为提交 2为查询
+     * @return
+     */
+    private HuaTaiSubmitStatusQueryResponse submitStatus(InsAreaCompany insAreaCompany,HuaTaiConfigureParameters huaTaiConfigureParameters,String operateType){
+        HuaTaiSubmitStatusQueryRequest huaTaiSubmitStatusQueryRequest = new HuaTaiSubmitStatusQueryRequest(insAreaCompany,huaTaiConfigureParameters,operateType);
+        huaTaiSubmitStatusQueryRequest.setHead(new HuaTaiBaseRequestHead(huaTaiConfigureParameters));
+        HuaTaiSubmitStatusQueryResponse submitStatusQueryResponse = huaTaiRequestApiComponents.submitStatus(huaTaiSubmitStatusQueryRequest, HuaTaiSubmitStatusQueryResponse.class);
+        return submitStatusQueryResponse;
+    }
 }
 }