2.0 KiB
2.0 KiB
排班接口测试
测试前准备
- 确保数据库已创建
la_doctor_roster表 - 确保
zyt_admin表中有role_id=1的用户(医生)
测试步骤
1. 测试获取排班列表
GET /adminapi/doctor.roster/lists?start_date=2026-03-02&end_date=2026-03-08
预期结果:返回空列表或已有的排班数据
2. 测试新增排班
POST /adminapi/doctor.roster/save
Content-Type: application/json
{
"doctor_id": 1,
"date": "2026-03-03",
"period": "morning",
"status": 1,
"quota": 20,
"max_patients": 30,
"remark": "测试排班"
}
预期结果:返回成功,包含新增的排班ID
3. 测试更新排班
POST /adminapi/doctor.roster/save
Content-Type: application/json
{
"id": 1,
"doctor_id": 1,
"date": "2026-03-03",
"period": "morning",
"status": 2,
"quota": 0,
"max_patients": 0,
"remark": "临时停诊"
}
预期结果:返回成功,排班状态更新为停诊
4. 测试删除排班
POST /adminapi/doctor.roster/delete
Content-Type: application/json
{
"id": 1
}
预期结果:返回成功,排班被软删除
常见问题
1. 控制器不存在
错误:控制器不存在:\\app\\adminapi\\controller\\doctor\\RosterController
解决:确保文件路径正确,文件名大小写匹配
2. 类不存在
错误:Class 'app\common\model\doctor\Roster' not found
解决:检查 Model 文件是否创建,命名空间是否正确
3. 表不存在
错误:Table 'database.la_doctor_roster' doesn't exist
解决:执行 SQL 创建表
4. 唯一索引冲突
错误:Duplicate entry '1-2026-03-03-morning' for key 'uk_doctor_date_period'
说明:同一医生同一天同一时段已有排班,这是正常的约束
调试技巧
- 查看日志文件:
server/runtime/log/ - 开启调试模式:
.env中设置APP_DEBUG=true - 使用 Postman 或类似工具测试接口
- 检查数据库表结构是否正确