From d910a3e7ad5bc3a5e5443f506d05bbb9e83a4c8e Mon Sep 17 00:00:00 2001
From: xiangpei <xiangpei@timesnew.cn>
Date: 星期四, 31 十月 2024 17:14:33 +0800
Subject: [PATCH] 生成试卷时如果题目列表为空,则不反悔这个题型的数据
---
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