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

宁波银行-回单轮询+下载,根据下载状态决定是否执行延迟线程

ZhangWenQiang 4 лет назад
Родитель
Сommit
5ffb1b8cc4

+ 6 - 1
happy-cloud-wisdom/happy-cloud-wisdom-biz/src/main/java/org/jeecg/common/nbcbutils/PayNbcbConst.java

@@ -91,10 +91,15 @@ public class PayNbcbConst {
     public static String PAY_STATUS_FAIL = "-3,-2,2";
 
     /**
-     * 交易状态-下载标志
+     * 交易状态-交易成功-下载标志
      */
     public static String TRANSSTATE = "0";
 
+    /**
+     * 交易状态-待查询-下载标志
+     */
+    public static String TRANSSTATE_WAITTING = "2";
+
     public static String POST = "POST";
 
     public static String GET = "GET";

+ 6 - 1
happy-cloud-wisdom/happy-cloud-wisdom-biz/src/main/java/org/jeecg/modules/hlwpayment/task/PaymentNbcbDownloadJob.java

@@ -189,11 +189,16 @@ public class PaymentNbcbDownloadJob {
                     }
                     //处理下载并上传至oss
                     uploadOss(fileurl, hlwPayment);
-                } else {
+                } else if (PayNbcbConst.TRANSSTATE_WAITTING.equals(transState)) {
                     //配置延迟任务线程
                     DownloadNbcbTask downloadTask = new DownloadNbcbTask(hlwPayment, downloadNo, hlwSubcontractor, scheduledThreadPoolExecutor);
                     //只执行一次(延迟时间:120s)
                     scheduledThreadPoolExecutor.schedule(downloadTask, 120, TimeUnit.SECONDS);
+                } else {
+                    //关闭线程池
+                    if (scheduledThreadPoolExecutor != null) {
+                        scheduledThreadPoolExecutor.shutdown();
+                    }
                 }
             }
         } else {