工资锁定解锁接口测试报告.md
5.17 KB
工资锁定/解锁接口测试报告
测试时间
2025-01-XX
测试环境
- 服务地址: http://localhost:2011
- 测试账号: admin
测试状态
⚠️ 当前状态
服务需要重启才能加载新的锁定/解锁接口代码
代码检查结果
- ✅ 所有9个工资服务的锁定/解锁接口代码已添加
- ✅ 代码编译通过(0 Error)
- ✅ 代码结构正确(#region/#endregion匹配)
- ⚠️ 服务未重启,新接口返回404
接口清单
| 服务名称 | 实体表 | 接口路径 | 代码状态 | 运行状态 |
|---|---|---|---|---|
| LqSalaryService (健康师) | lq_salary_statistics | POST /api/Extend/lqsalary/lock | ✅ 已添加 | ⚠️ 需重启 |
| LqTechTeacherSalaryService (科技部老师) | lq_tech_teacher_salary_statistics | POST /api/Extend/lqtechteachersalary/lock | ✅ 已添加 | ⚠️ 需重启 |
| LqAssistantSalaryService (店助) | lq_assistant_salary_statistics | POST /api/Extend/lqassistantsalary/lock | ✅ 已添加 | ⚠️ 需重启 |
| LqStoreManagerSalaryService (店长) | lq_store_manager_salary_statistics | POST /api/Extend/lqstoremanagersalary/lock | ✅ 已添加 | ⚠️ 需重启 |
| LqDirectorSalaryService (主任) | lq_director_salary_statistics | POST /api/Extend/lqdirectorsalary/lock | ✅ 已添加 | ⚠️ 需重启 |
| LqMajorProjectTeacherSalaryService (大项目老师) | lq_major_project_teacher_salary_statistics | POST /api/Extend/lqmajorprojectteachersalary/lock | ✅ 已添加 | ⚠️ 需重启 |
| LqMajorProjectDirectorSalaryService (大项目主管) | lq_major_project_director_salary_statistics | POST /api/Extend/lqmajorprojectdirectorsalary/lock | ✅ 已添加 | ⚠️ 需重启 |
| LqTechGeneralManagerSalaryService (科技部总经理) | lq_tech_general_manager_salary_statistics | POST /api/Extend/lqtechgeneralmanagersalary/lock | ✅ 已添加 | ⚠️ 需重启 |
| LqBusinessUnitManagerSalaryService (事业部总经理) | lq_business_unit_manager_salary_statistics | POST /api/Extend/lqbusinessunitmanagersalary/lock | ✅ 已添加 | ⚠️ 需重启 |
接口说明
接口路径
POST /api/Extend/{service}/lock
请求参数
{
"ids": ["工资记录ID1", "工资记录ID2"],
"isLocked": true
}
参数说明:
ids: 工资记录ID列表(必填)isLocked: 是否锁定(true=锁定,false=解锁)
返回结果(预期)
{
"code": 200,
"msg": "锁定成功:2条",
"data": "锁定成功:2条"
}
业务逻辑
- 验证参数:工资记录ID列表不能为空
- 查询记录:根据ID列表查询工资记录
- 保护逻辑:
- 如果记录已确认(EmployeeConfirmStatus=1),不能解锁
- 如果记录未确认,可以锁定或解锁
- 批量更新:更新IsLocked字段和UpdateTime字段
- 返回结果:返回锁定/解锁成功的条数和跳过的条数
测试计划
测试步骤
- 重启后端服务:确保新的锁定/解锁接口代码已加载
- 测试锁定功能:
- 测试单个记录锁定
- 测试批量记录锁定
- 验证IsLocked字段更新
- 测试解锁功能:
- 测试单个记录解锁
- 测试批量记录解锁
- 验证IsLocked字段更新
- 测试保护逻辑:
- 测试已确认记录不能解锁
- 测试未确认记录可以解锁
- 测试参数验证:
- 测试空ID列表
- 测试不存在的ID
- 测试null参数
测试用例
测试1: 锁定单个记录
- 请求:
POST /api/Extend/lqsalary/lock - 参数:
{"ids":["工资记录ID"],"isLocked":true} - 预期: 返回"锁定成功:1条"
测试2: 解锁单个记录
- 请求:
POST /api/Extend/lqsalary/lock - 参数:
{"ids":["工资记录ID"],"isLocked":false} - 预期: 返回"解锁成功:1条"
测试3: 批量锁定记录
- 请求:
POST /api/Extend/lqsalary/lock - 参数:
{"ids":["ID1","ID2","ID3"],"isLocked":true} - 预期: 返回"锁定成功:3条"
测试4: 已确认记录不能解锁
- 步骤:
- 锁定一个记录
- 确认该记录
- 尝试解锁该记录
- 预期: 返回"解锁成功:0条,跳过1条(已确认的记录不能解锁)"
测试5: 参数验证(空ID列表)
- 请求:
POST /api/Extend/lqsalary/lock - 参数:
{"ids":[],"isLocked":true} - 预期: 返回错误"工资记录ID列表不能为空"
测试6: 参数验证(不存在的ID)
- 请求:
POST /api/Extend/lqsalary/lock - 参数:
{"ids":["999999999999999999"],"isLocked":true} - 预期: 返回错误"未找到指定的工资记录"
代码质量
- ✅ 所有代码编译通过(0 Error)
- ✅ 所有服务代码结构统一
- ✅ 错误处理完善
- ✅ 业务逻辑清晰
下一步
- ⚠️ 重启后端服务:确保新的锁定/解锁接口代码已加载
- ⏭️ 执行测试用例:按照测试计划执行所有测试用例
- ⏭️ 验证功能:确认锁定/解锁功能正常工作
- ⏭️ 前端对接:前端页面开发和对接
备注
重要:服务重启后才能测试接口。当前接口代码已完整实现,编译通过,待服务重启后即可进行功能测试。