按新版 Apifox“接口 C:反馈一卡通扣款结果”替换旧契约。零元订单不读卡、不扣款,扣款成功码和金额均传 0,无卡片数据使用空 JSON;正金额订单在消费成功且再次读卡成功后,将消费前读卡、扣款结果和消费后读卡一并反馈。
接口来源:用户提供的 Apifox 项目导出文件 /Users/liang/Downloads/智慧营养健康餐厅.html,Apifox 项目。
POST /api/oneCardTerminal/report,使用 application/json。order_no、settlement_result、before_card_info、after_card_info。code、message、amount、psamID、psamJyNo、tac。{"code":0,"amount":0},两个卡信息对象均为 {},不输出无来源的 PSAM/TAC。NetworkResult<List<Object>>;本次未新增或硬编码 Token。@FormUrlEncoded + @Field 改为 @Body 请求对象。先更新新版 JSON 契约测试。JDK 8 下首次运行按预期因生产代码尚无 forSuccessfulDebit(...) 而编译失败,证明测试先于实现生效。
JAVA_HOME=/Users/liang/Library/Java/JavaVirtualMachines/corretto-1.8.0_482/Contents/Home \
bash gradlew :app:testDebugUnitTest \
--tests 'com.zhct.traybinding.network.request.OneCardDebitReportRequestTest' \
--tests 'com.zhct.traybinding.consumption.ConsumptionOrderPaymentPolicyTest' \
--tests 'com.zhct.traybinding.network.CPTNetworkRequestReportContractTest'
:app:testDebugUnitTest :app:assembleDebug --rerun-tasks 返回 BUILD SUCCESSFUL in 23s;补充边界测试后再次执行全量单测为 80 个测试、0 failure、0 error、0 skipped;Debug APK 于 2026-08-27 17:57 生成,约 61 MB。amount 传实际扣款总额,单组 PSAM/TAC 取最后一段成功交易。未执行 Git 暂存、提交、推送、拉取、合并、分支切换、重置或清理。工作区原有未提交改动保持原样。本记录不代表完整三步消费需求已经评审或实现。