Commit 68ddffcc authored by duanruiming's avatar duanruiming

[update] 微观大数据平台-添加异常处理

parent 79b434e8
package net.wanji.opt.controller; package net.wanji.opt.controller;
import com.fasterxml.jackson.core.JsonProcessingException;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiResponse; import io.swagger.annotations.ApiResponse;
...@@ -73,7 +72,7 @@ public class TrendController { ...@@ -73,7 +72,7 @@ public class TrendController {
@ApiResponses({ @ApiResponses({
@ApiResponse(code = 200, message = "OK", response = GreenwaveDetailVO.class), @ApiResponse(code = 200, message = "OK", response = GreenwaveDetailVO.class),
}) })
public JsonViewObject greenwaveDetail(@RequestBody GreenwaveDetailBO bo) { public JsonViewObject greenwaveDetail(@RequestBody GreenwaveDetailBO bo) throws Exception {
GreenwaveDetailVO res = trendService.greenwaveDetail(bo); GreenwaveDetailVO res = trendService.greenwaveDetail(bo);
return JsonViewObject.newInstance().success(res); return JsonViewObject.newInstance().success(res);
} }
...@@ -109,8 +108,7 @@ public class TrendController { ...@@ -109,8 +108,7 @@ public class TrendController {
@ApiResponses({ @ApiResponses({
@ApiResponse(code = 200, message = "OK", response = GreenwaveCrossMetricsVO.class), @ApiResponse(code = 200, message = "OK", response = GreenwaveCrossMetricsVO.class),
}) })
public JsonViewObject greenwaveCrossMetrics(@RequestBody GreenwaveIdAndTimeStampBO greenwaveIdAndTimeStampBO) public JsonViewObject greenwaveCrossMetrics(@RequestBody GreenwaveIdAndTimeStampBO greenwaveIdAndTimeStampBO) throws Exception {
throws JsonProcessingException {
List<GreenwaveCrossMetricsVO> res = trendService.greenwaveCrossMetrics(greenwaveIdAndTimeStampBO); List<GreenwaveCrossMetricsVO> res = trendService.greenwaveCrossMetrics(greenwaveIdAndTimeStampBO);
return JsonViewObject.newInstance().success(res); return JsonViewObject.newInstance().success(res);
} }
......
package net.wanji.opt.service; package net.wanji.opt.service;
import com.fasterxml.jackson.core.JsonProcessingException;
import net.wanji.databus.bo.CrossIdBO; import net.wanji.databus.bo.CrossIdBO;
import net.wanji.databus.vo.GreenwaveListVO; import net.wanji.databus.vo.GreenwaveListVO;
import net.wanji.opt.bo.*; import net.wanji.opt.bo.*;
...@@ -35,9 +34,9 @@ public interface TrendService { ...@@ -35,9 +34,9 @@ public interface TrendService {
List<GreenwaveRunMonitorVO> greenwaveRunMonitor(GreenwaveIdBO greenwaveIdBO); List<GreenwaveRunMonitorVO> greenwaveRunMonitor(GreenwaveIdBO greenwaveIdBO);
GreenwaveDetailVO greenwaveDetail(GreenwaveDetailBO greenwaveDetailBO); GreenwaveDetailVO greenwaveDetail(GreenwaveDetailBO greenwaveDetailBO) throws Exception;
List<GreenwaveCrossMetricsVO> greenwaveCrossMetrics(GreenwaveIdAndTimeStampBO greenwaveIdAndTimeStampBO) throws JsonProcessingException; List<GreenwaveCrossMetricsVO> greenwaveCrossMetrics(GreenwaveIdAndTimeStampBO greenwaveIdAndTimeStampBO) throws Exception;
void saveGreenwaveStrategy(SaveGreenwaveStrategyBO saveGreenwaveStrategyBO); void saveGreenwaveStrategy(SaveGreenwaveStrategyBO saveGreenwaveStrategyBO);
......
...@@ -7,7 +7,6 @@ import cn.hutool.core.date.DateUtil; ...@@ -7,7 +7,6 @@ import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.ObjectUtil;
import com.alibaba.excel.util.DateUtils; import com.alibaba.excel.util.DateUtils;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.ObjectMapper;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import net.wanji.common.enums.*; import net.wanji.common.enums.*;
...@@ -498,7 +497,7 @@ public class TrendServiceImpl implements TrendService { ...@@ -498,7 +497,7 @@ public class TrendServiceImpl implements TrendService {
} }
@Override @Override
public GreenwaveDetailVO greenwaveDetail(GreenwaveDetailBO greenwaveDetailBO) { public GreenwaveDetailVO greenwaveDetail(GreenwaveDetailBO greenwaveDetailBO) throws Exception {
String greenwaveName = greenwaveDetailBO.getGreenwaveName(); String greenwaveName = greenwaveDetailBO.getGreenwaveName();
String startDate = greenwaveDetailBO.getStartDate(); String startDate = greenwaveDetailBO.getStartDate();
String endDate = greenwaveDetailBO.getEndDate(); String endDate = greenwaveDetailBO.getEndDate();
...@@ -796,7 +795,7 @@ public class TrendServiceImpl implements TrendService { ...@@ -796,7 +795,7 @@ public class TrendServiceImpl implements TrendService {
} }
private List<GreenwaveDetailVO.GreenwaveCross> buildGreenwaveCrossList( private List<GreenwaveDetailVO.GreenwaveCross> buildGreenwaveCrossList(
Integer greenwaveId, String greenwaveName, String startDate, String endDate) { Integer greenwaveId, String greenwaveName, String startDate, String endDate) throws Exception {
String[] split = greenwaveName.split(" "); // 旅游路 东向西 转山西路至霞景路路段:正向绿波 工作日 19:00-20:00 String[] split = greenwaveName.split(" "); // 旅游路 东向西 转山西路至霞景路路段:正向绿波 工作日 19:00-20:00
String s = split[4]; // 19:00-20:00 String s = split[4]; // 19:00-20:00
...@@ -965,7 +964,7 @@ public class TrendServiceImpl implements TrendService { ...@@ -965,7 +964,7 @@ public class TrendServiceImpl implements TrendService {
} }
private Double calcSpeed(String greenwaveName, String crossId, private Double calcSpeed(String greenwaveName, String crossId,
String startTime, String endTime, String startDate, String endDate) { String startTime, String endTime, String startDate, String endDate) throws Exception{
// 确定协调方向 // 确定协调方向
String[] split = greenwaveName.split(" "); String[] split = greenwaveName.split(" ");
String dirStr = split[1]; String dirStr = split[1];
...@@ -1013,9 +1012,7 @@ public class TrendServiceImpl implements TrendService { ...@@ -1013,9 +1012,7 @@ public class TrendServiceImpl implements TrendService {
} }
@Override @Override
public List<GreenwaveCrossMetricsVO> greenwaveCrossMetrics(GreenwaveIdAndTimeStampBO greenwaveIdAndTimeStampBO) public List<GreenwaveCrossMetricsVO> greenwaveCrossMetrics(GreenwaveIdAndTimeStampBO greenwaveIdAndTimeStampBO) throws Exception {
throws JsonProcessingException {
List<GreenwaveCrossMetricsVO> res = new ArrayList<>(); List<GreenwaveCrossMetricsVO> res = new ArrayList<>();
Long timeStamp = greenwaveIdAndTimeStampBO.getTimeStamp(); Long timeStamp = greenwaveIdAndTimeStampBO.getTimeStamp();
...@@ -1081,14 +1078,19 @@ public class TrendServiceImpl implements TrendService { ...@@ -1081,14 +1078,19 @@ public class TrendServiceImpl implements TrendService {
return res; return res;
} }
private Integer calcTravelTime(String crossId, Integer inDir) throws JsonProcessingException { private Integer calcTravelTime(String crossId, Integer inDir) throws Exception {
// 从 Redis 中获取路段行程时间 try {
String redisKey = crossId + ":" + inDir; // 从 Redis 中获取路段行程时间
Object element = redisUtils.getMaxScoreElement(redisKey); String redisKey = crossId + ":" + inDir;
ObjectMapper objectMapper = new ObjectMapper(); Object element = redisUtils.getMaxScoreElement(redisKey);
if (element != null) { ObjectMapper objectMapper = new ObjectMapper();
CrossEventDTO dto = objectMapper.readValue(element.toString(), CrossEventDTO.class); if (element != null) {
return dto.getTransitTime().intValue(); CrossEventDTO dto = objectMapper.readValue(element.toString(), CrossEventDTO.class);
return dto.getTransitTime().intValue();
}
} catch (Exception e) {
log.error("获取绿波旅行时间异常:", e);
throw new RuntimeException(e);
} }
return 0; return 0;
} }
......
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