114 lines
2.7 KiB
MySQL
114 lines
2.7 KiB
MySQL
|
|
-- 验证待派单查询结果
|
|||
|
|
|
|||
|
|
-- 1. 按修复后的条件查询待派单订单(这是后端使用的条件)
|
|||
|
|
SELECT
|
|||
|
|
id,
|
|||
|
|
order_no,
|
|||
|
|
user_id,
|
|||
|
|
teacher_id,
|
|||
|
|
status,
|
|||
|
|
pay_status,
|
|||
|
|
service_date,
|
|||
|
|
create_time,
|
|||
|
|
update_time
|
|||
|
|
FROM `order`
|
|||
|
|
WHERE pay_status = 1
|
|||
|
|
AND status = 0
|
|||
|
|
AND teacher_id IS NULL
|
|||
|
|
AND deleted = 0
|
|||
|
|
ORDER BY create_time DESC;
|
|||
|
|
|
|||
|
|
-- 2. 统计待派单订单数量
|
|||
|
|
SELECT
|
|||
|
|
COUNT(*) as pending_count,
|
|||
|
|
'这是后端返回的待派单数量' as note
|
|||
|
|
FROM `order`
|
|||
|
|
WHERE pay_status = 1
|
|||
|
|
AND status = 0
|
|||
|
|
AND teacher_id IS NULL
|
|||
|
|
AND deleted = 0;
|
|||
|
|
|
|||
|
|
-- 3. 检查订单306是否在待派单列表中
|
|||
|
|
SELECT
|
|||
|
|
CASE
|
|||
|
|
WHEN COUNT(*) > 0 THEN '❌ 订单306仍在待派单列表中(异常)'
|
|||
|
|
ELSE '✅ 订单306不在待派单列表中(正常)'
|
|||
|
|
END as check_result
|
|||
|
|
FROM `order`
|
|||
|
|
WHERE id = 306
|
|||
|
|
AND pay_status = 1
|
|||
|
|
AND status = 0
|
|||
|
|
AND teacher_id IS NULL
|
|||
|
|
AND deleted = 0;
|
|||
|
|
|
|||
|
|
-- 4. 查看订单306的当前状态
|
|||
|
|
SELECT
|
|||
|
|
id,
|
|||
|
|
order_no,
|
|||
|
|
teacher_id,
|
|||
|
|
status,
|
|||
|
|
pay_status,
|
|||
|
|
update_time,
|
|||
|
|
CASE
|
|||
|
|
WHEN teacher_id IS NOT NULL AND status = 1 THEN '✅ 已派单(正常)'
|
|||
|
|
WHEN teacher_id IS NULL AND status = 0 THEN '⚠️ 待派单(未派单)'
|
|||
|
|
ELSE '❌ 状态异常'
|
|||
|
|
END as current_status
|
|||
|
|
FROM `order`
|
|||
|
|
WHERE id = 306;
|
|||
|
|
|
|||
|
|
-- 5. 查看所有已派单但status不是1的订单(可能的异常数据)
|
|||
|
|
SELECT
|
|||
|
|
id,
|
|||
|
|
order_no,
|
|||
|
|
teacher_id,
|
|||
|
|
status,
|
|||
|
|
pay_status,
|
|||
|
|
update_time,
|
|||
|
|
'已派单但status不是1' as issue
|
|||
|
|
FROM `order`
|
|||
|
|
WHERE teacher_id IS NOT NULL
|
|||
|
|
AND status != 1
|
|||
|
|
AND pay_status = 1
|
|||
|
|
AND deleted = 0
|
|||
|
|
ORDER BY update_time DESC
|
|||
|
|
LIMIT 20;
|
|||
|
|
|
|||
|
|
-- 6. 查看所有未派单但status不是0的订单(可能的异常数据)
|
|||
|
|
SELECT
|
|||
|
|
id,
|
|||
|
|
order_no,
|
|||
|
|
teacher_id,
|
|||
|
|
status,
|
|||
|
|
pay_status,
|
|||
|
|
update_time,
|
|||
|
|
'未派单但status不是0' as issue
|
|||
|
|
FROM `order`
|
|||
|
|
WHERE teacher_id IS NULL
|
|||
|
|
AND status != 0
|
|||
|
|
AND status NOT IN (4, 5) -- 排除已完成和已取消
|
|||
|
|
AND pay_status = 1
|
|||
|
|
AND deleted = 0
|
|||
|
|
ORDER BY update_time DESC
|
|||
|
|
LIMIT 20;
|
|||
|
|
|
|||
|
|
-- 7. 统计各状态的订单数量
|
|||
|
|
SELECT
|
|||
|
|
status,
|
|||
|
|
COUNT(*) as count,
|
|||
|
|
SUM(CASE WHEN teacher_id IS NULL THEN 1 ELSE 0 END) as no_teacher_count,
|
|||
|
|
SUM(CASE WHEN teacher_id IS NOT NULL THEN 1 ELSE 0 END) as has_teacher_count,
|
|||
|
|
CASE
|
|||
|
|
WHEN status = 0 THEN '待派单'
|
|||
|
|
WHEN status = 1 THEN '已派单/待接单'
|
|||
|
|
WHEN status = 2 THEN '待服务'
|
|||
|
|
WHEN status = 3 THEN '服务中'
|
|||
|
|
WHEN status = 4 THEN '已完成'
|
|||
|
|
WHEN status = 5 THEN '已取消'
|
|||
|
|
ELSE '未知状态'
|
|||
|
|
END as status_name
|
|||
|
|
FROM `order`
|
|||
|
|
WHERE pay_status = 1 AND deleted = 0
|
|||
|
|
GROUP BY status
|
|||
|
|
ORDER BY status;
|