package com.stylefeng.guns.modular.system.controller.specialTrain; import com.aliyun.oss.ServiceException; import com.stylefeng.guns.core.base.controller.BaseController; import com.stylefeng.guns.modular.system.response.*; import com.stylefeng.guns.modular.system.service.TOrderStatisticsService; import com.stylefeng.guns.modular.system.util.ResultUtil; import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.ResponseBody; import java.util.List; /** * 订单相关统计,可视化数据 * * @author Lux * @version 1.0.0 * @since 2026/6/22 11:30 */ @Slf4j @AllArgsConstructor @Controller @RequestMapping("/gunsApi/tOrderStatistics") public class TOrderStatisticsController extends BaseController { private final TOrderStatisticsService orderStatisticsService; /** * 年度趋势统计 */ @ResponseBody @RequestMapping(value = "/annualTrend", method = RequestMethod.GET) public ResultUtil annualTrend(String year) { try { List annualTrendList = orderStatisticsService.annualTrendStatistics(year); return ResultUtil.success(annualTrendList); } catch (ServiceException e) { log.error("可视化数据统计异常", e); return ResultUtil.error(e.getErrorMessage()); } } /** * 总体订单统计 */ @ResponseBody @RequestMapping(value = "/totalOrder", method = RequestMethod.GET) public ResultUtil totalOrder(String startDate, String endDate) { try { TOrderStatisticsTotalOrderVo totalOrderVo = orderStatisticsService.totalOrderStatistics(startDate, endDate); return ResultUtil.success(totalOrderVo); } catch (ServiceException e) { log.error("可视化数据统计异常", e); return ResultUtil.error(e.getErrorMessage()); } } /** * 新增乘客统计 */ @ResponseBody @RequestMapping(value = "/newAddPassenger", method = RequestMethod.GET) public ResultUtil newAddPassenger(Integer type) { try { List countVos = orderStatisticsService.newAddPassengerStatistics(type); return ResultUtil.success(countVos); } catch (ServiceException e) { log.error("可视化数据统计异常", e); return ResultUtil.error(e.getErrorMessage()); } } /** * 订单量统计 */ @ResponseBody @RequestMapping(value = "/orderCount", method = RequestMethod.GET) public ResultUtil orderCount(Integer type) { try { List countVos = orderStatisticsService.orderCountStatistics(type); return ResultUtil.success(countVos); } catch (ServiceException e) { log.error("可视化数据统计异常", e); return ResultUtil.error(e.getErrorMessage()); } } /** * 当日各时段统计 */ @ResponseBody @RequestMapping(value = "/orderDayHourCount", method = RequestMethod.GET) public ResultUtil orderDayHourCount(Integer startHour, Integer endHour) { try { List countVos = orderStatisticsService.orderDayHourCount(startHour, endHour); return ResultUtil.success(countVos); } catch (ServiceException e) { log.error("可视化数据统计异常", e); return ResultUtil.error(e.getErrorMessage()); } } /** * 司机接单排名统计 */ @ResponseBody @RequestMapping(value = "/driverCar", method = RequestMethod.GET) public ResultUtil driverCar(Integer type) { try { List countVos = orderStatisticsService.driverCarStatistics(type); return ResultUtil.success(countVos); } catch (ServiceException e) { log.error("可视化数据统计异常", e); return ResultUtil.error(e.getErrorMessage()); } } /** * 乘客排名统计 */ @ResponseBody @RequestMapping(value = "/passenger", method = RequestMethod.GET) public ResultUtil passenger(Integer type) { try { List countVos = orderStatisticsService.passengerStatistics(type); return ResultUtil.success(countVos); } catch (ServiceException e) { log.error("可视化数据统计异常", e); return ResultUtil.error(e.getErrorMessage()); } } }