whyclxw
2025-05-15 96510a549bfb313920bf297b28089c4cf57f0146
src/main/java/com/whyc/webSocket/LockRtSocket.java
@@ -3,11 +3,13 @@
import com.whyc.config.WebSocketConfig;
import com.whyc.dto.LockInfDto;
import com.whyc.dto.Response;
import com.whyc.pojo.plus_user.UserInf;
import com.whyc.service.LockInfService;
import com.whyc.util.JsonUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import javax.servlet.http.HttpSession;
import javax.websocket.*;
import javax.websocket.server.ServerEndpoint;
import java.util.HashMap;
@@ -26,6 +28,8 @@
    private static LockInfService lockInfService;
    private static HttpSession httpSession;
    private volatile boolean runFlag = true;
@@ -40,12 +44,19 @@
    @OnOpen
    public void onOpen(Session session) {
    public void onOpen(Session session, EndpointConfig config) {
        this.session = session;
        this.httpSession = (HttpSession) config.getUserProperties().get("httpSession");
    }
    @OnMessage
    public void onMessage(Session session, String message) {
        LockInfDto dto= JsonUtil.getGson().fromJson(message,LockInfDto.class);
        if(httpSession!=null){
            UserInf user = (UserInf) httpSession.getAttribute("user");
            dto.setUid(user.getUid());
        }else{
            dto.setUid(99);
        }
        thread = new Thread("Thread_lockRtSocket") {
            @Override
            public void run() {