From 0f9060e0d97582f2e6794addc5fd9c8dbba32594 Mon Sep 17 00:00:00 2001
From: lxw <810412026@qq.com>
Date: 星期四, 18 五月 2023 14:10:02 +0800
Subject: [PATCH] 管理员任务websocket

---
 src/main/java/com/whyc/webSocket/TaskManageAdminWebsocket.java |   93 +++++++++++++++++++++++-----------------------
 1 files changed, 47 insertions(+), 46 deletions(-)

diff --git a/src/main/java/com/whyc/webSocket/TaskManageAdminWebsocket.java b/src/main/java/com/whyc/webSocket/TaskManageAdminWebsocket.java
index db6f7fa..d76201c 100644
--- a/src/main/java/com/whyc/webSocket/TaskManageAdminWebsocket.java
+++ b/src/main/java/com/whyc/webSocket/TaskManageAdminWebsocket.java
@@ -4,7 +4,6 @@
 import com.whyc.dto.Response;
 import com.whyc.factory.ThreadPoolExecutorFactory;
 import com.whyc.pojo.FaultUpload;
-import com.whyc.pojo.UserInf;
 import com.whyc.service.FaultUploadService;
 import com.whyc.util.ActionUtil;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -51,9 +50,9 @@
 
     @OnMessage
     public void onMessage(Session session, String message) {
-        UserInf user = (UserInf) this.httpSession.getAttribute("user");
-        final int userId = user.getUId().intValue();
-        //final int userId = 1041;
+        /*UserInf user = (UserInf) this.httpSession.getAttribute("user");
+        final int userId = user.getUId().intValue();*/
+        final int userId = 1041;
         FaultUpload upload = ActionUtil.getGson().fromJson(message, FaultUpload.class);
         thread = new Thread("Thread_RealTime") {
             @Override
@@ -62,51 +61,11 @@
                     Thread thread = currentThread();
                     threadFlagMap.put(thread.getId(), true);
                     try {
+                        Map<String, Response> map = getTaskMAdmin(userId, upload);
                         if (session.isOpen()) {
                             //鎺ㄩ�佷俊鎭�
                             synchronized (session) {
-                                try {
-                                    Map<String, Object> res = new HashMap<>();
-                                    while (!currentThread().isInterrupted()) {
-                                        ThreadPoolExecutor poolExecutor = ThreadPoolExecutorFactory.getPoolExecutor();
-                                        CountDownLatch latch = new CountDownLatch(5);
-                                        poolExecutor.execute(() -> {
-                                            //鏈湀
-                                            Response monRes = faultUploadService.groupNameCount(1, userId);
-                                            res.put("monRes", monRes);
-                                            latch.countDown();
-                                        });
-                                        poolExecutor.execute(() -> {
-                                            //鏈搴�
-                                            Response quarterRes = faultUploadService.groupNameCount(2, userId);
-                                            res.put("quarterRes", quarterRes);
-                                            latch.countDown();
-                                        });
-                                        poolExecutor.execute(() -> {
-                                            //鏈勾
-                                            Response yearRes = faultUploadService.groupNameCount(3, userId);
-                                            res.put("yearRes", yearRes);
-                                            latch.countDown();
-                                        });
-                                        poolExecutor.execute(() -> {
-                                            //闅愭偅鏁呴殰涓婃姤杩涘害-鏈�杩戜竴鍛ㄥ強鏈�杩戜竴鏈�-绠$悊
-                                            Response lastPeriodRes = faultUploadService.getListOfLastPeriod(1, userId);
-                                            res.put("lastPeriodRes", lastPeriodRes);
-                                            latch.countDown();
-                                        });
-                                        poolExecutor.execute(() -> {
-                                            //鍒楄〃鍒嗛〉-绠$悊
-                                            Response listRes = faultUploadService.listPage2(upload.getPageNum(), upload.getPageSize(), upload, userId);
-                                            res.put("listRes", listRes);
-                                            latch.countDown();
-                                        });
-                                        latch.await(10, TimeUnit.MINUTES);
-                                        session.getBasicRemote().sendObject(new Response().set(1, res));
-                                        sleep(4000);
-                                    }
-                                } catch (Exception e) {
-                                    this.interrupt();
-                                }
+                                session.getBasicRemote().sendObject(new Response().set(1, map));
                             }
                             threadFlagMap.put(thread.getId(), false);
                         }
@@ -130,6 +89,48 @@
         threadMap.put(session.getId(), this.thread);
     }
 
+    //鑾峰彇绠$悊鍛樼殑鏁版嵁
+    public Map getTaskMAdmin(int userId, FaultUpload upload) {
+        Map<String, Object> res = new HashMap<>();
+        try {
+            ThreadPoolExecutor poolExecutor = ThreadPoolExecutorFactory.getPoolExecutor();
+            CountDownLatch latch = new CountDownLatch(5);
+            poolExecutor.execute(() -> {
+                //鏈湀
+                Response monRes = faultUploadService.groupNameCount(1, userId);
+                res.put("monRes", monRes);
+                latch.countDown();
+            });
+            poolExecutor.execute(() -> {
+                //鏈搴�
+                Response quarterRes = faultUploadService.groupNameCount(2, userId);
+                res.put("quarterRes", quarterRes);
+                latch.countDown();
+            });
+            poolExecutor.execute(() -> {
+                //鏈勾
+                Response yearRes = faultUploadService.groupNameCount(3, userId);
+                res.put("yearRes", yearRes);
+                latch.countDown();
+            });
+            poolExecutor.execute(() -> {
+                //闅愭偅鏁呴殰涓婃姤杩涘害-鏈�杩戜竴鍛ㄥ強鏈�杩戜竴鏈�-绠$悊
+                Response lastPeriodRes = faultUploadService.getListOfLastPeriod(1, userId);
+                res.put("lastPeriodRes", lastPeriodRes);
+                latch.countDown();
+            });
+            poolExecutor.execute(() -> {
+                //鍒楄〃鍒嗛〉-绠$悊
+                Response listRes = faultUploadService.listPage2(upload.getPageNum(), upload.getPageSize(), upload, userId);
+                res.put("listRes", listRes);
+                latch.countDown();
+            });
+            latch.await(10, TimeUnit.MINUTES);
+        } catch (InterruptedException e) {
+            e.printStackTrace();
+        }
+        return res;
+    }
 
     @OnClose
     public void onClose(CloseReason closeReason) {

--
Gitblit v1.9.1