123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224 |
- package com.sckj.iron.socketio;
- import com.corundumstudio.socketio.SocketIOClient;
- import com.sckj.common.core.AjaxResult;
- import com.sckj.common.socketio.SocketUtil;
- import lombok.extern.slf4j.Slf4j;
- import org.apache.commons.lang3.ObjectUtils;
- import java.util.Map;
- import java.util.Objects;
- /**
- * @Author feng
- * @Date 2024-11-19 下午 12:12
- * @Description socket.io 推拉事件名及其封装
- */
- @Slf4j
- public class PushData {
- /**
- * 出铁操作
- **/
- public static final String IRON_OPERATION = "IRON_OPERATION";
- /**
- * 开始
- **/
- public static final String IRON_START = "IRON_START";
- /**
- * 实时数据
- **/
- public static final String IRON_REALTIME_DATA = "IRON_REALTIME_DATA";
- /**
- * 实时数据
- **/
- public static final String IRON_REALTIME_STATUS = "IRON_REALTIME_STATUS";
- /***
- * 一、炉前准备:铁摆系统正常、泥炮开口机准备完毕、人员到位
- * 二、炉前申请出铁
- * 三、炉内出铁条件:高炉运行情况
- * 四、预判和确认出铁
- */
- public static final String IRON_CONFIRM = "IRON_CONFIRM";
- /***
- * 发出预警
- */
- public static final String IRON_WARN = "IRON_WARN";
- /***
- * 开始出铁计时
- */
- public static final String IRON_COSTTIME = "IRON_COSTTIME";
- /***
- * 取消预警
- */
- public static final String IRON_CANCEL_WARN = "IRON_CANCEL_WARN";
- /***
- * 出铁日期和次数
- */
- public static final String IRON_TIME_NO = "IRON_TIME_NO";
- /**
- * 出铁操作
- *
- * @return
- * @Param
- **/
- public static void send2Operation(Object message, SocketIOClient socketClient) {
- if (SocketUtil.clientUserIds.isEmpty()) {
- return;
- }
- //单独发消息
- socketClient.sendEvent(PushData.IRON_OPERATION, AjaxResult.success(message));
- }
- /**
- * 出铁操作
- *
- * @return
- * @Param
- **/
- public static void send2Operation(Object message, String userId) {
- if (SocketUtil.connectMap.isEmpty()) {
- return;
- }
- if (ObjectUtils.isEmpty(userId)) {
- for (Map.Entry<String, SocketIOClient> entry : SocketUtil.connectMap.entrySet()) {
- entry.getValue().sendEvent(PushData.IRON_OPERATION, AjaxResult.success(message));
- }
- } else {
- //某个客户端信息
- SocketIOClient socketClient = SocketUtil.getSocketClient(userId);
- if (Objects.nonNull(socketClient)) {
- //单独给他发消息
- socketClient.sendEvent(PushData.IRON_OPERATION, AjaxResult.success(message));
- } else {
- log.info("{}已下线,无法发送消息", userId);
- }
- }
- }
- /***
- * 出铁操作
- * @param message 发送的消息内容
- * @param isStopSendMsg 是否停止发送信息
- */
- public static void send2Operation(Object message, boolean isStopSendMsg) {
- if (SocketUtil.connectMap.isEmpty()) {//|| isStopSendMsg
- return;
- }
- //
- for (Map.Entry<String, SocketIOClient> entry : SocketUtil.connectMap.entrySet()) {
- entry.getValue().sendEvent(PushData.IRON_OPERATION, AjaxResult.success(message));
- }
- }
- /**
- * 实时数据
- *
- * @return
- * @Param
- **/
- public static void send2RealtimeData(Object message) {
- if (SocketUtil.connectMap.isEmpty()) {
- return;
- }
- //
- for (Map.Entry<String, SocketIOClient> entry : SocketUtil.connectMap.entrySet()) {
- entry.getValue().sendEvent(PushData.IRON_REALTIME_DATA, AjaxResult.success(message));
- }
- }
- /**
- * 实时数据
- *
- * @return
- * @Param
- **/
- public static void send2RealtimeStatus(Object message) {
- if (SocketUtil.connectMap.isEmpty()) {
- return;
- }
- //
- for (Map.Entry<String, SocketIOClient> entry : SocketUtil.connectMap.entrySet()) {
- entry.getValue().sendEvent(PushData.IRON_REALTIME_STATUS, AjaxResult.success(message));
- }
- }
- /**
- * 发出预警
- *
- * @return
- * @Param
- **/
- public static void send2Warn(Object message) {
- if (SocketUtil.connectMap.isEmpty()) {
- return;
- }
- //
- for (Map.Entry<String, SocketIOClient> entry : SocketUtil.connectMap.entrySet()) {
- entry.getValue().sendEvent(PushData.IRON_WARN, AjaxResult.success(message));
- }
- }
- /**
- * 取消发出的预警
- *
- * @return
- * @Param
- **/
- public static void send2CancelWarn(Object message) {
- if (SocketUtil.connectMap.isEmpty()) {
- return;
- }
- //
- for (Map.Entry<String, SocketIOClient> entry : SocketUtil.connectMap.entrySet()) {
- entry.getValue().sendEvent(PushData.IRON_CANCEL_WARN, AjaxResult.success(message));
- }
- }
- /**
- * 开始出铁计时
- *
- * @return
- * @Param
- **/
- public static void send2CostTime(Object message) {
- if (SocketUtil.connectMap.isEmpty()) {
- return;
- }
- //
- for (Map.Entry<String, SocketIOClient> entry : SocketUtil.connectMap.entrySet()) {
- entry.getValue().sendEvent(PushData.IRON_COSTTIME, AjaxResult.success(message));
- }
- }
- /**
- * 出铁时间和次数
- *
- * @return
- * @Param
- **/
- public static void send2IronTimeNo(Object message) {
- if (SocketUtil.connectMap.isEmpty()) {
- return;
- }
- //
- for (Map.Entry<String, SocketIOClient> entry : SocketUtil.connectMap.entrySet()) {
- entry.getValue().sendEvent(PushData.IRON_TIME_NO, AjaxResult.success(message));
- }
- }
- }
|