Commit f70c668b authored by duanruiming's avatar duanruiming

[update] 添加异常处理

parent e54bc670
......@@ -1967,77 +1967,102 @@ public class TrendServiceImpl implements TrendService {
@Override
public List<TableQueryVO.CycleDataElement> laneTrafficIndex(CommonCrossIdDateTimeVO crossIdDateTimeVO) throws Exception {
String crossId = crossIdDateTimeVO.getCrossId();
int start = (int) (crossIdDateTimeVO.getStart().getTime() / 1000);
int end = (int) (crossIdDateTimeVO.getEnd().getTime() / 1000);
try {
String crossId = crossIdDateTimeVO.getCrossId();
int start = (int) (crossIdDateTimeVO.getStart().getTime() / 1000);
int end = (int) (crossIdDateTimeVO.getEnd().getTime() / 1000);
// 查询周期数据
List<CrossLaneDataHistPOExt> poExtList = crossLaneDataHistMapper.selectByCrossIdAndTimeSpan(crossId, start, end);
return buildCycleData(crossId, poExtList);
// 查询周期数据
List<CrossLaneDataHistPOExt> poExtList = crossLaneDataHistMapper.selectByCrossIdAndTimeSpan(crossId, start, end);
return buildCycleData(crossId, poExtList);
} catch (Exception e) {
log.error("车道数据查询异常:", e);
throw new RuntimeException(e);
}
}
@Override
public List<TableQueryVO.RealTimeDataElement> laneSnapshotIndex(LaneSnapshotIndexVO laneSnapshotIndexVO) throws Exception {
String crossId = laneSnapshotIndexVO.getCrossId();
int start = (int) (laneSnapshotIndexVO.getStart().getTime() / 1000);
int end = (int) (laneSnapshotIndexVO.getEnd().getTime() / 1000);
int pageNum = laneSnapshotIndexVO.getPageNum();
String laneId = laneSnapshotIndexVO.getLaneId();
// 查询秒级数据
List<CrossLaneSnapshotDataDTO> dtoList =
laneSnapshotDataQueryService.queryByCrossIdAndTimeSpan(crossId, start, end, pageNum, laneId);
return buildRealTimeList(dtoList);
try {
String crossId = laneSnapshotIndexVO.getCrossId();
int start = (int) (laneSnapshotIndexVO.getStart().getTime() / 1000);
int end = (int) (laneSnapshotIndexVO.getEnd().getTime() / 1000);
int pageNum = laneSnapshotIndexVO.getPageNum();
String laneId = laneSnapshotIndexVO.getLaneId();
// 查询秒级数据
List<CrossLaneSnapshotDataDTO> dtoList =
laneSnapshotDataQueryService.queryByCrossIdAndTimeSpan(crossId, start, end, pageNum, laneId);
return buildRealTimeList(dtoList);
} catch (Exception e) {
log.error("车道快照数据查询异常:", e);
throw new Exception(e);
}
}
@Override
public List<AnalysisRidTurnIndicators> lanePeriodTurnData(LanePeriodTurnVO lanePeriodTurnVO) throws Exception {
String crossId = lanePeriodTurnVO.getCrossId();
Date start = lanePeriodTurnVO.getStart();
Date end = lanePeriodTurnVO.getEnd();
String granularity = lanePeriodTurnVO.getGranularity();
if (StringUtils.isBlank(granularity)) {
granularity = "5m";
try {
String crossId = lanePeriodTurnVO.getCrossId();
Date start = lanePeriodTurnVO.getStart();
Date end = lanePeriodTurnVO.getEnd();
String granularity = lanePeriodTurnVO.getGranularity();
if (StringUtils.isBlank(granularity)) {
granularity = "5m";
}
LambdaQueryWrapper<AnalysisRidTurnIndicators> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(AnalysisRidTurnIndicators::getCrossId, crossId);
queryWrapper.eq(AnalysisRidTurnIndicators::getGranularity, granularity);
queryWrapper.between(AnalysisRidTurnIndicators::getRuksj, start, end);
return ridTurnIndicatorsMapper.selectList(queryWrapper);
} catch (Exception e) {
log.error("全是周期车道数据方向转向查询异常:", e);
throw new Exception(e);
}
LambdaQueryWrapper<AnalysisRidTurnIndicators> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(AnalysisRidTurnIndicators::getCrossId, crossId);
queryWrapper.eq(AnalysisRidTurnIndicators::getGranularity, granularity);
queryWrapper.between(AnalysisRidTurnIndicators::getRuksj, start, end);
return ridTurnIndicatorsMapper.selectList(queryWrapper);
}
@Override
public List<HoloEventInfoPO> holoEvenList(CommonCrossIdDateTimeVO crossIdDateTimeVO) throws Exception {
LambdaQueryWrapper<HoloEventInfoPO> queryWrapper = new LambdaQueryWrapper<>();
String crossId = crossIdDateTimeVO.getCrossId();
Date start = crossIdDateTimeVO.getStart();
LocalDateTime localDateTime1 = LocalDateTime.ofInstant(start.toInstant(), ZoneId.of("+8"));
Date end = crossIdDateTimeVO.getEnd();
LocalDateTime localDateTime2 = LocalDateTime.ofInstant(end.toInstant(), ZoneId.of("+8"));
queryWrapper.eq(HoloEventInfoPO::getCrossId, crossId);
queryWrapper.between(HoloEventInfoPO::getDetectTime, localDateTime1, localDateTime2);
return holoEventMapper.selectList(queryWrapper);
try {
LambdaQueryWrapper<HoloEventInfoPO> queryWrapper = new LambdaQueryWrapper<>();
String crossId = crossIdDateTimeVO.getCrossId();
Date start = crossIdDateTimeVO.getStart();
LocalDateTime localDateTime1 = LocalDateTime.ofInstant(start.toInstant(), ZoneId.of("+8"));
Date end = crossIdDateTimeVO.getEnd();
LocalDateTime localDateTime2 = LocalDateTime.ofInstant(end.toInstant(), ZoneId.of("+8"));
queryWrapper.eq(HoloEventInfoPO::getCrossId, crossId);
queryWrapper.between(HoloEventInfoPO::getDetectTime, localDateTime1, localDateTime2);
return holoEventMapper.selectList(queryWrapper);
} catch (Exception e) {
log.error("全息事件查询异常:", e);
throw new Exception(e);
}
}
@Override
public List<LaneIdAliasNameVO> laneIdList(CommonCrossIdVO commonCrossIdVO) throws Exception {
List<LaneIdAliasNameVO> laneIdAliasNameVOS = new ArrayList<>();
LambdaQueryWrapper<CrossBaseLaneInfoPO> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(CrossBaseLaneInfoPO::getCrossId, commonCrossIdVO.getCrossId());
queryWrapper.eq(CrossBaseLaneInfoPO::getType, "2");
List<CrossBaseLaneInfoPO> laneInfoPOS = crossBaseLaneInfoMapper.selectList(queryWrapper);
if (!CollectionUtils.isEmpty(laneInfoPOS)) {
for (CrossBaseLaneInfoPO po : laneInfoPOS) {
LaneIdAliasNameVO laneIdAliasNameVO = new LaneIdAliasNameVO();
String laneId = po.getId();
Integer dir = po.getDir();
Integer turn = po.getTurn();
String dirName = BaseEnum.SignalDirectionEnum.getNameByCode(dir);
String turnName = TurnConvertEnum.getDescByKey(turn);
laneIdAliasNameVO.setLaneId(laneId);
laneIdAliasNameVO.setAliasName(String.join("-", po.getCrossId(), dirName, turnName, laneId.substring(laneId.length() - 2)));
laneIdAliasNameVOS.add(laneIdAliasNameVO);
try {
List<LaneIdAliasNameVO> laneIdAliasNameVOS = new ArrayList<>();
LambdaQueryWrapper<CrossBaseLaneInfoPO> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(CrossBaseLaneInfoPO::getCrossId, commonCrossIdVO.getCrossId());
queryWrapper.eq(CrossBaseLaneInfoPO::getType, "2");
List<CrossBaseLaneInfoPO> laneInfoPOS = crossBaseLaneInfoMapper.selectList(queryWrapper);
if (!CollectionUtils.isEmpty(laneInfoPOS)) {
for (CrossBaseLaneInfoPO po : laneInfoPOS) {
LaneIdAliasNameVO laneIdAliasNameVO = new LaneIdAliasNameVO();
String laneId = po.getId();
Integer dir = po.getDir();
Integer turn = po.getTurn();
String dirName = BaseEnum.SignalDirectionEnum.getNameByCode(dir);
String turnName = TurnConvertEnum.getDescByKey(turn);
laneIdAliasNameVO.setLaneId(laneId);
laneIdAliasNameVO.setAliasName(String.join("-", dirName, turnName, laneId.substring(laneId.length() - 2)));
laneIdAliasNameVOS.add(laneIdAliasNameVO);
}
}
return laneIdAliasNameVOS;
} catch (Exception e) {
log.error("车道基本信息查询失败:", e);
throw new Exception(e);
}
return laneIdAliasNameVOS;
}
}
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