消费页餐盘订单与一卡通消费实施计划
目标:放盘后获取订单,用户点击支付按钮后才完成一次补贴优先的一卡通消费,展示订单、消费前读卡、逐钱包扣款和消费后读卡。
架构:网络 DTO/协调器隔离放盘请求;纯 Java 交易执行器和门控保证顺序与防重复;现有读卡管理器继续独占 USB 和串行 I/O;Activity 只负责页面、语音和生命周期。
任务
- ✅ 测试并新增
acquireByPlate JSON 接口契约。 - ✅ 测试并新增订单协调器,隔离同盘、移盘、换盘和销毁回调。
- ✅ 测试并实现前读卡、补贴优先消费、主钱包补足、后读卡和防重复门控。
- ✅ 扩展现有读卡管理器执行一次性订单交易。
- ✅ 生成并验证 16kHz、32kbps、单声道“请刷卡”MP3。
- ✅ 在消费页展示订单、支付按钮及三个交易阶段;只有点击支付后才播放语音并进入刷卡。
- ✅ 完整测试、构建、差异检查和成对变更记录。
安全门槛
- 首次读卡失败不扣款。
- 扣款开始后不自动整单重试。
- 部分成功必须分别显示已完成和失败钱包。
- 消费结束后尽量复读同一卡片。
- 不执行 Git 写操作。
人工评审状态
设计已由用户确认并完成实现;JDK 8 下 57 个单元测试通过,Debug APK 构建成功。实体硬件扣费和服务端真实订单仍待联调。