91 lines
3.0 KiB
SQL
91 lines
3.0 KiB
SQL
-- ========================================
|
||
-- 验证日历统计数据修复
|
||
-- 创建时间: 2026-01-24
|
||
-- 目的: 验证日历页面统计数据与"我的预约"页面一致
|
||
-- ========================================
|
||
|
||
-- 1. 查询用户ID=1的所有订单统计(与"我的预约"页面一致)
|
||
SELECT
|
||
'所有订单统计' AS 统计类型,
|
||
COUNT(*) AS 总订单数,
|
||
SUM(CASE WHEN status IN (1, 2) THEN 1 ELSE 0 END) AS 待服务数量,
|
||
SUM(CASE WHEN status = 3 THEN 1 ELSE 0 END) AS 服务中数量,
|
||
SUM(CASE WHEN status = 4 THEN 1 ELSE 0 END) AS 已完成数量
|
||
FROM `order`
|
||
WHERE user_id = 1
|
||
AND deleted = 0;
|
||
|
||
-- 2. 查询用户ID=1的当月订单统计(2026年1月)
|
||
SELECT
|
||
'当月订单统计' AS 统计类型,
|
||
COUNT(*) AS 总订单数,
|
||
SUM(CASE WHEN status IN (1, 2) THEN 1 ELSE 0 END) AS 待服务数量,
|
||
SUM(CASE WHEN status = 3 THEN 1 ELSE 0 END) AS 服务中数量,
|
||
SUM(CASE WHEN status = 4 THEN 1 ELSE 0 END) AS 已完成数量
|
||
FROM `order`
|
||
WHERE user_id = 1
|
||
AND deleted = 0
|
||
AND service_date >= '2026-01-01'
|
||
AND service_date <= '2026-01-31';
|
||
|
||
-- 3. 按状态分组查看所有订单
|
||
SELECT
|
||
status AS 订单状态,
|
||
CASE
|
||
WHEN status = 0 THEN '待支付'
|
||
WHEN status = 1 THEN '待接单'
|
||
WHEN status = 2 THEN '待服务'
|
||
WHEN status = 3 THEN '服务中'
|
||
WHEN status = 4 THEN '已完成'
|
||
WHEN status = -1 THEN '已取消'
|
||
ELSE '未知'
|
||
END AS 状态说明,
|
||
COUNT(*) AS 订单数量
|
||
FROM `order`
|
||
WHERE user_id = 1
|
||
AND deleted = 0
|
||
GROUP BY status
|
||
ORDER BY status;
|
||
|
||
-- 4. 查看所有订单的详细信息
|
||
SELECT
|
||
id AS 订单ID,
|
||
order_no AS 订单号,
|
||
service_date AS 服务日期,
|
||
time_slot AS 时间段,
|
||
service_name AS 服务名称,
|
||
status AS 状态码,
|
||
CASE
|
||
WHEN status = 0 THEN '待支付'
|
||
WHEN status = 1 THEN '待接单'
|
||
WHEN status = 2 THEN '待服务'
|
||
WHEN status = 3 THEN '服务中'
|
||
WHEN status = 4 THEN '已完成'
|
||
WHEN status = -1 THEN '已取消'
|
||
ELSE '未知'
|
||
END AS 状态说明,
|
||
created_time AS 创建时间
|
||
FROM `order`
|
||
WHERE user_id = 1
|
||
AND deleted = 0
|
||
ORDER BY service_date DESC, time_slot;
|
||
|
||
-- ========================================
|
||
-- 预期结果说明
|
||
-- ========================================
|
||
-- 修复前:
|
||
-- - 日历页面只显示当月订单统计(例如:全部6个)
|
||
-- - "我的预约"页面显示所有订单统计(例如:全部62个)
|
||
-- - 两个页面数据不一致
|
||
--
|
||
-- 修复后:
|
||
-- - 日历页面显示所有订单统计(例如:全部62个)
|
||
-- - "我的预约"页面显示所有订单统计(例如:全部62个)
|
||
-- - 两个页面数据完全一致
|
||
--
|
||
-- 注意:
|
||
-- - 日历的月视图仍然只显示当月的订单卡片
|
||
-- - 但统计数字(全部、待服务、已完成)显示的是所有订单的统计
|
||
-- - 这样用户可以看到总体情况,同时在日历上查看具体月份的安排
|
||
-- ========================================
|