MrShi
13 小时以前 9eeb62c02a7b3c7b95c20678b6a9c74e7f12f943
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
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.BikeUsageStatVO;
import com.doumee.dao.business.vo.DashboardVO;
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.vo.PackageSourceStatVO;
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<BikeIncomeStatVO> 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<OperationOrderVO> operationOrderPage(PageWrap<OperationOrderQueryDTO> pageWrap);
 
    /**
     * 订单骑行记录 + 轨迹:查询指定订单下全部骑行记录,电车挂轨迹点,自行车提示无轨迹。
     *
     * @param orderId 支付订单主键 goodsorder.id(member_rides.ordre_id)
     * @return 骑行记录与轨迹详情(含车辆类型、是否有轨迹、骑行列表及每条下挂的轨迹点)
     */
    OrderRidesDetailVO orderRidesDetail(String orderId);
 
    /**
     * 近30天收益统计(固定30天,无需入参):按日柱状图 + 累计 + 环比/同比。
     * <p>口径同 {@link #incomeStat},内部以 dateType=3(近30天)调用。
     *
     * @return 近30天收益统计结果
     */
    IncomeStatVO incomeStat30();
 
    /**
     * 车辆使用情况:自行车/电动车各自的使用中(status=1)与空闲(status=0)数量。
     * <p>禁用车辆(status=3)不计入。
     *
     * @return 车辆使用情况
     */
    BikeUsageStatVO bikeUsageStat();
 
    /**
     * 套餐销售来源统计:本月/本年维度下,抖音兑换(payWay=2)与小程序购买(payWay=0)的套餐数。
     * <p>口径:goodsorder type=1 套餐卡购买、payStatus=1 已支付。
     *
     * @return 套餐销售来源统计
     */
    PackageSourceStatVO packageSourceStat();
 
    /**
     * 综合看板:本月/昨日/今日收益与订单数、车辆总数/使用中/空闲,客户数相关暂搁置。
     *
     * @return 综合看板数据
     */
    DashboardVO dashboard();
}