PushData.java 5.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224
  1. package com.sckj.iron.socketio;
  2. import com.corundumstudio.socketio.SocketIOClient;
  3. import com.sckj.common.core.AjaxResult;
  4. import com.sckj.common.socketio.SocketUtil;
  5. import lombok.extern.slf4j.Slf4j;
  6. import org.apache.commons.lang3.ObjectUtils;
  7. import java.util.Map;
  8. import java.util.Objects;
  9. /**
  10. * @Author feng
  11. * @Date 2024-11-19 下午 12:12
  12. * @Description socket.io 推拉事件名及其封装
  13. */
  14. @Slf4j
  15. public class PushData {
  16. /**
  17. * 出铁操作
  18. **/
  19. public static final String IRON_OPERATION = "IRON_OPERATION";
  20. /**
  21. * 开始
  22. **/
  23. public static final String IRON_START = "IRON_START";
  24. /**
  25. * 实时数据
  26. **/
  27. public static final String IRON_REALTIME_DATA = "IRON_REALTIME_DATA";
  28. /**
  29. * 实时数据
  30. **/
  31. public static final String IRON_REALTIME_STATUS = "IRON_REALTIME_STATUS";
  32. /***
  33. * 一、炉前准备:铁摆系统正常、泥炮开口机准备完毕、人员到位
  34. * 二、炉前申请出铁
  35. * 三、炉内出铁条件:高炉运行情况
  36. * 四、预判和确认出铁
  37. */
  38. public static final String IRON_CONFIRM = "IRON_CONFIRM";
  39. /***
  40. * 发出预警
  41. */
  42. public static final String IRON_WARN = "IRON_WARN";
  43. /***
  44. * 开始出铁计时
  45. */
  46. public static final String IRON_COSTTIME = "IRON_COSTTIME";
  47. /***
  48. * 取消预警
  49. */
  50. public static final String IRON_CANCEL_WARN = "IRON_CANCEL_WARN";
  51. /***
  52. * 出铁日期和次数
  53. */
  54. public static final String IRON_TIME_NO = "IRON_TIME_NO";
  55. /**
  56. * 出铁操作
  57. *
  58. * @return
  59. * @Param
  60. **/
  61. public static void send2Operation(Object message, SocketIOClient socketClient) {
  62. if (SocketUtil.clientUserIds.isEmpty()) {
  63. return;
  64. }
  65. //单独发消息
  66. socketClient.sendEvent(PushData.IRON_OPERATION, AjaxResult.success(message));
  67. }
  68. /**
  69. * 出铁操作
  70. *
  71. * @return
  72. * @Param
  73. **/
  74. public static void send2Operation(Object message, String userId) {
  75. if (SocketUtil.connectMap.isEmpty()) {
  76. return;
  77. }
  78. if (ObjectUtils.isEmpty(userId)) {
  79. for (Map.Entry<String, SocketIOClient> entry : SocketUtil.connectMap.entrySet()) {
  80. entry.getValue().sendEvent(PushData.IRON_OPERATION, AjaxResult.success(message));
  81. }
  82. } else {
  83. //某个客户端信息
  84. SocketIOClient socketClient = SocketUtil.getSocketClient(userId);
  85. if (Objects.nonNull(socketClient)) {
  86. //单独给他发消息
  87. socketClient.sendEvent(PushData.IRON_OPERATION, AjaxResult.success(message));
  88. } else {
  89. log.info("{}已下线,无法发送消息", userId);
  90. }
  91. }
  92. }
  93. /***
  94. * 出铁操作
  95. * @param message 发送的消息内容
  96. * @param isStopSendMsg 是否停止发送信息
  97. */
  98. public static void send2Operation(Object message, boolean isStopSendMsg) {
  99. if (SocketUtil.connectMap.isEmpty()) {//|| isStopSendMsg
  100. return;
  101. }
  102. //
  103. for (Map.Entry<String, SocketIOClient> entry : SocketUtil.connectMap.entrySet()) {
  104. entry.getValue().sendEvent(PushData.IRON_OPERATION, AjaxResult.success(message));
  105. }
  106. }
  107. /**
  108. * 实时数据
  109. *
  110. * @return
  111. * @Param
  112. **/
  113. public static void send2RealtimeData(Object message) {
  114. if (SocketUtil.connectMap.isEmpty()) {
  115. return;
  116. }
  117. //
  118. for (Map.Entry<String, SocketIOClient> entry : SocketUtil.connectMap.entrySet()) {
  119. entry.getValue().sendEvent(PushData.IRON_REALTIME_DATA, AjaxResult.success(message));
  120. }
  121. }
  122. /**
  123. * 实时数据
  124. *
  125. * @return
  126. * @Param
  127. **/
  128. public static void send2RealtimeStatus(Object message) {
  129. if (SocketUtil.connectMap.isEmpty()) {
  130. return;
  131. }
  132. //
  133. for (Map.Entry<String, SocketIOClient> entry : SocketUtil.connectMap.entrySet()) {
  134. entry.getValue().sendEvent(PushData.IRON_REALTIME_STATUS, AjaxResult.success(message));
  135. }
  136. }
  137. /**
  138. * 发出预警
  139. *
  140. * @return
  141. * @Param
  142. **/
  143. public static void send2Warn(Object message) {
  144. if (SocketUtil.connectMap.isEmpty()) {
  145. return;
  146. }
  147. //
  148. for (Map.Entry<String, SocketIOClient> entry : SocketUtil.connectMap.entrySet()) {
  149. entry.getValue().sendEvent(PushData.IRON_WARN, AjaxResult.success(message));
  150. }
  151. }
  152. /**
  153. * 取消发出的预警
  154. *
  155. * @return
  156. * @Param
  157. **/
  158. public static void send2CancelWarn(Object message) {
  159. if (SocketUtil.connectMap.isEmpty()) {
  160. return;
  161. }
  162. //
  163. for (Map.Entry<String, SocketIOClient> entry : SocketUtil.connectMap.entrySet()) {
  164. entry.getValue().sendEvent(PushData.IRON_CANCEL_WARN, AjaxResult.success(message));
  165. }
  166. }
  167. /**
  168. * 开始出铁计时
  169. *
  170. * @return
  171. * @Param
  172. **/
  173. public static void send2CostTime(Object message) {
  174. if (SocketUtil.connectMap.isEmpty()) {
  175. return;
  176. }
  177. //
  178. for (Map.Entry<String, SocketIOClient> entry : SocketUtil.connectMap.entrySet()) {
  179. entry.getValue().sendEvent(PushData.IRON_COSTTIME, AjaxResult.success(message));
  180. }
  181. }
  182. /**
  183. * 出铁时间和次数
  184. *
  185. * @return
  186. * @Param
  187. **/
  188. public static void send2IronTimeNo(Object message) {
  189. if (SocketUtil.connectMap.isEmpty()) {
  190. return;
  191. }
  192. //
  193. for (Map.Entry<String, SocketIOClient> entry : SocketUtil.connectMap.entrySet()) {
  194. entry.getValue().sendEvent(PushData.IRON_TIME_NO, AjaxResult.success(message));
  195. }
  196. }
  197. }