接口:POST /api/consume/paycodeUserInfo;调用方:提交 paycode 和 equipment_code 的设备端;不要求 account、pwd、key 请求头;禁止使用生产数据。
| 编号 | 场景 | 预期 |
|---|---|---|
| TC-001 | 有效码带 C 前缀 | 返回正确 staff_uuid、staff_name |
| TC-002 | 有效码无前缀 | 返回同一人员 |
| TC-003 | 缺少付款码 | 缺少参数:paycode |
| TC-004 | 缺少设备编号 | 缺少参数:equipment_code |
| TC-005 | 不存在或已删除的设备 | 设备不存在,且不继续解析付款码 |
| TC-006 | 未知码 | 该码不存在 |
| TC-007 | 已使用码 | 该码已使用 |
| TC-008 | 已过期码 | 该码已过期 |
| TC-009 | 人员不存在 | 人员不存在 |
| TC-010 | 无鉴权请求头 | 不被 checkApiAuth 拦截 |
| TC-011 | 无副作用 | 付款码、订单和余额不变 |
| TC-012 | 人员有效状态字段 | 有效人员可返回,停用人员不返回,不产生未知字段 SQL 异常 |
日期:2026-09-17;环境:本地 PHP 7.3 容器;结果:专项用例通过,全量测试受仓库既有测试装载冲突阻塞。
| 检查项 | 结果 |
|---|---|
| PaycodeUserInfoTest | 9 tests,16 assertions,通过 |
| OpenApiControllerContractValidationTest | 20 tests,60 assertions,通过 |
| OpenApiGuardMatrixTest | 6 tests,17 assertions,通过 |
| PaymentCodeClassifierTest | 12 tests,12 assertions,通过 |
| PaycodeUserResolverDatabaseTest | 1 test,2 assertions,通过;真实模型查询覆盖 ydy_staff.is_show |
| PHP 7.3 语法检查 | 控制器、解析服务、专项测试均通过 |
| 全量 PHPUnit | 启动阶段被既有 ProfilePreservationTest.php 重复声明 config() 阻塞,与本次改动无关 |
TC-011 通过代码差异审查:新增解析服务只执行设备、付款码、用户、人员查询,不调用付款码更新、订单创建或余额变更逻辑。数据库级联调需在非生产测试数据准备完成后补充。