peixue-dev/Archive/[一次性]检查订单309派单状态.sql

106 lines
2.2 KiB
MySQL
Raw Normal View History

2026-02-28 17:26:03 +08:00
-- 检查订单309的派单状态
-- 1. 查看订单309的详细信息
SELECT
id,
order_no,
user_id,
teacher_id,
status,
pay_status,
service_date,
time_slot,
service_address,
user_remark,
create_time,
update_time,
deleted
FROM `order`
WHERE id = 309;
-- 2. 查看订单309的状态变更历史如果有日志表
-- SELECT * FROM order_log WHERE order_id = 309 ORDER BY create_time DESC;
-- 3. 查看陪伴员10096的信息
SELECT
id,
user_id,
name,
real_name,
phone,
audit_status,
status
FROM teacher
WHERE id = 10096;
-- 4. 查看所有待派单的订单pay_status=1 AND teacher_id IS NULL
SELECT
id,
order_no,
user_id,
teacher_id,
status,
pay_status,
create_time,
update_time
FROM `order`
WHERE pay_status = 1
AND teacher_id IS NULL
AND deleted = 0
ORDER BY create_time DESC
LIMIT 20;
-- 5. 查看所有已派单的订单teacher_id IS NOT NULL
SELECT
id,
order_no,
user_id,
teacher_id,
status,
pay_status,
create_time,
update_time
FROM `order`
WHERE teacher_id IS NOT NULL
AND deleted = 0
ORDER BY create_time DESC
LIMIT 20;
-- 6. 统计各状态订单数量
SELECT
status,
COUNT(*) as 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;
-- 7. 检查是否有teacher_id和status不一致的订单
SELECT
id,
order_no,
teacher_id,
status,
pay_status,
CASE
WHEN teacher_id IS NULL AND status != 0 THEN '❌ 异常未派单但状态不是0'
WHEN teacher_id IS NOT NULL AND status = 0 THEN '❌ 异常已派单但状态是0'
ELSE '✅ 正常'
END as check_result
FROM `order`
WHERE pay_status = 1 AND deleted = 0
AND (
(teacher_id IS NULL AND status != 0) OR
(teacher_id IS NOT NULL AND status = 0)
)
ORDER BY create_time DESC;