whyclxw
2025-01-10 1cf4e129cf3387f40bd6a853f6d5f177d3f6705b
lockRt锁实时状态socket
1个文件已添加
1个文件已修改
24 ■■■■ 已修改文件
src/main/java/com/whyc/dto/LockRDto.java 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/webSocket/LockRtSocket.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/dto/LockRDto.java
New file
@@ -0,0 +1,14 @@
package com.whyc.dto;
import lombok.Data;
@Data
public class LockRDto {
   private String lockName;
   private Integer lockType;
   private Integer lockState;
   private Integer areaId;
   private Integer pageNum;
   private Integer pageSize;
}
src/main/java/com/whyc/webSocket/LockRtSocket.java
@@ -1,8 +1,10 @@
package com.whyc.webSocket;
import com.whyc.config.WebSocketConfig;
import com.whyc.dto.LockRDto;
import com.whyc.dto.Response;
import com.whyc.service.LockInfService;
import com.whyc.util.JsonUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
@@ -43,7 +45,7 @@
    }
    @OnMessage
    public void onMessage(Session session, String message) {
        Integer areaId=Integer.valueOf(message);
        LockRDto dto= JsonUtil.getGson().fromJson(message,LockRDto.class);
        thread = new Thread("Thread_lockRtSocket") {
            @Override
            public void run() {
@@ -51,7 +53,7 @@
                    Thread thread = currentThread();
                    threadFlagMap.put(thread.getId(), true);
                    try {
                        Response res=getLockRt(areaId);
                        Response res=getLockRt(dto);
                        if (session.isOpen()) {
                            //推送信息
                            synchronized (session) {
@@ -79,8 +81,8 @@
        threadMap.put(session.getId(), this.thread);
    }
    //获取区域下所有锁的状态
    private Response getLockRt(int areaId) {
        Response res=lockInfService.getLockRt(areaId);
    private Response getLockRt(LockRDto dto) {
        Response res=lockInfService.getAllLockInf(dto.getLockName(),dto.getLockType(),dto.getLockState(),dto.getAreaId(),dto.getPageNum(),dto.getPageSize());
        return new Response().setII(1,true,res,"获取区域下所有锁的状态");
    }