|
|
|
package com.zc.business.controller;
|
|
|
|
|
|
|
|
import com.ruoyi.common.core.domain.AjaxResult;
|
|
|
|
import com.zc.business.domain.DcCongestedSectionData;
|
|
|
|
import com.zc.business.domain.DcTrafficMetricsData;
|
|
|
|
import com.zc.business.domain.DcTrafficSectionData;
|
|
|
|
import com.zc.business.request.DcTrafficMetricsDataRequest;
|
|
|
|
import com.zc.business.request.DcTrafficSectionDataRequest;
|
|
|
|
import com.zc.business.service.IDcTrafficStatisticsService;
|
|
|
|
import io.swagger.annotations.Api;
|
|
|
|
import io.swagger.annotations.ApiOperation;
|
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
|
import org.springframework.web.bind.annotation.*;
|
|
|
|
|
|
|
|
import java.util.List;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* 交通数据统计
|
|
|
|
*
|
|
|
|
* @author xiepufeng
|
|
|
|
*/
|
|
|
|
@Api(tags = "交通数据统计")
|
|
|
|
@RestController
|
|
|
|
@RequestMapping("/business/traffic-statistics")
|
|
|
|
public class DcTrafficStatisticsController {
|
|
|
|
|
|
|
|
@Autowired
|
|
|
|
private IDcTrafficStatisticsService dcTrafficStatisticsService;
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
* 获取当前交通截面数据
|
|
|
|
*
|
|
|
|
* @param request 请求参数,封装了对于交通截面数据查询的详细要求
|
|
|
|
* @return 返回一个AjaxResult对象,其中包含了查询结果。如果查询成功,则结果中封装了当前交通截面的数据(DcTrafficSectionData类型)
|
|
|
|
*/
|
|
|
|
@ApiOperation("获取当前交通截面数据")
|
|
|
|
@GetMapping("/current/sections")
|
|
|
|
public AjaxResult currentSections(DcTrafficSectionDataRequest request){
|
|
|
|
// 调用服务层方法,查询当前交通截面数据
|
|
|
|
List<DcTrafficSectionData> dcTrafficMetricsData = dcTrafficStatisticsService.currentSections(request);
|
|
|
|
// 将查询结果封装为AjaxResult对象返回
|
|
|
|
return AjaxResult.success(dcTrafficMetricsData);
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* 获取历史交通截面数据
|
|
|
|
*
|
|
|
|
* @param request 包含交通截面数据请求参数的对象
|
|
|
|
* @return 返回一个包含历史交通截面数据的AjaxResult对象
|
|
|
|
*/
|
|
|
|
@ApiOperation("获取历史交通截面数据")
|
|
|
|
@GetMapping("/history/sections")
|
|
|
|
public AjaxResult historySections(DcTrafficSectionDataRequest request){
|
|
|
|
// 调用服务层方法,获取历史交通截面的统计数据
|
|
|
|
List<DcTrafficSectionData> dcTrafficMetricsData = dcTrafficStatisticsService.historySections(request);
|
|
|
|
// 将获取到的历史交通截面数据封装成AjaxResult对象并返回
|
|
|
|
return AjaxResult.success(dcTrafficMetricsData);
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
* 获取当前交通特征指数
|
|
|
|
*
|
|
|
|
* @param request 请求参数,封装了获取交通指标所需的数据和条件
|
|
|
|
* @return 返回当前交通特征指数的数据结果,使用AjaxResult包装
|
|
|
|
*/
|
|
|
|
@ApiOperation("获取当前交通特征指数")
|
|
|
|
@GetMapping("/current/metrics")
|
|
|
|
public AjaxResult currentTrafficMetrics(DcTrafficMetricsDataRequest request){
|
|
|
|
// 调用服务层方法,获取当前交通指标数据
|
|
|
|
List<DcTrafficMetricsData> dcTrafficMetricsData = dcTrafficStatisticsService.currentTrafficMetrics(request);
|
|
|
|
// 将获取到的交通指标数据封装为成功的结果并返回
|
|
|
|
return AjaxResult.success(dcTrafficMetricsData);
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* 获取历史交通特征指数
|
|
|
|
*
|
|
|
|
* @param request 请求参数,包含需要查询的历史交通特征指数的详细信息
|
|
|
|
* @return 返回一个AjaxResult对象,其中包含了查询结果的成功状态和历史交通特征指数数据列表
|
|
|
|
*/
|
|
|
|
@ApiOperation("获取历史交通特征指数")
|
|
|
|
@GetMapping("/history/metrics")
|
|
|
|
public AjaxResult historyTrafficMetrics(DcTrafficMetricsDataRequest request){
|
|
|
|
// 调用服务层方法,查询历史交通特征指数数据
|
|
|
|
List<DcTrafficMetricsData> dcTrafficMetricsDataList = dcTrafficStatisticsService.historyTrafficMetrics(request);
|
|
|
|
// 将查询结果封装成成功响应并返回
|
|
|
|
return AjaxResult.success(dcTrafficMetricsDataList);
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* 获取当前拥堵路段
|
|
|
|
*
|
|
|
|
* @param direction 交通方向,指定查询哪个方向的拥堵路段。具体方向的定义根据实际业务而定。
|
|
|
|
* @return 返回一个AjaxResult对象,其中包含了查询结果。如果查询成功,则结果中封装了当前拥堵路段的数据列表。
|
|
|
|
*/
|
|
|
|
@ApiOperation("获取当前拥堵路段")
|
|
|
|
@GetMapping("/current/congested")
|
|
|
|
public AjaxResult currentCongestedSection(Byte direction){
|
|
|
|
// 调用服务层方法,获取当前交通指标数据
|
|
|
|
List<DcCongestedSectionData> dcTrafficMetricsData = dcTrafficStatisticsService.currentCongestedSection(direction);
|
|
|
|
// 将获取到的交通指标数据封装为成功的结果并返回
|
|
|
|
return AjaxResult.success(dcTrafficMetricsData);
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|