xuhy
2026-04-18 3dc35915a74fb5e6042981f73830e88f45179b63
xp-robotaxi-push-message-boot/src/main/java/com/xiaopeng/pushMessage/webSocket/handler/WebSocketTextFrameHandler.java
@@ -13,8 +13,9 @@
import org.springframework.util.StringUtils;
import java.time.LocalDateTime;
import java.util.Objects;
import java.util.UUID;
import java.util.*;
import java.util.function.Function;
import java.util.stream.Collectors;
/**
 * TextWebSocketFrame 表示一个文本桢
@@ -32,6 +33,16 @@
    @Autowired
    private WebSocketAuthHandler authHandler;
    Map<String, BusinessMsgHandler> businessMsgHandlers;
    public WebSocketTextFrameHandler(List<BusinessMsgHandler> handlers) {
        this.businessMsgHandlers = handlers.stream()
                .collect(Collectors.toMap(
                        BusinessMsgHandler::getMessageType,
                        Function.identity()
                ));
    }
    @Override
    protected void channelRead0(ChannelHandlerContext ctx, TextWebSocketFrame msg) throws Exception {
@@ -143,6 +154,8 @@
        if (appUserId != null) {
            log.info("收到用户 {} 的业务消息: {}", appUserId, messageObj.toJSONString());
            businessMsgHandlers.get(messageObj.getString("type")).handle(appUserId, messageObj.getString("message"));
            // 回复消息
            JSONObject response = new JSONObject();
            response.put("type", "message_response");