From d1e380d5bc8d6cda7dc26778dd638b3367483ae7 Mon Sep 17 00:00:00 2001
From: zhubaomin <zhubaomin>
Date: 星期五, 11 四月 2025 17:27:30 +0800
Subject: [PATCH] 小程序6种开关阀操作失败时重发一次

---
 pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/util/TimerTaskJob.java |   63 +++++++++++++++++++++++++++++++
 1 files changed, 63 insertions(+), 0 deletions(-)

diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/util/TimerTaskJob.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/util/TimerTaskJob.java
new file mode 100644
index 0000000..8aefc22
--- /dev/null
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/util/TimerTaskJob.java
@@ -0,0 +1,63 @@
+package com.dy.common.util;
+
+import java.util.Timer;
+import java.util.TimerTask;
+
+/**
+ * @Author: liurunyu
+ * @Date: 2024/11/20 17:49
+ * @Description :
+ * 2024-11-20锛�
+ * 姝ゆ娊璞$被浠f浛ThreadJob锛屽師鍥狅細
+ * 鍦╳hile(true){}涓娇鐢═hread.sleep()锛屽彲鑳藉鑷寸殑涓ラ噸鎬ц兘闂锛屼笉鎺ㄨ崘鍦ㄥ惊鐜腑浣跨敤绾跨▼浼戠湢銆�
+ * Java绾跨▼瀹炵幇閲囩敤鍐呮牳绾跨▼瀹炵幇锛岀嚎绋嬬殑浼戠湢鍙婂敜閱掞紙鐘舵�佸垏鎹級闇�鍊熷姪鎿嶄綔绯荤粺杩涜锛岃繖鏄竴涓瀬鍏惰�楁椂鑰楀姏鐨勬搷浣溿��
+ * 鍦ㄧ嚎绋嬩紤鐪犳垨杩愯鏃堕棿杈冮暱鐨勬儏鏅笅锛屽叾瀵规�ц兘鐨勫奖鍝嶈繕涓嶇畻鏄庢樉锛屽洜涓哄绾跨▼鐘舵�佺殑鍒囨崲骞朵笉棰戠箒銆�
+ * 浣嗚嫢绾跨▼浼戠湢鍙婅繍琛岀殑鏃堕棿閮藉緢鐭紙渚嬪姣/绉掞級锛�
+ * 绯荤粺灏嗛绻佺殑瀵圭嚎绋嬬姸鎬佽繘琛屽垏鎹紝瀵艰嚧涓ラ噸鐨勬�ц兘鎹熻�楋紝骞跺鐫�寰幆娆℃暟鐨勯�掑鑰屾斁澶с��
+ */
+public abstract class TimerTaskJob {
+    protected Timer timer;
+
+    protected boolean stop = false ;
+    public void stop(){
+        this.stop = true ;
+        if(this.timer != null){
+            this.timer.cancel();
+        }
+    }
+    public boolean isStop(){
+        return this.stop ;
+    }
+
+    /**
+     *
+     * @param delay
+     * @param interval
+     * @param callback
+     * @throws Exception
+     */
+    public void start(Long delay, Long interval, Callback callback) throws Exception {
+        this.timer = new Timer();
+        this.timer.schedule(new TimerTask() {
+            public void run() {
+                Exception exe = null ;
+                Object obj = null ;
+                try {
+                    obj = execute() ;
+                }catch(Exception e){
+                    e.printStackTrace();
+                    exe = e ;
+                }finally {
+                    if(callback != null){
+                        if(exe != null){
+                            callback.exception(exe);
+                        }else{
+                            callback.call(obj);
+                        }
+                    }
+                }
+            }
+        }, delay , interval);
+    }
+    public abstract Object execute() throws Exception ;
+}

--
Gitblit v1.8.0