package com.doumee.service.business; import com.doumee.core.model.PageData; import com.doumee.core.model.PageWrap; import com.doumee.dao.business.vo.BikeIncomeStatVO; import com.doumee.dao.business.vo.IncomeStatVO; import com.doumee.dao.business.vo.OperationCenterVO; import com.doumee.dao.business.vo.OperationOrderVO; import com.doumee.dao.business.vo.OrderRidesDetailVO; import com.doumee.dao.business.vo.OverviewStatVO; import com.doumee.dao.business.web.request.BikeIncomeQueryDTO; import com.doumee.dao.business.web.request.OperationOrderQueryDTO; import java.util.List; /** * 数据报表 Service(web 端:概览统计 + 收入车型分析)。 * * @author rk * @date 2026/06/26 */ public interface ReportService { /** * 概览统计:总注册用户、今日新增用户、自行车数量、电动车数量。 * * @return 概览统计 */ OverviewStatVO overview(); /** * 收入车型分析:按时段(近7/15/30天或自定义)按车型型号汇总已结算订单收入。 * * @param query 时段查询入参(dateType 与自定义起止) * @return 车型收入列表(按收入降序) */ List bikeIncome(BikeIncomeQueryDTO query); /** * 收入统计:按时段(近7/15/30天或自定义)按日统计已结算订单收入(柱状图), * 并给出区间累计收入及环比、同比对比数据。 * * @param query 时段查询入参(dateType 与自定义起止) * @return 收入统计结果(每日明细 + 累计收入 + 环比/同比) */ IncomeStatVO incomeStat(BikeIncomeQueryDTO query); /** * 运营中心数据:今日订单总数、进行中订单数、今日套餐收入、今日总收入, * 以及今日日期与星期几(登录人姓名由 Controller 从登录态注入)。 * * @return 运营中心数据 */ OperationCenterVO operationCenter(); /** * 运营中心订单查询:按订单类型(骑行记录类型)/手机号/订单状态分页查询押金订单。 * * @param pageWrap 分页与查询条件(bikeType/phone/status) * @return 订单分页数据 */ PageData operationOrderPage(PageWrap pageWrap); /** * 订单骑行记录 + 轨迹:查询指定订单下全部骑行记录,电车挂轨迹点,自行车提示无轨迹。 * * @param orderId 支付订单主键 goodsorder.id(member_rides.ordre_id) * @return 骑行记录与轨迹详情(含车辆类型、是否有轨迹、骑行列表及每条下挂的轨迹点) */ OrderRidesDetailVO orderRidesDetail(String orderId); }