江西206售卖柜基于 master 重做碰头 brief
旧 master_jx206 方案只能作为参考,不能作为继续开发或合并基线。本次要基于 store master 收敛字段口径,完成售卖柜刷码结算、出货结果只存储、PC 设备类型和消费订单筛选四件事。
旧 MR 474 不沿用 新基线 master 接口只做结算与存储 需赖清涛拍板
碰头先定三件事
1. 当前代码状态
本地 origin/master 已看到 #VWCG-938 合入记录。先确认这是已完成的 master 重做,还是只是一部分代码/SQL。
2. 字段和副作用边界
/api/shop/order 只收 paycode、money、可选 jqbh;/api/shop/shipmentResult 只保存数据,不退款、不补扣、不改状态。
3. 分支和验收动作
未完成则从 origin/master 开返工分支;已完成则开验证/补丁分支,补接口、PC、SQL、现场联调证据。
为什么旧 master_jx206 不能沿用
- 基线错误:旧分支基于
origin/master_jx206,MR 474 目标也是master_jx206;VWCG-938 要求基于master重做。 - 字段过宽:旧实现兼容多个别名,新口径只保留
paycode和可选jqbh,不接收equipment_code和旧别名。 - 设备类型冲突:旧方案是
13=售卖柜,新任务要求40=售卖柜。 - 验收未闭环:旧实现没有完成 PC 功能截图、视频和真实联调,SQL 迁移也未在可验收环境闭环。
- SQL 口径变化:旧摘要记录
db/jc/v2.0.1.sql,当前接口文档指向db/v2/v2.0.14.sql。
风险提示:本地 Git 可见 #VWCG-938 已进入 origin/master 历史。碰头时不要直接假设任务仍未做,也不要直接假设已验收完成,先让赖清涛确认当前远端状态。
本次要做的范围
订单结算接口
POST /api/shop/order- Header:
account/pwd/key - 最小请求:
paycode+money - 可选设备:
jqbh对应ydy_equipment.sn - 订单设备号来自匹配设备的
code,或认证记录默认设备 - 售卖柜订单来源建议
source=6
出货结果接口
POST /api/shop/shipmentResult- 订单号:
dsfjybh - 商品数组:
spList - 状态:
spList[].chzt - 商品名:
spList[].goods_name - 完整请求保存到
raw_json
PC 设备管理
- 增加
40=售卖柜 - 支持新增、查询、筛选
- 设备
sn要能对应第三方jqbh - 不直接沿用旧
13=售卖柜
PC 消费订单
- 增加售卖柜订单来源筛选
source=6展示为售卖柜订单- 不影响堂食、外部订单、取餐柜和普通消费机订单
- 确认导出是否同步来源文案
接口与 PC 边界
| 区域 | 要改 | 不要改 | 拍板点 |
|---|---|---|---|
| 认证 | 复用 ydy_api_auth | 不引入新认证体系 | 账号、有效期、档口和默认设备 |
| 结算字段 | paycode、money、可选 jqbh | 不兼容旧别名,不接收 equipment_code | jqbh 未匹配时回退还是失败 |
| 出货结果 | dsfjybh、chzt、goods_name、raw_json | 不退款、不补扣、不流转订单状态 | 重复上报怎么处理 |
| 数据库 | ydy_vending_shipment_result | 不盲目给低区分度状态建索引 | SQL 文件和上线顺序 |
| PC 设备 | 40=售卖柜 | 不沿用旧 13=售卖柜 | 旧 13 数据是否迁移 |
| PC 订单 | source=6 筛选和展示 | 不改变其他来源语义 | 列表、详情、导出是否同步 |
验收清单
分支和代码
- 分支从
origin/master新建 - 提交和 MR 标题以
#VWCG-938开头 - MR 不指向
master_jx206 - 不把说明类文档放进 store MR
API
paycode + money支付成功jqbh匹配设备时落正确equipment_code- 旧字段别名不误识别
- 出货结果多明细保存
- 重复回调无业务副作用
PC 和上线
- 设备管理可筛选
40=售卖柜 - 消费订单可筛选售卖柜订单
- SQL 前备份可用
- 准备测试账号、设备和付款码
- 补 PC 截图和接口回归证据
分支建议
- 若赖清涛确认
origin/master的#VWCG-938相关提交就是本次重做结果:开codex/VWCG-938-jiangxi206-vending-verify-20260529做验证/补丁。 - 若当前
origin/master仍不是最终口径:从origin/master开codex/VWCG-938-jiangxi206-vending-master-r2-20260529返工。 - 不再从
origin/master_jx206、develop_jx206*或旧 worktree 继续开发。 - MR 目标按当前 Codeup 流程先走
release预上线,再进入master;如需直接进master,让赖清涛在云效或 MR 评论中确认。
需要赖清涛拍板
- 当前
origin/master的#VWCG-938合入记录是否已代表重做完成。 - 设备类型是否固定为
40=售卖柜,旧13是否迁移、兼容或废弃。 jqbh未匹配时回退默认设备,还是返回失败。- 现场是否仍允许
card_id,还是只用paycode。 - 第三方是否已接受不再传旧字段别名。
- 重复出货结果按幂等、重复计数,还是每次保存明细。
- 出货失败是否完全不自动退款/冲正。
- 是否需要 PC 出货结果查询页或导出。
- 消费订单导出是否同步售卖柜来源文案。
- SQL 文件、目标库、上线顺序和回滚方式。
- 现场测试账号、售卖柜设备、付款码/卡余额由谁准备。
- 是否把高峰卡顿问题纳入本次性能验收。
可直接发给赖清涛
赖哥,江西206售卖柜这个我重新梳理了一版:旧 master_jx206 的 MR 474 不能继续沿用,只能当参考;新口径是基于 store master,/api/shop/order 只收 paycode、money 和可选 jqbh,/api/shop/shipmentResult 只保存 dsfjybh + spList[].chzt + goods_name + raw_json,不做退款/补扣/状态流转;PC 设备类型按 40=售卖柜,订单来源按 source=6。我这边本地看到 origin/master 里已经有 #VWCG-938 的合入记录,麻烦你现场确认一下这是否就是你已完成的 master 重做;如果是我们就补验收证据,如果不是就从 origin/master 重新开 codex/VWCG-938-jiangxi206-vending-master-r2-20260529 返工。碰头时还需要你拍板 jqbh 未匹配是否回退默认设备、重复出货结果怎么幂等、以及 SQL/现场测试账号和售卖柜设备由谁准备。