Commit 7840839c authored by hanbing's avatar hanbing

[update] 信号评价-路口详情返回轨迹数据开始时间和结束时间

parent e13b02b3
......@@ -9,11 +9,7 @@ import lombok.extern.slf4j.Slf4j;
import net.wanji.common.enums.CrossInOutEnum;
import net.wanji.common.utils.tool.CrossUtil;
import net.wanji.databus.bo.CrossDirDataHistAvgBO;
import net.wanji.databus.dao.mapper.CrossDataHistMapper;
import net.wanji.databus.dao.mapper.CrossDataRealtimeMapper;
import net.wanji.databus.dao.mapper.CrossDirDataHistMapper;
import net.wanji.databus.dao.mapper.CrossDirDataRealtimeMapper;
import net.wanji.databus.dao.mapper.BaseCrossInfoMapper;
import net.wanji.databus.dao.mapper.*;
import net.wanji.databus.po.CrossDataHistPO;
import net.wanji.databus.po.CrossDataRealtimePO;
import net.wanji.databus.po.CrossDirDataRealtimePO;
......@@ -28,10 +24,7 @@ import net.wanji.opt.vo.EvaluateMetricsVO;
import org.jetbrains.annotations.NotNull;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Map;
import java.util.*;
import java.util.stream.Collectors;
/**
......@@ -74,9 +67,31 @@ public class EvaluateServiceImpl implements EvaluateService {
Integer minutes = crossIdAndMinutesDTO.getMinutes();
fillRealtimeData(evaluateCrossDetailVO, crossId, minutes);
// 计算轨迹时间
fillWindowTime(evaluateCrossDetailVO, minutes);
return evaluateCrossDetailVO;
}
private void fillWindowTime(EvaluateCrossDetailVO evaluateCrossDetailVO, Integer minutes) {
// 获取当前时间的整分钟Date
Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.SECOND, 0);
calendar.set(Calendar.MILLISECOND, 0);
Date nowDate = calendar.getTime();
// todo 固定当前时间为 2023-05-21 19:00:00
nowDate = DateUtil.parse("2023-05-21 19:00:00");
// 向前推n分钟作为结束时间
int leftMinute = DateUtil.minute(nowDate) % 5;
Date windowEndTime = DateUtil.offsetMinute(nowDate, -leftMinute);
// 再向前推 2*时间间隔 作为开始时间
Date windowStartTime = DateUtil.offsetMinute(windowEndTime, -2 * minutes);
evaluateCrossDetailVO.setWindowStartTime(windowStartTime);
evaluateCrossDetailVO.setWindowEndTime(windowEndTime);
}
@Override
public EvaluateMetricsVO evaluateMetrics(CrossIdAndMinutesDTO crossIdAndMinutesDTO) {
String crossId = crossIdAndMinutesDTO.getCrossId();
......
......@@ -42,4 +42,11 @@ public class EvaluateCrossDetailVO {
private Double length;
@ApiModelProperty(value = "停车次数(次)")
private Double stopTimes;
@ApiModelProperty(value = "轨迹开始时间")
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy/MM/dd HH:mm:ss", timezone = "GMT+8")
private Date windowStartTime;
@ApiModelProperty(value = "轨迹结束时间")
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy/MM/dd HH:mm:ss", timezone = "GMT+8")
private Date windowEndTime;
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment