diff --git a/ruoyi-cai/pom.xml b/ruoyi-cai/pom.xml
index 22e3e5d1..56fca0ff 100644
--- a/ruoyi-cai/pom.xml
+++ b/ruoyi-cai/pom.xml
@@ -29,7 +29,7 @@
com.alibaba
fastjson
- 2.0.19
+ 2.0.32
com.ruoyi
diff --git a/ruoyi-cai/src/main/java/com/ruoyi/cai/ws/bean/RoomData.java b/ruoyi-cai/src/main/java/com/ruoyi/cai/ws/bean/RoomData.java
index 9363a282..3b0f717c 100644
--- a/ruoyi-cai/src/main/java/com/ruoyi/cai/ws/bean/RoomData.java
+++ b/ruoyi-cai/src/main/java/com/ruoyi/cai/ws/bean/RoomData.java
@@ -12,4 +12,6 @@ public class RoomData {
private Integer status;
private BigDecimal videoDivide;
private Long hangUpTime;
+
+ private Long beginTime;
}
diff --git a/ruoyi-cai/src/main/java/com/ruoyi/cai/ws/cache/FdCtxDataCache.java b/ruoyi-cai/src/main/java/com/ruoyi/cai/ws/cache/FdCtxDataCache.java
index de32d051..667577d0 100644
--- a/ruoyi-cai/src/main/java/com/ruoyi/cai/ws/cache/FdCtxDataCache.java
+++ b/ruoyi-cai/src/main/java/com/ruoyi/cai/ws/cache/FdCtxDataCache.java
@@ -4,6 +4,7 @@ import com.alibaba.fastjson2.JSON;
import com.ruoyi.cai.ws.bean.FdCtxData;
import com.ruoyi.cai.ws.constant.RedisConstant;
import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.boot.autoconfigure.condition.SearchStrategy;
import org.springframework.data.redis.core.StringRedisTemplate;
import org.springframework.stereotype.Component;
diff --git a/ruoyi-cai/src/main/java/com/ruoyi/cai/ws/cache/RoomCtxCache.java b/ruoyi-cai/src/main/java/com/ruoyi/cai/ws/cache/RoomCtxCache.java
index 0f92478f..d5eb95b7 100644
--- a/ruoyi-cai/src/main/java/com/ruoyi/cai/ws/cache/RoomCtxCache.java
+++ b/ruoyi-cai/src/main/java/com/ruoyi/cai/ws/cache/RoomCtxCache.java
@@ -1,10 +1,12 @@
package com.ruoyi.cai.ws.cache;
import com.ruoyi.cai.ws.constant.RedisConstant;
+import com.ruoyi.websocket.holder.WebSocketSessionHolder;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.StringRedisTemplate;
import org.springframework.stereotype.Component;
+import java.util.Map;
import java.util.concurrent.TimeUnit;
@Component
@@ -21,4 +23,21 @@ public class RoomCtxCache {
redisTemplate.opsForHash().putIfAbsent(key,sessionKey,userType);
redisTemplate.expire(key,7, TimeUnit.DAYS);
}
+
+ public String getSessionKeyByRoomIdAndUserType(String roomId,Integer userType){
+ String key = getKey(roomId);
+ Map
+
+ com.alibaba
+ fastjson
+ 2.0.32
+
diff --git a/ruoyi-websocket/src/main/java/com/ruoyi/websocket/constant/WebSocketConstants.java b/ruoyi-websocket/src/main/java/com/ruoyi/websocket/constant/WebSocketConstants.java
index 23fbc11a..4e2b2699 100644
--- a/ruoyi-websocket/src/main/java/com/ruoyi/websocket/constant/WebSocketConstants.java
+++ b/ruoyi-websocket/src/main/java/com/ruoyi/websocket/constant/WebSocketConstants.java
@@ -9,7 +9,11 @@ public interface WebSocketConstants {
/**
* websocketSession中的参数的key
*/
- String LOGIN_USER_KEY = "loginUser";
+ String TOKEN = "token";
+
+ String ROOM_ID = "roomId";
+
+ String USER_ID = "userId";
/**
* 订阅的频道
diff --git a/ruoyi-websocket/src/main/java/com/ruoyi/websocket/dto/WsR.java b/ruoyi-websocket/src/main/java/com/ruoyi/websocket/dto/WsR.java
new file mode 100644
index 00000000..943a4987
--- /dev/null
+++ b/ruoyi-websocket/src/main/java/com/ruoyi/websocket/dto/WsR.java
@@ -0,0 +1,109 @@
+package com.ruoyi.websocket.dto;
+
+import com.ruoyi.common.constant.HttpStatus;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.io.Serializable;
+
+/**
+ * 响应信息主体
+ *
+ * @author Lion Li
+ */
+@Data
+@NoArgsConstructor
+public class WsR implements Serializable {
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * 成功
+ */
+ public static final int SUCCESS = 200;
+
+ /**
+ * 失败
+ */
+ public static final int FAIL = 500;
+
+ private int code;
+
+ private String method;
+
+ private String msg;
+
+ private T data;
+
+ public static WsR ok() {
+ return restResult(null, SUCCESS, "操作成功");
+ }
+
+ public static WsR ok(T data) {
+ return restResult(data, SUCCESS, "操作成功");
+ }
+
+ public static WsR ok(String msg) {
+ return restResult(null, SUCCESS, msg);
+ }
+
+ public static WsR ok(String msg, T data) {
+ return restResult(data, SUCCESS, msg);
+ }
+
+ public static WsR fail() {
+ return restResult(null, FAIL, "操作失败");
+ }
+
+ public static WsR fail(String msg) {
+ return restResult(null, FAIL, msg);
+ }
+
+ public static WsR fail(T data) {
+ return restResult(data, FAIL, "操作失败");
+ }
+
+ public static WsR fail(String msg, T data) {
+ return restResult(data, FAIL, msg);
+ }
+
+ public static WsR fail(int code, String msg) {
+ return restResult(null, code, msg);
+ }
+
+ /**
+ * 返回警告消息
+ *
+ * @param msg 返回内容
+ * @return 警告消息
+ */
+ public static WsR warn(String msg) {
+ return restResult(null, HttpStatus.WARN, msg);
+ }
+
+ /**
+ * 返回警告消息
+ *
+ * @param msg 返回内容
+ * @param data 数据对象
+ * @return 警告消息
+ */
+ public static WsR warn(String msg, T data) {
+ return restResult(data, HttpStatus.WARN, msg);
+ }
+
+ private static WsR restResult(T data, int code, String msg) {
+ WsR r = new WsR<>();
+ r.setCode(code);
+ r.setData(data);
+ r.setMsg(msg);
+ return r;
+ }
+
+ public static Boolean isError(WsR ret) {
+ return !isSuccess(ret);
+ }
+
+ public static Boolean isSuccess(WsR ret) {
+ return WsR.SUCCESS == ret.getCode();
+ }
+}
diff --git a/ruoyi-websocket/src/main/java/com/ruoyi/websocket/dto/WsRMsgGen.java b/ruoyi-websocket/src/main/java/com/ruoyi/websocket/dto/WsRMsgGen.java
new file mode 100644
index 00000000..cfb96dbe
--- /dev/null
+++ b/ruoyi-websocket/src/main/java/com/ruoyi/websocket/dto/WsRMsgGen.java
@@ -0,0 +1,52 @@
+package com.ruoyi.websocket.dto;
+
+import org.apache.poi.hssf.record.OldCellRecord;
+
+import java.util.HashMap;
+import java.util.Map;
+
+public class WsRMsgGen {
+
+ public static WsR response(String roomId){
+ Map map = new HashMap<>();
+ map.put("roomid",roomId);
+ WsR