实时轨迹事件编写
parent
3a9f1a7ef1
commit
88cef461db
|
@ -1,18 +1,24 @@
|
|||
package com.god.data.service.impl;
|
||||
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.god.common.redis.service.RedisService;
|
||||
import com.god.data.common.domain.CarMessage;
|
||||
import com.god.data.service.EventService;
|
||||
import lombok.extern.log4j.Log4j2;
|
||||
import org.springframework.amqp.rabbit.core.RabbitTemplate;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.data.redis.core.RedisTemplate;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 实时轨迹事件
|
||||
* @Author fst
|
||||
* @date 2023/11/27 21:47
|
||||
*/
|
||||
@Log4j2
|
||||
@Service(value = "RealTimeTrajectory")
|
||||
public class RealTimeTrajectoryEvent implements EventService {
|
||||
|
||||
|
@ -25,16 +31,46 @@ public class RealTimeTrajectoryEvent implements EventService {
|
|||
@Autowired
|
||||
private RabbitTemplate rabbitTemplate;
|
||||
|
||||
public static final String LOCUS = "locus";
|
||||
/**
|
||||
* 添加时间
|
||||
*/
|
||||
@Override
|
||||
public void insert() {
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* 执行事件
|
||||
* @param carMessage
|
||||
*/
|
||||
@Override
|
||||
public void execute(CarMessage carMessage) {
|
||||
System.out.println("冯凯牛魔王");
|
||||
log.info("车辆:{} 触发实时轨迹,经度:{},纬度:{}",
|
||||
carMessage.getVin(),
|
||||
carMessage.getLongitude(),
|
||||
carMessage.getLatitude()
|
||||
);
|
||||
//判断是否有key 有则更新数据
|
||||
if (redisService.hasKey(LOCUS + carMessage.getVin())){
|
||||
//获取所有车辆数据
|
||||
List<Object> cacheList = redisService.getCacheList(carMessage.getVin());
|
||||
//添加车辆信息
|
||||
cacheList.add(carMessage);
|
||||
//redis更新
|
||||
redisService.setCacheList(LOCUS + carMessage.getVin(), cacheList);;
|
||||
}else {//没有创建对应缓存
|
||||
ArrayList<CarMessage> carMessages = new ArrayList<>();
|
||||
carMessages.add(carMessage);
|
||||
redisService.setCacheList(LOCUS + carMessage.getVin(),carMessages);
|
||||
}
|
||||
//rabbit进行通知开启实时轨迹
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除事件
|
||||
* @param event
|
||||
*/
|
||||
@Override
|
||||
public void remove(String event) {
|
||||
|
||||
|
|
Loading…
Reference in New Issue