实时轨迹事件编写
parent
3a9f1a7ef1
commit
88cef461db
|
@ -1,18 +1,24 @@
|
||||||
package com.god.data.service.impl;
|
package com.god.data.service.impl;
|
||||||
|
|
||||||
|
import com.alibaba.fastjson.JSON;
|
||||||
import com.god.common.redis.service.RedisService;
|
import com.god.common.redis.service.RedisService;
|
||||||
import com.god.data.common.domain.CarMessage;
|
import com.god.data.common.domain.CarMessage;
|
||||||
import com.god.data.service.EventService;
|
import com.god.data.service.EventService;
|
||||||
|
import lombok.extern.log4j.Log4j2;
|
||||||
import org.springframework.amqp.rabbit.core.RabbitTemplate;
|
import org.springframework.amqp.rabbit.core.RabbitTemplate;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.data.redis.core.RedisTemplate;
|
import org.springframework.data.redis.core.RedisTemplate;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 实时轨迹事件
|
* 实时轨迹事件
|
||||||
* @Author fst
|
* @Author fst
|
||||||
* @date 2023/11/27 21:47
|
* @date 2023/11/27 21:47
|
||||||
*/
|
*/
|
||||||
|
@Log4j2
|
||||||
@Service(value = "RealTimeTrajectory")
|
@Service(value = "RealTimeTrajectory")
|
||||||
public class RealTimeTrajectoryEvent implements EventService {
|
public class RealTimeTrajectoryEvent implements EventService {
|
||||||
|
|
||||||
|
@ -25,16 +31,46 @@ public class RealTimeTrajectoryEvent implements EventService {
|
||||||
@Autowired
|
@Autowired
|
||||||
private RabbitTemplate rabbitTemplate;
|
private RabbitTemplate rabbitTemplate;
|
||||||
|
|
||||||
|
public static final String LOCUS = "locus";
|
||||||
|
/**
|
||||||
|
* 添加时间
|
||||||
|
*/
|
||||||
@Override
|
@Override
|
||||||
public void insert() {
|
public void insert() {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 执行事件
|
||||||
|
* @param carMessage
|
||||||
|
*/
|
||||||
@Override
|
@Override
|
||||||
public void execute(CarMessage carMessage) {
|
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
|
@Override
|
||||||
public void remove(String event) {
|
public void remove(String event) {
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue