重要性: ⭐⭐⭐ (最重要,优先检查)
打开浏览器开发者工具
F12 或右键选择"检查"Network (网络) 标签刷新奖学金申请列表页面
/jcbt/scholarshipApplication/list 请求检查API请求状态
✅ 状态码 200: API调用成功
❌ 状态码 403: 权限不足 → 跳转到步骤4
❌ 状态码 401: 未登录 → 跳转到步骤3
❌ 状态码 500: 服务器错误 → 检查后端日志
检查响应数据
Response 标签检查返回的数据结构:
{
"code": 200,
"msg": "操作成功",
"rows": [], // 如果为空数组,说明查询到0条数据
"total": 0
}
重要性: ⭐⭐ (如果步骤1发现401错误)
查看浏览器本地存储中是否有Token
重新登录
退出当前账号
使用正确的账号密码重新登录
再次访问申请列表页面
重要性: ⭐⭐ (如果步骤1发现403错误)
记录当前登录的用户名和角色
检查权限配置
登录后台管理系统
进入 系统管理 → 角色管理
找到当前用户的角色,点击"修改"
在权限配置中确认是否勾选了: ```
☑️ 家长综合信息服务平台 ☑️ 学生奖学金管理
☑️ 奖学金申请记录
☑️ 奖学金申请记录查询 (jcbt:scholarshipApplication:list)
3. **如果权限缺失**
- 勾选相应权限
- 点击"提交"保存
- 让用户重新登录前台系统
### 步骤4: 检查数据库中的实际数据 ⭐⭐⭐
**重要性**: ⭐⭐⭐ (如果API返回空数组)
**方法A: 使用数据库管理工具**
```sql
-- 1. 检查总记录数
SELECT COUNT(*) as total_count FROM jcbt_scholarship_application;
-- 2. 检查未删除的记录数
SELECT COUNT(*) as active_count FROM jcbt_scholarship_application WHERE deleted = 0;
-- 3. 检查申请类型分布
SELECT application_type, COUNT(*) as count
FROM jcbt_scholarship_application
GROUP BY application_type;
-- 4. 检查最近的5条记录
SELECT id, student_name, application_type, status, deleted, create_time
FROM jcbt_scholarship_application
ORDER BY create_time DESC
LIMIT 5;
方法B: 使用预制检查脚本
# 在项目根目录执行
mysql -u数据库用户名 -p数据库密码 hzdyjs_xg < docs/设计文档/database/奖学金申请数据检查脚本.sql
检查结果分析:
重要性: ⭐⭐ (如果发现RECOMMEND类型数据)
# 执行申请类型修复脚本
mysql -u数据库用户名 -p数据库密码 hzdyjs_xg < docs/设计文档/database/奖学金申请列表数据修复脚本.sql
# 重启后端服务
cd backend
mvn clean compile
# 然后重启应用服务
重要性: ⭐ (如果数据库确实没有数据)
-- 创建测试申请记录
INSERT INTO jcbt_scholarship_application (
id, batch_id, scholarship_type_id, student_code, student_name,
student_id, dept_id, class_id, application_type, status,
deleted, tenant_id, create_time, create_by
) VALUES (
UNIX_TIMESTAMP() * 1000, 1, 1, 'TEST001', '测试学生',
1, 100, 200, 'TEACHER_RECOMMEND', 'PENDING',
0, 1, NOW(), 1
);
重要性: ⭐ (如果数据存在但tenant_id不匹配)
确认当前用户的租户ID
或在数据库中查询:
SELECT tenant_id FROM sys_user WHERE user_name = '当前登录用户名';
sql
SELECT DISTINCT tenant_id, COUNT(*) as count
FROM jcbt_scholarship_application
WHERE deleted = 0
GROUP BY tenant_id;
如果租户ID不匹配
重要性: ⭐ (如果上述都正常但仍无数据)
在浏览器控制台中检查实际发送的查询参数:
// 在申请列表页面的控制台中执行
console.log('查询参数:', window.location.search);
常见问题:
原因: 用户缺少查询权限
解决: 在角色管理中为用户角色添加 jcbt:scholarshipApplication:list 权限
原因: 可能是申请类型值错误(RECOMMEND vs TEACHER_RECOMMEND) 解决: 执行数据修复脚本
原因: 数据库用户名密码错误或服务未启动 解决: 检查数据库配置和服务状态
原因: 当前用户的tenant_id与数据记录的tenant_id不匹配 解决: 检查和调整租户配置
如果按照上述步骤仍无法解决问题,请收集以下信息:
前端错误信息
后端日志信息
数据库检查结果
用户和权限信息
💡 提示: 按照步骤顺序执行检查,大多数问题可以在步骤1-4中发现和解决。