龚焕茏
2024-08-09 d81ce26d07cc79379661064d943a6acddc94ab29
feat:通过Websocket根据教师会议命令执行操作
2个文件已修改
15 ■■■■ 已修改文件
src/main/java/com/ycl/jxkg/enums/WebsocketCommendEnum.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ycl/jxkg/server/WebsocketServer.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ycl/jxkg/enums/WebsocketCommendEnum.java
@@ -15,6 +15,9 @@
    DELAYED("delayed", "延长考试时间"),
    FORCE_SUBMIT("forceSubmit", "强制提交"),
    RECORD_STUDY_TIME("recordStudyTime", "记录学习时间"),
    OPEN_CAMERA("openCamera", "打开摄像头"),
    MUTE("mute", "静音"),
    KICK_OUT("kickOut", "踢出"),
    ;
    private final String command;
src/main/java/com/ycl/jxkg/server/WebsocketServer.java
@@ -1,17 +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;
@@ -80,6 +78,12 @@
            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("【WebSocket消息】收到客户端消息:" + message);
    }