Commit 7840839c authored by hanbing's avatar hanbing

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

parent e13b02b3
...@@ -9,11 +9,7 @@ import lombok.extern.slf4j.Slf4j; ...@@ -9,11 +9,7 @@ import lombok.extern.slf4j.Slf4j;
import net.wanji.common.enums.CrossInOutEnum; import net.wanji.common.enums.CrossInOutEnum;
import net.wanji.common.utils.tool.CrossUtil; import net.wanji.common.utils.tool.CrossUtil;
import net.wanji.databus.bo.CrossDirDataHistAvgBO; import net.wanji.databus.bo.CrossDirDataHistAvgBO;
import net.wanji.databus.dao.mapper.CrossDataHistMapper; import net.wanji.databus.dao.mapper.*;
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.po.CrossDataHistPO; import net.wanji.databus.po.CrossDataHistPO;
import net.wanji.databus.po.CrossDataRealtimePO; import net.wanji.databus.po.CrossDataRealtimePO;
import net.wanji.databus.po.CrossDirDataRealtimePO; import net.wanji.databus.po.CrossDirDataRealtimePO;
...@@ -28,10 +24,7 @@ import net.wanji.opt.vo.EvaluateMetricsVO; ...@@ -28,10 +24,7 @@ import net.wanji.opt.vo.EvaluateMetricsVO;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.ArrayList; import java.util.*;
import java.util.Date;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors; import java.util.stream.Collectors;
/** /**
...@@ -74,9 +67,31 @@ public class EvaluateServiceImpl implements EvaluateService { ...@@ -74,9 +67,31 @@ public class EvaluateServiceImpl implements EvaluateService {
Integer minutes = crossIdAndMinutesDTO.getMinutes(); Integer minutes = crossIdAndMinutesDTO.getMinutes();
fillRealtimeData(evaluateCrossDetailVO, crossId, minutes); fillRealtimeData(evaluateCrossDetailVO, crossId, minutes);
// 计算轨迹时间
fillWindowTime(evaluateCrossDetailVO, minutes);
return evaluateCrossDetailVO; 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 @Override
public EvaluateMetricsVO evaluateMetrics(CrossIdAndMinutesDTO crossIdAndMinutesDTO) { public EvaluateMetricsVO evaluateMetrics(CrossIdAndMinutesDTO crossIdAndMinutesDTO) {
String crossId = crossIdAndMinutesDTO.getCrossId(); String crossId = crossIdAndMinutesDTO.getCrossId();
......
...@@ -42,4 +42,11 @@ public class EvaluateCrossDetailVO { ...@@ -42,4 +42,11 @@ public class EvaluateCrossDetailVO {
private Double length; private Double length;
@ApiModelProperty(value = "停车次数(次)") @ApiModelProperty(value = "停车次数(次)")
private Double stopTimes; 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