master
parent
2949e64416
commit
03cbd4ea4c
|
@ -101,4 +101,15 @@ public class CarController {
|
|||
public Result<VehicleData> listRealTime(@RequestParam String vin){
|
||||
return carService.listRealTime(vin);
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除实时轨迹事件
|
||||
* @param vin
|
||||
* @return
|
||||
*/
|
||||
@PostMapping("/removeRealTime")
|
||||
public Result removeRealTime(@RequestParam String vin){
|
||||
return carService.removeRealTime(vin);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -54,4 +54,5 @@ public class HistoricalTrackController {
|
|||
public Result<List<VehicleData>> carRecord(@RequestBody HistoryReq historyReq){
|
||||
return Result.success(historicalTrackService.carRecord(historyReq));
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -69,4 +69,11 @@ public interface CarService {
|
|||
* @return
|
||||
*/
|
||||
Result<VehicleData> listRealTime(String vin);
|
||||
|
||||
/**
|
||||
* 删除实时轨迹事件
|
||||
* @param vin
|
||||
* @return
|
||||
*/
|
||||
Result removeRealTime(String vin);
|
||||
}
|
||||
|
|
|
@ -144,7 +144,6 @@ public class CarServiceImpl implements CarService {
|
|||
@Override
|
||||
public Result realTime(String vin) {
|
||||
List<String> cacheList = redisService.getCacheList("event_"+vin);//根据vin查询出车辆的事件列表
|
||||
redisService.deleteObject("event_"+vin);
|
||||
cacheList.add("runtimeTraceEvent");//添加实时轨迹事件
|
||||
redisService.setCacheList("event_"+vin,cacheList);//将事件列表存入redis
|
||||
return Result.success("添加事件成功!");
|
||||
|
@ -157,20 +156,19 @@ public class CarServiceImpl implements CarService {
|
|||
*/
|
||||
@Override
|
||||
public Result<VehicleData> listRealTime(String vin) {
|
||||
// 获取当前时间戳
|
||||
long currentTimestamp = System.currentTimeMillis();
|
||||
|
||||
// 设置score的范围为负无穷到当前时间戳,获取最新的数据
|
||||
Set<ZSetOperations.TypedTuple<String>> vehicleData = redisTemplate.opsForZSet().reverseRangeByScoreWithScores("runtimeTraceEvent:"+vin, Double.NEGATIVE_INFINITY, currentTimestamp, 0, 1);
|
||||
|
||||
// 检查是否有数据
|
||||
if (vehicleData != null && !vehicleData.isEmpty()) {
|
||||
// 获取最新的数据
|
||||
ZSetOperations.TypedTuple<String> latestData = vehicleData.iterator().next();
|
||||
VehicleData latestVehicleData = VehicleData.getBuild(Objects.requireNonNull(latestData.getValue()));
|
||||
|
||||
return Result.success(latestVehicleData);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除实时轨迹事件
|
||||
* @param vin
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public Result removeRealTime(String vin) {
|
||||
List<String> cacheList = redisService.getCacheList("event_" + vin);
|
||||
cacheList.remove("runtimeTraceEvent");
|
||||
redisService.setCacheList("event_"+vin,cacheList);
|
||||
return Result.success("移除事件成功!");
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue