CHONGQING SANITATION · DEVELOPMENT REVIEW

拼团结算从“页面演示”升级为“可开发业务闭环”

本版把 PC、小程序、判团任务、通知、餐盘绑定和真实订单关联放进同一开发契约;开发人员可按页面、状态、接口、数据和用例直接拆分任务。

员工餐 / 客餐分批报名不扣款用餐时结算成团后锁定通知可追踪重试复用人盘绑定

01. 这次补齐了什么

PC 管理端3 页

批次列表、发布/复制、批次详情

小程序/H56 页

列表、详情、确认、报名结果、结算指引、结算结果

核心状态8 个

从草稿、报名到供餐完成和取消

核心测试33 条

发布、并发、通知、结算、权限和页面可达性

系统边界:现有系统的人盘绑定、绑定订单、余额校验和计重/计次订单底座继续复用;新增拼团批次、报名、判团、通知任务和订单关联,不再做第二套绑盘与支付。

02. 端到端业务流程

管理员配置并发布
用户查看与确认报名
事务内累加数量
达门槛即时成团
创建双向通知任务
到店校验资格
现有设备完成结算
关联真实订单

员工餐

  1. 每人每批次固定报名 1 份。
  2. 预定堂食、现场就餐、盒饭均可报名。
  3. 堂食由实际菜品计价属性决定计重/计次。
  4. 存在有效人盘绑定时跳过独立绑盘机。

客餐

  1. 小程序单独预定盒饭,可按份数报名。
  2. 批次进度按盒饭份数计算。
  3. 只允许计次结算,不允许计重。
  4. 扣款账户必须配置,未确认时阻断生产发布。

03. 页面之间如何跳转

PC 管理端

批次列表 → 新建/复制发布 → 批次详情 → 报名明细 / 通知记录 / 结算异常。延期、取消和通知重试在详情执行,返回保留列表筛选。

小程序/H5

拼团列表 → 拼团详情 → 报名确认 → 报名结果 → 返回详情;成团后由详情进入结算指引 → 结算结果 → 现有订单详情。

04. 批次状态机

草稿
draft
待开始
scheduled
报名中
open
已延长
extended
已成团
success
供餐中
serving
已完成
completed
未成团/取消
failed/cancelled

关键规则:成团是不可回退状态,个人不能再取消;管理员异常取消必须写原因。报名状态、结算状态和通知状态分别管理,禁止一个 status 字段承载全部业务。

05. 开发必须共同遵守的契约

领域必须实现禁止做法
报名报名、数量累加、成团判断同一事务;用户+批次唯一有效报名;幂等键先查数量再无锁写入;重复点击重复计数
判团达到门槛即时成团;截止任务可重复执行无副作用;仅延长一次依靠前端倒计时决定能否报名;无限延期
通知事件 Outbox;管理员和报名人拆任务;失败退避重试并保留历史第三方消息失败回滚成团;覆盖失败记录
结算报名不扣款;用餐时关联真实订单;回写失败只补关联让用户自由选择计重/计次;超时再次扣款
绑盘复用现有有效绑定并继续执行余额、人员、餐厅和设备校验拼团报名自动绑定任意餐盘;新建重复映射
权限审计所有写接口校验角色和餐厅范围;取消/延期/重试记录前后值只依赖前端按钮显隐;手工改库作为正常运营

后端

5 张核心表/关联、3 组 API、5 个定时或补偿任务、稳定错误码和幂等锁。

前端

9 个页面、跳转参数、动作显隐、加载/空/失效/冲突状态和返回行为。

测试

状态合法/非法转换、50 并发最后名额、重复任务、重复结算、权限越界和真实设备联调。

06. 本地真实运行截图

PC 拼团批次列表
PC:批次列表与对象/状态/通知/结算聚合
PC 拼团批次详情
PC:状态时间线、指标、报名/通知/异常与开发约束
小程序客餐拼团详情
小程序:客餐已成团详情与结算入口
PC 发布拼团
PC:基础信息、菜单快照、规则、通知与账户
小程序拼团列表
小程序:可报名与我的拼团
小程序结算结果
小程序:结算回执和订单追踪关系

07. 上线前必须由客户确认

客餐扣款归属个人、接待部门或统一招待账户;对应主数据和审批规则上线阻断通知渠道小程序订阅消息、企业微信、短信及管理员接收范围上线阻断客餐数量上限单次、单日、单部门最大盒饭份数需确认成团后异常取消已经备餐时的责任、费用和订单处理规则需确认

评审结论建议:研发可先按“可配置账户类型、可配置通知渠道和份数上限”开始数据模型与页面开发;客餐生产发布开关保持关闭,直到四项业务决策完成确认。