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