熟食消费模式开发记录:数据层、设置与消费页面
状态
已完成数据层、熟食设置页、独立消费页和统一支付明细接入,进入回归验证阶段。
本阶段产物
- 新增熟食商品类型
ProductBean.TYPE_COOKED_FOOD = 5。 - 商品数据库升级到版本 2,增加计价基准、启用状态和排序字段。
- 订单数据库升级到版本 3,增加
cooked_food_details字段。 categories保持上传摘要职责,熟食本地明细单独保存。- 新增购物车行、订单明细模型和 500g 金额计算逻辑。
- 新增金额计算和重量累加单元测试。
- 在
WeightSetActivity增加“熟食设置”同级页签,支持新增、编辑、启停和删除,计价基准固定展示为 500g。 - 新增首页“熟食结算”入口和独立
CookedFoodActivity。 - 实现初始归零保护、先选后称/先称后选、稳定重量校验、主动加入、同品合并、购物车删除/重量编辑/清空和自定义金额。
- 结算先经过熟食专用对账确认弹窗,再复用现有
BillCheckPop采集支付信息并调用统一PaymentManager;上传仍只有一个custom_dish,本地订单单独保存cooked_food_details。 - 订单管理详情优先展示熟食明细,同时保留上传摘要和旧订单兼容。
验证
- 分支:
codex/cooked-food-consumption - 构建:
bash gradlew compileDebugJavaWithJavac - 单元测试:
bash gradlew testDebugUnitTest - 环境:Amazon Corretto 8
- 结果:
BUILD SUCCESSFUL
问题记录
./gradlew没有执行权限,未修改权限,改用bash gradlew。- JDK 17 与旧版 Android Gradle Plugin 存在模块访问错误,切换项目 JDK 8 后通过。
当前未完成与风险
- 尚未连接真实秤体执行真机称重、归零、稳定状态和支付硬件验收。
- 数据库升级和离线补传目前以代码边界和单元测试验证,尚未建立带真实 SQLite/网络拦截的自动化测试。
- 直接执行
./gradlew的执行权限和 JDK 17 的旧插件兼容问题仍需由项目构建环境统一处理;当前验证使用项目现有 Corretto 8。
下一步
执行全量单元测试、资源/Java 编译、变更差异检查,并按验收标准安排真机回归。