PushData.java 7.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293
  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. public static final String IRON_HIT_MUD = "IRON_HIT_MUD";
  59. /***
  60. * 出铁工作诊断
  61. */
  62. public static final String IRON_TAPPING_TEST = "IRON_TAPPING_TEST";
  63. /***
  64. * 距离堵口预计还剩:xxxx分钟
  65. */
  66. public static final String IRON_CLOSETTIME = "IRON_CLOSETTIME";
  67. /***
  68. * 告警列表
  69. */
  70. public static final String IRON_EXCEPTION = "IRON_EXCEPTION";
  71. /**
  72. * 出铁操作
  73. *
  74. * @return
  75. * @Param
  76. **/
  77. public static void send2Operation(Object message, SocketIOClient socketClient) {
  78. if (SocketUtil.clientUserIds.isEmpty()) {
  79. return;
  80. }
  81. //单独发消息
  82. socketClient.sendEvent(PushData.IRON_OPERATION, AjaxResult.success(message));
  83. }
  84. /**
  85. * 出铁操作
  86. *
  87. * @return
  88. * @Param
  89. **/
  90. public static void send2Operation(Object message, String userId) {
  91. if (SocketUtil.connectMap.isEmpty()) {
  92. return;
  93. }
  94. if (ObjectUtils.isEmpty(userId)) {
  95. for (Map.Entry<String, SocketIOClient> entry : SocketUtil.connectMap.entrySet()) {
  96. entry.getValue().sendEvent(PushData.IRON_OPERATION, AjaxResult.success(message));
  97. }
  98. } else {
  99. //某个客户端信息
  100. SocketIOClient socketClient = SocketUtil.getSocketClient(userId);
  101. if (Objects.nonNull(socketClient)) {
  102. //单独给他发消息
  103. socketClient.sendEvent(PushData.IRON_OPERATION, AjaxResult.success(message));
  104. } else {
  105. log.info("{}已下线,无法发送消息", userId);
  106. }
  107. }
  108. }
  109. /***
  110. * 出铁操作
  111. * @param message 发送的消息内容
  112. * @param isStopSendMsg 是否停止发送信息
  113. */
  114. public static void send2Operation(Object message, Double isStopSendMsg) {
  115. if (SocketUtil.connectMap.isEmpty()) {//|| isStopSendMsg
  116. return;
  117. }
  118. //
  119. for (Map.Entry<String, SocketIOClient> entry : SocketUtil.connectMap.entrySet()) {
  120. entry.getValue().sendEvent(PushData.IRON_OPERATION, AjaxResult.success(message));
  121. }
  122. }
  123. /**
  124. * 实时数据
  125. *
  126. * @return
  127. * @Param
  128. **/
  129. public static void send2RealtimeData(Object message) {
  130. if (SocketUtil.connectMap.isEmpty()) {
  131. return;
  132. }
  133. //
  134. for (Map.Entry<String, SocketIOClient> entry : SocketUtil.connectMap.entrySet()) {
  135. entry.getValue().sendEvent(PushData.IRON_REALTIME_DATA, AjaxResult.success(message));
  136. }
  137. }
  138. /**
  139. * 实时数据
  140. *
  141. * @return
  142. * @Param
  143. **/
  144. public static void send2RealtimeStatus(Object message) {
  145. if (SocketUtil.connectMap.isEmpty()) {
  146. return;
  147. }
  148. //
  149. for (Map.Entry<String, SocketIOClient> entry : SocketUtil.connectMap.entrySet()) {
  150. entry.getValue().sendEvent(PushData.IRON_REALTIME_STATUS, AjaxResult.success(message));
  151. }
  152. }
  153. /**
  154. * 发出预警
  155. *
  156. * @return
  157. * @Param
  158. **/
  159. public static void send2Warn(Object message) {
  160. if (SocketUtil.connectMap.isEmpty()) {
  161. return;
  162. }
  163. //
  164. for (Map.Entry<String, SocketIOClient> entry : SocketUtil.connectMap.entrySet()) {
  165. entry.getValue().sendEvent(PushData.IRON_WARN, AjaxResult.success(message));
  166. }
  167. }
  168. /**
  169. * 取消发出的预警
  170. *
  171. * @return
  172. * @Param
  173. **/
  174. public static void send2CancelWarn(Object message) {
  175. if (SocketUtil.connectMap.isEmpty()) {
  176. return;
  177. }
  178. //
  179. for (Map.Entry<String, SocketIOClient> entry : SocketUtil.connectMap.entrySet()) {
  180. entry.getValue().sendEvent(PushData.IRON_CANCEL_WARN, AjaxResult.success(message));
  181. }
  182. }
  183. /**
  184. * 开始出铁计时
  185. *
  186. * @return
  187. * @Param
  188. **/
  189. public static void send2CostTime(Object message) {
  190. if (SocketUtil.connectMap.isEmpty()) {
  191. return;
  192. }
  193. //
  194. for (Map.Entry<String, SocketIOClient> entry : SocketUtil.connectMap.entrySet()) {
  195. entry.getValue().sendEvent(PushData.IRON_COSTTIME, AjaxResult.success(message));
  196. }
  197. }
  198. /**
  199. * 出铁时间和次数
  200. *
  201. * @return
  202. * @Param
  203. **/
  204. public static void send2IronTimeNo(Object message) {
  205. if (SocketUtil.connectMap.isEmpty()) {
  206. return;
  207. }
  208. //
  209. for (Map.Entry<String, SocketIOClient> entry : SocketUtil.connectMap.entrySet()) {
  210. entry.getValue().sendEvent(PushData.IRON_TIME_NO, AjaxResult.success(message));
  211. }
  212. }
  213. /**
  214. * 打泥量计算
  215. *
  216. * @return
  217. * @Param
  218. **/
  219. public static void send2IronHitMud(Object message) {
  220. if (SocketUtil.connectMap.isEmpty()) {
  221. return;
  222. }
  223. //
  224. for (Map.Entry<String, SocketIOClient> entry : SocketUtil.connectMap.entrySet()) {
  225. entry.getValue().sendEvent(PushData.IRON_HIT_MUD, AjaxResult.success(message));
  226. }
  227. }
  228. /**
  229. * 预计堵口时间
  230. *
  231. * @return
  232. * @Param
  233. **/
  234. public static void send2CloseTime(Object message) {
  235. if (SocketUtil.connectMap.isEmpty()) {
  236. return;
  237. }
  238. //
  239. for (Map.Entry<String, SocketIOClient> entry : SocketUtil.connectMap.entrySet()) {
  240. entry.getValue().sendEvent(PushData.IRON_CLOSETTIME, AjaxResult.success(message));
  241. }
  242. }
  243. /**
  244. * 告警列表
  245. *
  246. * @return
  247. * @Param
  248. **/
  249. public static void send2Exception(Object message) {
  250. if (SocketUtil.connectMap.isEmpty()) {
  251. return;
  252. }
  253. //
  254. for (Map.Entry<String, SocketIOClient> entry : SocketUtil.connectMap.entrySet()) {
  255. entry.getValue().sendEvent(PushData.IRON_EXCEPTION, AjaxResult.success(message));
  256. }
  257. }
  258. }