From 8546b3d285af4235a0ef615a0c6e89486ae2c806 Mon Sep 17 00:00:00 2001 From: fuliqi <fuliqi@qq.com> Date: 星期四, 17 十月 2024 21:01:37 +0800 Subject: [PATCH] 达梦不支持value改为values --- src/main/java/com/ycl/jxkg/server/WebsocketServer.java | 39 +++++++++++++++++++++++++++++++-------- 1 files changed, 31 insertions(+), 8 deletions(-) diff --git a/src/main/java/com/ycl/jxkg/server/WebsocketServer.java b/src/main/java/com/ycl/jxkg/server/WebsocketServer.java index 9886607..a5f35a7 100644 --- a/src/main/java/com/ycl/jxkg/server/WebsocketServer.java +++ b/src/main/java/com/ycl/jxkg/server/WebsocketServer.java @@ -1,16 +1,15 @@ package com.ycl.jxkg.server; +import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; -import com.google.gson.JsonObject; -import com.ycl.jxkg.domain.entity.Message; import com.ycl.jxkg.domain.query.WebSocketQuery; +import com.ycl.jxkg.domain.vo.WebsocketDataVO; import com.ycl.jxkg.enums.WebsocketCommendEnum; import com.ycl.jxkg.service.EducationResourceService; import lombok.extern.slf4j.Slf4j; -import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.context.ApplicationContext; import org.springframework.stereotype.Component; -import javax.servlet.http.HttpSession; import javax.websocket.OnClose; import javax.websocket.OnMessage; import javax.websocket.OnOpen; @@ -20,6 +19,7 @@ import java.util.HashMap; import java.util.List; import java.util.Map; +import java.util.Objects; import java.util.concurrent.CopyOnWriteArraySet; /** @@ -31,8 +31,12 @@ @ServerEndpoint("/websocket/{userId}") public class WebsocketServer { - @Autowired - private EducationResourceService educationResourceService; + private static ApplicationContext applicationContext; + + public static void setApplicationContext(ApplicationContext context) { + applicationContext = context; + } + /** * 绾跨▼瀹夊叏鐨勬棤搴忕殑闆嗗悎 */ @@ -67,10 +71,18 @@ @OnMessage public void onMessage(String message) { WebSocketQuery webSocketQuery = JSONObject.parseObject(message, WebSocketQuery.class); - String commend = webSocketQuery.getCommend(); + String command = webSocketQuery.getCommand(); Integer userId = webSocketQuery.getId(); - if(WebsocketCommendEnum.RECORD_STUDY_TIME.getCommend().equals(commend)){ + if(WebsocketCommendEnum.RECORD_STUDY_TIME.getCommand().equals(command)){ + log.info("瀛樻秷鎭�"); + EducationResourceService educationResourceService = applicationContext.getBean(EducationResourceService.class); educationResourceService.recordTime(userId); + } + // 浼氳鎿嶄綔 + if (WebsocketCommendEnum.MUTE.getCommand().equals(command) || WebsocketCommendEnum.OPEN_CAMERA.getCommand().equals(command) || WebsocketCommendEnum.KICK_OUT.getCommand().equals(command)) { + WebsocketDataVO websocketDataVO = new WebsocketDataVO(); + websocketDataVO.setCommend(command); + sendOneMessage(userId, JSON.toJSONString(websocketDataVO)); } log.info("銆怶ebSocket娑堟伅銆戞敹鍒板鎴风娑堟伅锛�" + message); } @@ -133,4 +145,15 @@ } } + /** + * 鏍¢獙鐢ㄦ埛鏄惁鍦ㄧ嚎 + * + * @param userId + * @return + */ + public Boolean checkUserOnline(Integer userId) { + Session session = SESSION_POOL.get(userId); + return Objects.nonNull(session); + } + } -- Gitblit v1.8.0