TrainWebSocketUtils.java 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. package top.haijunit.train.utils;
  2. import cn.hutool.core.util.StrUtil;
  3. import cn.hutool.json.JSONObject;
  4. import cn.hutool.json.JSONUtil;
  5. import lombok.AllArgsConstructor;
  6. import lombok.Data;
  7. import lombok.experimental.UtilityClass;
  8. import lombok.extern.slf4j.Slf4j;
  9. import top.haijunit.common.utils.JsonUtils;
  10. import top.haijunit.train.device.domain.CommandEnum;
  11. import top.haijunit.websocket.utils.WebSocketUtils;
  12. /**
  13. * @author zhanghaijun
  14. * @date 2023/11/26 21:31
  15. * @description [一句话描述该类的功能]
  16. */
  17. @Slf4j
  18. @UtilityClass
  19. public class TrainWebSocketUtils {
  20. public static void sendMessage(CommandEnum command, Object message) {
  21. String data = JsonUtils.toJsonString(new SocketMessage(command, message));
  22. if (StrUtil.isNotBlank(command.getNameStr())) {
  23. log.info("发送消息:{}", data);
  24. }
  25. WebSocketUtils.sendMessage(data);
  26. }
  27. public static void sendMessage(String trainNo, int state) {
  28. JSONObject object = JSONUtil.createObj();
  29. object.set(CommandEnum.TRAIN_OPEN_DOOR.getNameStr(), trainNo);
  30. object.set(CommandEnum.TRAIN_OPEN_DOOR.getStatusStr(), state);
  31. sendMessage(CommandEnum.TRAIN_OPEN_DOOR, object);
  32. }
  33. @Data
  34. @AllArgsConstructor
  35. public static class SocketMessage {
  36. private final CommandEnum cmd;
  37. private final Object data;
  38. }
  39. }