liujie
2026-05-20 581646569a0273486c742a60961ecd98e60c6773
xp-robotaxi-automatic-pilot-boot/src/main/java/com/xiaopeng/automaticPilot/controller/KafkaTestController.java
@@ -1,11 +1,16 @@
package com.xiaopeng.automaticPilot.controller;
import com.alibaba.fastjson2.JSONObject;
import com.xiaopeng.api.vo.automaticPilot.MqttPublishVo;
import com.xiaopeng.automaticPilot.service.KafkaConsumerService;
import com.xiaopeng.common.core.domain.R;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.kafka.annotation.KafkaListener;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController;
@Slf4j
@RestController
@@ -14,28 +19,46 @@
    @Autowired
    private KafkaConsumerService kafkaConsumerService;
    //TODO 少了factory属性声明
    /**
     * 消费消息 - XPU上报Robotaxi云端的消息topic(高优先级)
     *
     * @param message 消息内容
     */
    @PostMapping("/test/kafka/xpu-high")
    @KafkaListener(topics = "topic-prod-robotaxi-xpu-high", groupId = "group-robotaxi-xpu")
    public void topicProdRobotaxiXpuHigh(String message) {
    public void topicProdRobotaxiXpuHigh(@RequestBody String message) {
        log.info("收到XPU上报高优先级主题消息: {}", message);
        kafkaConsumerService.topicProdRobotaxiXpuHigh(message);
    }
    //TODO 少了factory属性声明
    /**
     * 消费消息 - XPU上报Robotaxi云端的消息topic(低优先级)
     *
     * @param message 消息内容
     */
    @PostMapping("/test/kafka/xpu-normal")
    @KafkaListener(topics = "topic-prod-robotaxi-xpu-normal", groupId = "group-robotaxi-xpu")
    public void topicProdRobotaxiXpuNormal(String message) {
        log.info("收到XPU上报低优先级主题消息: {}", message);
        kafkaConsumerService.topicProdRobotaxiXpuNormal(message);
    }
    /**
     * 模拟推送XPU消息
     * @param message
     * @return
     */
    @PostMapping("/base/v1/pushXPUMessage")
    public R pushXPUMessage(@RequestBody String message) {
        log.info("收到XPU推送消息: {}", message);
        JSONObject json = new JSONObject();
        json.put("ts", System.currentTimeMillis());
        json.put("payload", message);
        kafkaConsumerService.topicProdRobotaxiXpuHigh(json.toJSONString());
        return R.ok();
    }
}