4.1 KiB
4.1 KiB
🔍 服务记录不显示 - 调试指南
问题: 订单详情页面没有显示"服务记录"区域
📋 排查步骤
步骤1: 检查后端是否重新编译
后端修复了类型错误后,需要重新编译。
执行:
cd peidu/backend
mvn clean package -DskipTests
等待编译完成(约2-3分钟)
步骤2: 检查前端是否重新编译
前端代码已修改,需要重新编译。
执行:
cd peidu/uniapp
npm run build:mp-weixin
等待编译完成(约1-2分钟)
步骤3: 检查数据库中是否有打卡记录
在 Navicat 中执行以下SQL,检查这个订单是否有打卡记录:
-- 查看订单ID(从截图看,订单显示的是"小学套餐")
-- 假设订单ID是你点击的那个订单的ID
-- 方法1: 通过订单号查询
SELECT o.id, o.order_no, o.status, o.service_name
FROM `order` o
WHERE o.service_name LIKE '%小学%'
AND o.status = 4 -- 已完成
ORDER BY o.id DESC
LIMIT 10;
-- 记下订单ID,然后查询打卡记录
SELECT *
FROM check_in_record
WHERE order_id = <你的订单ID>;
-- 如果没有记录,说明这个订单没有打卡记录
-- 需要找一个有打卡记录的订单来测试
步骤4: 查看浏览器控制台日志
在微信开发者工具中:
- 打开"调试器"
- 切换到"Console"标签
- 查看日志输出
查找以下日志:
=== 开始加载订单详情 ===
订单ID: xxx
尝试调用完整详情API...
完整详情API成功: {...}
提取的数据: {...}
- 签到记录: {...} ← 看这里!
- 签退记录: {...} ← 看这里!
- 服务时长: xxx ← 看这里!
如果没有看到签到/签退记录的日志,说明后端没有返回数据。
步骤5: 测试后端API
在浏览器中直接访问API,查看返回数据:
http://localhost:8080/api/order/detail-full/<订单ID>
查看返回的JSON数据,确认是否包含:
checkInRecord字段checkOutRecord字段serviceDurationText字段
示例返回数据:
{
"code": 200,
"data": {
"id": 123,
"orderNo": "PD20260119...",
"status": 4,
"checkInRecord": {
"id": 29,
"checkType": "checkin",
"checkTime": "2026-01-16 18:45:19",
"photoUrl": "http://...",
"address": "某某地址",
"latitude": 39.9,
"longitude": 116.4
},
"checkOutRecord": {
...
},
"serviceDurationText": "2小时30分钟"
}
}
🎯 可能的原因和解决方案
原因1: 后端未重新编译 ❌
解决: 重新编译后端(步骤1)
原因2: 前端未重新编译 ❌
解决: 重新编译前端(步骤2)
原因3: 订单没有打卡记录 ❌
解决:
- 找一个有打卡记录的订单测试
- 或者创建新订单并完成签到签退流程
原因4: 数据库 order_id 字段未关联 ❌
解决: 执行SQL关联数据
UPDATE check_in_record c
INNER JOIN `order` o ON c.teacher_id = o.teacher_id
AND DATE(c.check_time) = o.service_date
SET c.order_id = o.id
WHERE c.order_id IS NULL;
🧪 完整测试流程
方案A: 使用现有数据测试
- 在数据库中找一个有打卡记录的订单:
SELECT o.id, o.order_no, o.service_name, o.status,
COUNT(c.id) as checkin_count
FROM `order` o
LEFT JOIN check_in_record c ON c.order_id = o.id
WHERE o.status = 4
GROUP BY o.id
HAVING checkin_count > 0
LIMIT 10;
- 在家长端查看这个订单的详情
方案B: 创建新订单测试
- 家长端: 创建新订单
- 家长端: 支付订单
- 管理师端: 派单给陪伴员
- 陪伴员端: 接单
- 陪伴员端: 签到(上传照片)
- 陪伴员端: 签退(上传照片)
- 家长端: 查看订单详情
预期结果: 显示服务记录
📝 调试清单
- 后端已重新编译
- 前端已重新编译
- 数据库有打卡记录
- order_id 字段已关联
- 浏览器控制台有日志
- 后端API返回正确数据
- 前端正确提取数据
下一步: 按照以上步骤逐一排查,找出问题所在。