lxw
2023-11-30 f5131e808b27385f17c881dea2b8c90bc4a012ff
核容设备告警组端和单体socket实时推送
5个文件已添加
142 ■■■■■ 已修改文件
src/main/java/com/whyc/mapper/CkpowerdevBattRsalarmMapper.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/mapper/CkpowerdevBattRtalarmMapper.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/service/CkpowerdevBattRsalarmService.java 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/service/CkpowerdevBattRtalarmService.java 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/websocket/CkDevRsAndRtAlmSocket.java 87 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/mapper/CkpowerdevBattRsalarmMapper.java
New file
@@ -0,0 +1,6 @@
package com.whyc.mapper;
import com.whyc.pojo.db_ckpwrdev_data_rt.CkpowerdevBattRsalarm;
public interface CkpowerdevBattRsalarmMapper extends CustomMapper<CkpowerdevBattRsalarm>{
}
src/main/java/com/whyc/mapper/CkpowerdevBattRtalarmMapper.java
New file
@@ -0,0 +1,6 @@
package com.whyc.mapper;
import com.whyc.pojo.db_ckpwrdev_data_rt.CkpowerdevBattRtalarm;
public interface CkpowerdevBattRtalarmMapper extends CustomMapper<CkpowerdevBattRtalarm>{
}
src/main/java/com/whyc/service/CkpowerdevBattRsalarmService.java
New file
@@ -0,0 +1,21 @@
package com.whyc.service;
import com.whyc.dto.Response;
import com.whyc.mapper.CkpowerdevBattRsalarmMapper;
import com.whyc.pojo.db_ckpwrdev_data_rt.CkpowerdevBattRsalarm;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
@Service
public class CkpowerdevBattRsalarmService {
    @Autowired(required = false)
    private CkpowerdevBattRsalarmMapper mapper;
    //获取实时组端告警
    public Response getRsAlm() {
        List<CkpowerdevBattRsalarm> list=mapper.selectList(null);
        return new Response<>().setII(1,list!=null,list,"组端告警");
    }
}
src/main/java/com/whyc/service/CkpowerdevBattRtalarmService.java
New file
@@ -0,0 +1,22 @@
package com.whyc.service;
import com.whyc.dto.Response;
import com.whyc.mapper.CkpowerdevBattRtalarmMapper;
import com.whyc.pojo.db_ckpwrdev_data_rt.CkpowerdevBattRsalarm;
import com.whyc.pojo.db_ckpwrdev_data_rt.CkpowerdevBattRtalarm;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
@Service
public class CkpowerdevBattRtalarmService {
    @Autowired(required = false)
    private CkpowerdevBattRtalarmMapper mapper;
    //获取单体告警
    public Response getRtAlm() {
        List<CkpowerdevBattRtalarm> list=mapper.selectList(null);
        return new Response<>().setII(1,list!=null,list,"组端告警");
    }
}
src/main/java/com/whyc/websocket/CkDevRsAndRtAlmSocket.java
New file
@@ -0,0 +1,87 @@
package com.whyc.websocket;
import com.whyc.config.WebSocketConfig;
import com.whyc.dto.Response;
import com.whyc.pojo.db_ckpwrdev_data_rt.CKPowerDevHrTestParam;
import com.whyc.pojo.db_ckpwrdev_data_rt.CkpowerdevBattRsalarm;
import com.whyc.service.CKPowerDevHrTestParamService;
import com.whyc.service.CkpowerdevBattRsalarmService;
import com.whyc.service.CkpowerdevBattRsalarmSetService;
import com.whyc.service.CkpowerdevBattRtalarmService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import javax.websocket.*;
import javax.websocket.server.ServerEndpoint;
import java.io.IOException;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
 * 测控台设备告警和单体告警
 */
@Component
@ServerEndpoint(value = "/ckDevRsAndRtAlm",encoders = WebSocketEncoder.class,configurator = WebSocketConfig.class)
public class CkDevRsAndRtAlmSocket {
    private Session session;
    private Thread thread;
    private static CkpowerdevBattRsalarmService rsalarmService;
    private static CkpowerdevBattRtalarmService rtalarmService;
    @Autowired
    public void setCkpowerdevBattRsalarmService(CkpowerdevBattRsalarmService rsalarmService) {
        CkDevRsAndRtAlmSocket.rsalarmService = rsalarmService;
    }
    @Autowired
    public void setCkpowerdevBattRtalarmService(CkpowerdevBattRtalarmService rtalarmService) {
        CkDevRsAndRtAlmSocket.rtalarmService = rtalarmService;
    }
    @OnOpen
    public void onOpen(Session session, EndpointConfig config){
        this.session = session;
        Thread thread = new Thread() {
            @Override
            public void run() {
                try{
                    while (!currentThread().isInterrupted()) {
                        Map<String,Object>map=new HashMap<>();
                        Response rsAlmRes = rsalarmService.getRsAlm();
                        map.put("rsAlmRes",rsAlmRes);
                        Response rtAlmRes = rtalarmService.getRtAlm();
                        map.put("rtAlmRes",rtAlmRes);
                        session.getBasicRemote().sendObject(new Response<>().set(1,map,"查询完成"));
                        sleep(4000);
                    }
                } catch (Exception e) {
                    this.interrupt();
                }
            }
        };
        thread.start();
        this.thread = thread;
    }
    @OnClose
    public void onClose(CloseReason closeReason) throws IOException {
        System.err.println("closeReason = " + closeReason);
        if(session.isOpen()){
            session.close();
        }
    }
    @OnError
    public void onError(Throwable error) throws IOException {
        error.printStackTrace();
        thread.isInterrupted();
        if(session.isOpen()){
            session.close();
        }
    }
}