peng
2026-03-24 ca41db25ab3da9ddd509b79fd783b60d2e66056f
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
package com.tievd.jyz.kafka;
 
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.tievd.jyz.dto.CaptureVehicleDTO;
import com.tievd.jyz.handler.CameraIdentifyHandler;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.kafka.annotation.KafkaListener;
import org.springframework.kafka.support.Acknowledgment;
import org.springframework.stereotype.Component;
 
/**
 * 进出口高速摄像头抓拍数据监听(使用大数据GA1400数据中台中转)
 * @author Wang
 */
@Slf4j
@Component
public class MqKafkaListener {
 
    public static final String KAFKA_TOPIC_SEMI_VEHICLE = "semi-vehicle";
    
    @Autowired
    CameraIdentifyHandler cameraIdentifyHandler;
    
    /**
      * 订阅车辆抓拍数据
     * @param message
     * @param ack 手动提交
     */
    @KafkaListener(topics = KAFKA_TOPIC_SEMI_VEHICLE)
    public void deviceRegister(final String message, Acknowledgment ack) {
        try{
            log.info("接收到车辆抓拍数据:" + message);
            CaptureVehicleDTO captureVehicleDTO = JSON.toJavaObject(JSONObject.parseObject(message), CaptureVehicleDTO.class);
            log.info("captureVehicleDTO:" + captureVehicleDTO);
            //TODO
            cameraIdentifyHandler.handle(captureVehicleDTO);
        }catch (Exception ex){
            log.error(ex.getMessage(),ex);
        }finally {
            ack.acknowledge();
        }
    }
}