package top.haijunit.train.utils; import cn.hutool.core.util.StrUtil; import cn.hutool.json.JSONObject; import cn.hutool.json.JSONUtil; import lombok.AllArgsConstructor; import lombok.Data; import lombok.experimental.UtilityClass; import lombok.extern.slf4j.Slf4j; import top.haijunit.common.utils.JsonUtils; import top.haijunit.train.device.domain.CommandEnum; import top.haijunit.websocket.utils.WebSocketUtils; /** * @author zhanghaijun * @date 2023/11/26 21:31 * @description [一句话描述该类的功能] */ @Slf4j @UtilityClass public class TrainWebSocketUtils { public static void sendMessage(CommandEnum command, Object message) { String data = JsonUtils.toJsonString(new SocketMessage(command, message)); if (StrUtil.isNotBlank(command.getNameStr())) { log.info("发送消息:{}", data); } WebSocketUtils.sendMessage(data); } public static void sendMessage(String trainNo, int state) { JSONObject object = JSONUtil.createObj(); object.set(CommandEnum.TRAIN_OPEN_DOOR.getNameStr(), trainNo); object.set(CommandEnum.TRAIN_OPEN_DOOR.getStatusStr(), state); sendMessage(CommandEnum.TRAIN_OPEN_DOOR, object); } @Data @AllArgsConstructor public static class SocketMessage { private final CommandEnum cmd; private final Object data; } }