ソースを参照

批量更新订单

wks 1 年間 前
コミット
f73da76365

+ 14 - 0
src/main/java/com/ydtech/modules/order/controller/InsAreaCompanyController.java

@@ -98,4 +98,18 @@ public class InsAreaCompanyController {
         throw new SystemException("订单状态无法恢复");
     }
 
+    @PostMapping("/batchUpdatePendingUnderwritingOrder")
+    @ApiOperation("批量更新订单(待核保状态下)")
+    public HttpResult<String> batchUpdateOrders(@RequestBody List<String> subOrders) {
+        insuranceCompanyPolymerizationService.updatePendingUnderwritingOrder(subOrders);
+        return HttpResult.ok("订单正在更新中,请稍后刷新列表");
+    }
+
+    @PostMapping("/batchUpdateUnderwrittenForPaymentOrder")
+    @ApiOperation("批量更新订单(已核保待缴费下)")
+    public HttpResult<String> updateUnderwrittenForPaymentOrder(@RequestBody List<String> subOrders) {
+        insuranceCompanyPolymerizationService.updateUnderwrittenForPaymentOrder(subOrders);
+        return HttpResult.ok("订单正在更新中,请稍后刷新列表");
+    }
+
 }

+ 15 - 3
src/main/java/com/ydtech/modules/order/service/InsuranceCompanyPolymerizationService.java

@@ -2,6 +2,9 @@ package com.ydtech.modules.order.service;
 
 
 import com.ydtech.modules.order.entity.InsAreaCompany;
+import org.springframework.scheduling.annotation.Async;
+
+import java.util.List;
 
 /**
  * 保险公司聚合
@@ -18,10 +21,19 @@ public interface InsuranceCompanyPolymerizationService {
     boolean cancelOrder(InsAreaCompany insAreaCompany);
 
     /**
-     * 更新订单状态
-     * @param insAreaCompany 子订单信息
+     * 更新订单状态(待核保状态)
+     * @param subOrderNo 子订单列表
+     * @return 是否成功
+     */
+    @Async
+    void updatePendingUnderwritingOrder(List<String> subOrderNo);
+
+    /**
+     * 更新订单状态(已核保待缴费)
+     * @param subOrderNo 子订单列表
      * @return 是否成功
      */
-    boolean updateOrder(InsAreaCompany insAreaCompany);
+    @Async
+    void updateUnderwrittenForPaymentOrder(List<String> subOrderNo);
 
 }

+ 88 - 10
src/main/java/com/ydtech/modules/order/service/impl/InsuranceCompanyPolymerizationServiceImpl.java

@@ -7,11 +7,15 @@ import com.ydtech.modules.protocol.entity.constants.PtlApiType;
 import lombok.RequiredArgsConstructor;
 import org.springframework.stereotype.Service;
 
+import java.util.List;
+
 
 @Service
 @RequiredArgsConstructor
 public class InsuranceCompanyPolymerizationServiceImpl implements InsuranceCompanyPolymerizationService {
 
+    private final InsAreaCompanyService insAreaCompanyService;
+
     private final InsCrawlerOrderService insCrawlerOrderService;
 
     private final ZijinOrderApiService zijinOrderApiService;
@@ -32,39 +36,113 @@ public class InsuranceCompanyPolymerizationServiceImpl implements InsuranceCompa
     public boolean cancelOrder(InsAreaCompany insAreaCompany) {
         Integer apiType = insAreaCompany.getApiType();
 
-        if(PtlApiType.PTL_API_2.getCode() == apiType){
+        if (PtlApiType.PTL_API_2.getCode() == apiType) {
             return insCrawlerOrderService.cancelOrder(insAreaCompany);
         }
 
         String companyId = insAreaCompany.getCompanyId();
         String code = companyId.substring(0, 4);
         // 紫金财险
-        if (InsuranceEnum.ZKIC.getCode().equals(code)){
+        if (InsuranceEnum.ZKIC.getCode().equals(code)) {
             return zijinOrderApiService.cancelOrder(insAreaCompany);
             // 渤海财险
-        }else if (InsuranceEnum.BPIC.getCode().equals(code)){
+        } else if (InsuranceEnum.BPIC.getCode().equals(code)) {
             return boHaiOrderApiService.cancelOrder(insAreaCompany);
             // 大家财险
-        }else if (InsuranceEnum.DJPC.getCode().equals(code)){
+        } else if (InsuranceEnum.DJPC.getCode().equals(code)) {
             return daJiaOrderService.cancelOrder(insAreaCompany);
             // 国任财险
-        }else if(InsuranceEnum.XDCX.getCode().equals(code)){
+        } else if (InsuranceEnum.XDCX.getCode().equals(code)) {
             return guorenOrderApiService.cancelOrder(insAreaCompany);
             // 华泰财险
-        }else if(InsuranceEnum.HTIC.getCode().equals(code)){
+        } else if (InsuranceEnum.HTIC.getCode().equals(code)) {
             return huaTaiOrderApiService.cancelOrder(insAreaCompany);
             // 永诚财险
-        }else if(InsuranceEnum.AICS.getCode().equals(code)){
+        } else if (InsuranceEnum.AICS.getCode().equals(code)) {
             return yongchengOrderApiService.cancelOrder(insAreaCompany);
             // 中煤财险
-        }else if(InsuranceEnum.ZMBX.getCode().equals(code)){
+        } else if (InsuranceEnum.ZMBX.getCode().equals(code)) {
             return zhongMeiOrderApiService.cancelOrder(insAreaCompany);
         }
         return false;
     }
 
     @Override
-    public boolean updateOrder(InsAreaCompany insAreaCompany) {
-        return false;
+    public void updatePendingUnderwritingOrder(List<String> subOrderNo) {
+        subOrderNo.forEach(x -> {
+            InsAreaCompany insAreaCompany = insAreaCompanyService.getByIdIsExist(x);
+            Integer apiType = insAreaCompany.getApiType();
+            if (PtlApiType.PTL_API_2.getCode() == apiType) {
+                insCrawlerOrderService.auditStatusQuery(insAreaCompany.getId());
+            }
+            String companyId = insAreaCompany.getCompanyId();
+            String code = companyId.substring(0, 4);
+            // 紫金财险
+            if (InsuranceEnum.ZKIC.getCode().equals(code)) {
+                zijinOrderApiService.auditStatusQuery(insAreaCompany.getId());
+                // 渤海财险
+            } else if (InsuranceEnum.BPIC.getCode().equals(code)) {
+                try {
+                    boHaiOrderApiService.auditStatusQuery(insAreaCompany.getId());
+                } catch (Exception e) {
+                    throw new RuntimeException(e);
+                }
+                // 大家财险
+            } else if (InsuranceEnum.DJPC.getCode().equals(code)) {
+                daJiaOrderService.verifyPayment(insAreaCompany.getId());
+                // 国任财险
+            } else if (InsuranceEnum.XDCX.getCode().equals(code)) {
+                guorenOrderApiService.insOrderInfo(insAreaCompany.getId());
+                // 华泰财险
+            } else if (InsuranceEnum.HTIC.getCode().equals(code)) {
+                huaTaiOrderApiService.auditStatusQuery(insAreaCompany.getId());
+                // 永诚财险
+            } else if (InsuranceEnum.AICS.getCode().equals(code)) {
+                yongchengOrderApiService.callbackAnOrder(insAreaCompany.getId());
+                // 中煤财险
+            } else if (InsuranceEnum.ZMBX.getCode().equals(code)) {
+                zhongMeiOrderApiService.auditStatusQuery(insAreaCompany.getId());
+            }
+        });
+    }
+
+
+    @Override
+    public void updateUnderwrittenForPaymentOrder(List<String> subOrderNo) {
+        subOrderNo.forEach(x -> {
+            InsAreaCompany insAreaCompany = insAreaCompanyService.getByIdIsExist(x);
+            Integer apiType = insAreaCompany.getApiType();
+            if (PtlApiType.PTL_API_2.getCode() == apiType) {
+                insCrawlerOrderService.verifyPayment(insAreaCompany.getId());
+            }
+            String companyId = insAreaCompany.getCompanyId();
+            String code = companyId.substring(0, 4);
+            // 紫金财险
+            if (InsuranceEnum.ZKIC.getCode().equals(code)) {
+                zijinOrderApiService.getOrderDetail(insAreaCompany.getId());
+                // 渤海财险
+            } else if (InsuranceEnum.BPIC.getCode().equals(code)) {
+                try {
+                    boHaiOrderApiService.getOrderDetail(insAreaCompany.getId());
+                } catch (Exception e) {
+                    throw new RuntimeException(e);
+                }
+                // 大家财险
+            } else if (InsuranceEnum.DJPC.getCode().equals(code)) {
+                daJiaOrderService.verifyPayment(insAreaCompany.getId());
+                // 国任财险
+            } else if (InsuranceEnum.XDCX.getCode().equals(code)) {
+                guorenOrderApiService.insOrderInfo(insAreaCompany.getId());
+                // 华泰财险
+            } else if (InsuranceEnum.HTIC.getCode().equals(code)) {
+                huaTaiOrderApiService.paymentEnquiry(insAreaCompany.getId());
+                // 永诚财险
+            } else if (InsuranceEnum.AICS.getCode().equals(code)) {
+                yongchengOrderApiService.callbackAnOrder(insAreaCompany.getId());
+                // 中煤财险
+            } else if (InsuranceEnum.ZMBX.getCode().equals(code)) {
+                zhongMeiOrderApiService.paymentEnquiry(insAreaCompany.getId());
+            }
+        });
     }
 }