puzhibing
2026-04-17 26d3497a464b057ffe5043a524e95592c4ba0740
xp-robotaxi-automatic-pilot-boot/src/main/java/com/xiaopeng/automaticPilot/controller/KafkaTestController.java
@@ -1,64 +1,64 @@
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
public class KafkaTestController {
    @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(@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();
    }
}
//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
//public class KafkaTestController {
//
//    @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(@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();
//    }
//}