2.9 KiB
2.9 KiB
时卡诊断 - 快速指南
日期: 2026-01-25
📋 执行步骤
1️⃣ 打开简化版SQL文件
文件位置:Archive/peidu-temp-files/sql/[一次性]诊断时卡-简化版-2026-01-25.sql
2️⃣ 修改手机号
将所有 13800138000 替换为您的实际手机号
3️⃣ 依次执行4个查询
查询1:查看所有时卡
SELECT
id,
user_id,
card_no,
card_name,
status,
total_hours,
used_hours,
remaining_hours,
start_date,
expire_date,
deleted,
create_time
FROM time_card
WHERE user_id = (SELECT id FROM user WHERE phone = '您的手机号' LIMIT 1)
ORDER BY create_time DESC;
查询2:检查时卡状态
SELECT
id,
card_name,
status AS status_code,
remaining_hours,
expire_date,
deleted
FROM time_card
WHERE user_id = (SELECT id FROM user WHERE phone = '您的手机号' LIMIT 1)
ORDER BY create_time DESC;
查询3:模拟后端查询
SELECT
id,
card_no,
card_name,
status,
total_hours,
used_hours,
remaining_hours,
start_date,
expire_date
FROM time_card
WHERE user_id = (SELECT id FROM user WHERE phone = '您的手机号' LIMIT 1)
AND status = 1
AND remaining_hours > 0
AND expire_date > CURRENT_DATE
AND deleted = 0
ORDER BY expire_date ASC;
查询4:查看当前日期
SELECT CURRENT_DATE AS today;
🔍 判断问题
如果查询3返回空结果
对比查询1和查询2的结果,检查:
| 字段 | 要求 | 您的值 | 是否正常 |
|---|---|---|---|
| status | 必须 = 1 | ? | ❌/✅ |
| remaining_hours | 必须 > 0 | ? | ❌/✅ |
| expire_date | 必须 > 今天 | ? | ❌/✅ |
| deleted | 必须 = 0 | ? | ❌/✅ |
🛠️ 执行修复
问题1:status 不是 1
UPDATE time_card
SET status = 1, update_time = CURRENT_TIMESTAMP
WHERE user_id = (SELECT id FROM user WHERE phone = '您的手机号' LIMIT 1)
AND status != 1
AND remaining_hours > 0
AND deleted = 0;
问题2:expire_date 为空或已过期
UPDATE time_card
SET expire_date = DATE_ADD(CURRENT_DATE, INTERVAL 1 YEAR),
update_time = CURRENT_TIMESTAMP
WHERE user_id = (SELECT id FROM user WHERE phone = '您的手机号' LIMIT 1)
AND (expire_date IS NULL OR expire_date <= CURRENT_DATE)
AND deleted = 0;
问题3:start_date 为空
UPDATE time_card
SET start_date = CURRENT_DATE,
update_time = CURRENT_TIMESTAMP
WHERE user_id = (SELECT id FROM user WHERE phone = '您的手机号' LIMIT 1)
AND start_date IS NULL
AND deleted = 0;
✅ 验证修复
执行修复SQL后,再次运行查询3,应该能看到时卡数据了。
📸 请提供给我
- 查询1的结果截图 - 显示所有时卡
- 查询2的结果截图 - 显示状态检查
- 查询3的结果 - 是否返回数据?
这样我就能准确判断问题并指导您修复!