From ab2b8ef5df5edf24cf158dbcfc1a43b0629d644e Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@163.com>
Date: 星期二, 07 七月 2020 13:02:14 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/task/ReturnT.java                 |   65 ++++++++++++++++
 /dev/null                                                   |   35 --------
 src/main/java/com/zy/asrs/task/AbstractHandler.java         |   14 +--
 src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java |    9 +-
 src/main/java/com/zy/asrs/task/WorkMastScheduler.java       |   21 +++++
 src/main/java/com/zy/asrs/task/AsrsException.java           |   16 ++++
 src/main/java/com/zy/asrs/task/WorkLogScheduler.java        |   29 +++++++
 src/main/java/com/zy/asrs/task/handler/WorkLogHandler.java  |   23 ++++-
 src/main/java/com/zy/asrs/task/WcsDispatcher.java           |   20 +---
 9 files changed, 162 insertions(+), 70 deletions(-)

diff --git a/src/main/java/com/zy/asrs/task/AbstractHandler.java b/src/main/java/com/zy/asrs/task/AbstractHandler.java
index 7dd306c..2e8383a 100644
--- a/src/main/java/com/zy/asrs/task/AbstractHandler.java
+++ b/src/main/java/com/zy/asrs/task/AbstractHandler.java
@@ -1,21 +1,17 @@
 package com.zy.asrs.task;
 
-import com.core.exception.CoolException;
-
 /**
  * Created by vincent on 2020/7/4
  */
-public abstract class AbstractHandler {
+public abstract class AbstractHandler<T> {
 
-    public void run(){
-        boolean start = start();
-        System.out.println(start);
-    }
+    public final ReturnT<T> SUCCESS = new ReturnT<>(200, null);
+    public final ReturnT<T> FAIL = new ReturnT<>(500, null);
 
-    protected abstract boolean start();
+    protected abstract ReturnT<T> start();
 
     protected void exceptionHandle(String errorMsg){
-        throw new CoolException("231");
+        throw new AsrsException(errorMsg);
     }
 
 }
diff --git a/src/main/java/com/zy/asrs/task/AsrsException.java b/src/main/java/com/zy/asrs/task/AsrsException.java
new file mode 100644
index 0000000..d90d95a
--- /dev/null
+++ b/src/main/java/com/zy/asrs/task/AsrsException.java
@@ -0,0 +1,16 @@
+package com.zy.asrs.task;
+
+/**
+ * Created by vincent on 2020/7/7
+ */
+public class AsrsException extends RuntimeException {
+
+    public AsrsException(Throwable e) {
+        super(e);
+    }
+
+    public AsrsException(String message) {
+        super(message);
+    }
+
+}
diff --git a/src/main/java/com/zy/asrs/task/ReturnT.java b/src/main/java/com/zy/asrs/task/ReturnT.java
new file mode 100644
index 0000000..18e5ff9
--- /dev/null
+++ b/src/main/java/com/zy/asrs/task/ReturnT.java
@@ -0,0 +1,65 @@
+package com.zy.asrs.task;
+
+import java.io.Serializable;
+
+/**
+ * Created by vincent on 2020/7/7
+ */
+public class ReturnT<T> implements Serializable {
+
+    public static final long serialVersionUID = 42L;
+    public static final int SUCCESS_CODE = 200;
+    public static final int FAIL_CODE = 500;
+    private int code;
+    private String msg;
+    private T content;
+
+    public ReturnT() {
+    }
+
+    public ReturnT(int code, String msg) {
+        this.code = code;
+        this.msg = msg;
+    }
+
+    public ReturnT(T content) {
+        this.code = 200;
+        this.content = content;
+    }
+
+    public boolean isSuccess(){
+        return this.code == 200;
+    }
+
+    public int getCode() {
+        return this.code;
+    }
+
+    public ReturnT<T> setCode(int code) {
+        this.code = code;
+        return this;
+    }
+
+    public String getMsg() {
+        return this.msg;
+    }
+
+    public ReturnT<T> setMsg(String msg) {
+        this.msg = msg;
+        return this;
+    }
+
+    public T getContent() {
+        return this.content;
+    }
+
+    public ReturnT<T> setContent(T content) {
+        this.content = content;
+        return this;
+    }
+
+    public String toString() {
+        return "ReturnT [code=" + this.code + ", msg=" + this.msg + ", content=" + this.content + "]";
+    }
+
+}
diff --git a/src/main/java/com/zy/asrs/task/TestScheduler.java b/src/main/java/com/zy/asrs/task/TestScheduler.java
deleted file mode 100644
index 3b0147a..0000000
--- a/src/main/java/com/zy/asrs/task/TestScheduler.java
+++ /dev/null
@@ -1,35 +0,0 @@
-package com.zy.asrs.task;
-
-import com.core.common.DateUtils;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.scheduling.annotation.Async;
-import org.springframework.scheduling.annotation.Scheduled;
-
-import java.util.Date;
-
-/**
- * Created by vincent on 2020/6/30
- */
-//@Component
-public class TestScheduler {
-
-    private static final Logger logger = LoggerFactory.getLogger(TestScheduler.class);
-
-    @Scheduled(cron = "0/3 * * * * ? ")
-    @Async
-    public void test() throws InterruptedException {
-        while (true) {
-            //妯℃嫙鑰楁椂浠诲姟锛岄樆濉�10s
-            Thread.sleep(10000);
-            break;
-        }
-    }
-
-    @Scheduled(cron = "0/3 * * * * ? ")
-    @Async
-    public void test1() throws InterruptedException {
-        System.out.println(DateUtils.convert(new Date()));
-    }
-
-}
diff --git a/src/main/java/com/zy/asrs/task/WcsDispatcher.java b/src/main/java/com/zy/asrs/task/WcsDispatcher.java
index 60cf51c..ba9504f 100644
--- a/src/main/java/com/zy/asrs/task/WcsDispatcher.java
+++ b/src/main/java/com/zy/asrs/task/WcsDispatcher.java
@@ -2,21 +2,21 @@
 
 import com.zy.asrs.task.handler.WorkLogHandler;
 import com.zy.asrs.task.handler.WorkMastHandler;
-import com.zy.system.entity.Config;
 import com.zy.system.service.ConfigService;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Component;
 
 import javax.annotation.PostConstruct;
 import javax.annotation.PreDestroy;
 
 /**
+ * 鍗曠嚎绋嬫ā寮�  锛� 宸插純鐢� )
  * 浠诲姟涓績璋冨害鍣�
  * Created by vincent on 2020/7/4
  */
-@Component
+//@Component
+@Deprecated
 public class WcsDispatcher {
 
     private static final Logger log = LoggerFactory.getLogger(WcsDispatcher.class);
@@ -36,19 +36,9 @@
                 try {
                     Thread.sleep(3000);
 
-//                    workMastHandler.start();
+                    workMastHandler.start();
 
-                    if(!workLogHandler.start()) {
-                        Config config = new Config(
-                                "name",    // 鍚嶇О[闈炵┖]
-                                "code",    // 缂栫爜[闈炵┖]
-                                "val",    // 瀵瑰簲鍊糩闈炵┖]
-                                (short)1,    // 绫诲瀷[闈炵┖]
-                                (short)1    // 鐘舵�乕闈炵┖]
-                        );
-                        boolean insert = configService.insert(config);
-                        System.out.println(insert);
-                    }
+                    workLogHandler.start();
 
                 } catch (Exception e) {
                     log.error("Exception", e);
diff --git a/src/main/java/com/zy/asrs/task/WorkLogScheduler.java b/src/main/java/com/zy/asrs/task/WorkLogScheduler.java
new file mode 100644
index 0000000..ac0033c
--- /dev/null
+++ b/src/main/java/com/zy/asrs/task/WorkLogScheduler.java
@@ -0,0 +1,29 @@
+package com.zy.asrs.task;
+
+import com.zy.asrs.task.handler.WorkLogHandler;
+import com.zy.system.entity.Config;
+import com.zy.system.service.ConfigService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.scheduling.annotation.Scheduled;
+import org.springframework.stereotype.Component;
+
+/**
+ * Created by vincent on 2020/7/7
+ */
+@Component
+public class WorkLogScheduler {
+
+    @Autowired
+    private WorkLogHandler workLogHandler;
+    @Autowired
+    private ConfigService configService;
+
+    @Scheduled(cron = "0/3 * * * * ? ")
+    private void execute(){
+        ReturnT<Config> result = workLogHandler.start();
+        if (!result.isSuccess()) {
+            configService.insert(result.getContent());
+        }
+    }
+
+}
diff --git a/src/main/java/com/zy/asrs/task/WorkMastScheduler.java b/src/main/java/com/zy/asrs/task/WorkMastScheduler.java
new file mode 100644
index 0000000..67a2abb
--- /dev/null
+++ b/src/main/java/com/zy/asrs/task/WorkMastScheduler.java
@@ -0,0 +1,21 @@
+package com.zy.asrs.task;
+
+import com.zy.asrs.task.handler.WorkMastHandler;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.scheduling.annotation.Scheduled;
+
+/**
+ * Created by vincent on 2020/7/7
+ */
+//@Component
+public class WorkMastScheduler {
+
+    @Autowired
+    private WorkMastHandler workMastHandler;
+
+    @Scheduled(cron = "0/3 * * * * ? ")
+    private void execute(){
+        workMastHandler.start();
+    }
+
+}
diff --git a/src/main/java/com/zy/asrs/task/handler/WorkLogHandler.java b/src/main/java/com/zy/asrs/task/handler/WorkLogHandler.java
index d0093a6..a411865 100644
--- a/src/main/java/com/zy/asrs/task/handler/WorkLogHandler.java
+++ b/src/main/java/com/zy/asrs/task/handler/WorkLogHandler.java
@@ -8,6 +8,8 @@
 import com.zy.asrs.service.WrkMastLogService;
 import com.zy.asrs.service.WrkMastService;
 import com.zy.asrs.task.AbstractHandler;
+import com.zy.asrs.task.ReturnT;
+import com.zy.system.entity.Config;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
@@ -17,7 +19,7 @@
  * Created by vincent on 2020/7/6
  */
 @Service
-public class WorkLogHandler extends AbstractHandler {
+public class WorkLogHandler extends AbstractHandler<Config> {
 
     @Autowired
     private WrkMastService wrkMastService;
@@ -30,19 +32,19 @@
 
     @Override
     @Transactional
-    public boolean start() {
+    public ReturnT<Config> start() {
         try {
             WrkMast wrkMast = wrkMastService.selectToBeHistoryData();
             if (null == wrkMast) {
-                return true;
+                return SUCCESS;
             }
             // 淇濆瓨宸ヤ綔涓绘。鍘嗗彶妗�
             if (!wrkMastLogService.save(wrkMast.getWrkNo())) {
                 exceptionHandle(""); // todo
             }
             // 鍒犻櫎宸ヤ綔涓绘。
-            if (wrkMastService.deleteById(wrkMast)) {
-                exceptionHandle(""); // todo
+            if (!wrkMastService.deleteById(wrkMast)) {
+                exceptionHandle("1111"); // todo
             }
             // 淇濆瓨宸ヤ綔鏄庣粏妗e巻鍙叉。
             if (!wrkDetlLogService.save(wrkMast.getWrkNo())) {
@@ -55,9 +57,16 @@
         } catch (Exception e) {
             e.printStackTrace();
             TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
-            return false;
+            Config config = new Config(
+                    "name",    // 鍚嶇О[闈炵┖]
+                    "code",    // 缂栫爜[闈炵┖]
+                    "val",    // 瀵瑰簲鍊糩闈炵┖]
+                    (short)1,    // 绫诲瀷[闈炵┖]
+                    (short)1    // 鐘舵�乕闈炵┖]
+            );
+            return FAIL.setMsg(e.getMessage()).setContent(config);
         }
-        return true;
+        return SUCCESS;
     }
 
 }
diff --git a/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java b/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java
index ef6cf41..b13b748 100644
--- a/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java
+++ b/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java
@@ -4,6 +4,7 @@
 import com.zy.asrs.entity.*;
 import com.zy.asrs.service.*;
 import com.zy.asrs.task.AbstractHandler;
+import com.zy.asrs.task.ReturnT;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
@@ -16,7 +17,7 @@
  */
 @Service
 @Transactional
-public class WorkMastHandler extends AbstractHandler {
+public class WorkMastHandler extends AbstractHandler<String> {
 
     @Autowired
     private WrkMastService wrkMastService;
@@ -29,10 +30,10 @@
     @Autowired
     private WaitPakinService waitPakinService;
 
-    public boolean start() {
+    public ReturnT<String> start() {
         List<WrkMast> wrkMasts = wrkMastService.selectToBeCompleteData();
         if (wrkMasts.isEmpty()) {
-            return true;
+            return SUCCESS;
         }
         for (WrkMast wrkMast : wrkMasts) {
             // 4.鍏ュ簱瀹屾垚
@@ -43,7 +44,7 @@
                 doOut(wrkMast);
             }
         }
-        return true;
+        return SUCCESS;
     }
 
     private void doIn(WrkMast wrkMast){

--
Gitblit v1.9.1