一份点餐小程序的技术评审,往往卡在"高峰期会不会卡"这一个问题上。湖北的餐饮有明显的地方特征:早点摊和夜宵摊波峰极陡,武汉高校门口七点半到八点半能压进来两三百单,光谷一带的午市则集中在四十分钟里释放。按"日均八百单"去估系统是没意义的,真正要对齐的是峰值 QPS、打印机容错和翻台节奏这三件事。下面这份湖北外卖点餐小程序开发方案,就按这三条主线往工程细节里拆。
顾客扫的是一张小程序码,背后至少要带三个参数:门店标识、桌号、场景类型。建议用小程序码的场景值字段承载不超过三十二位的参数,不要把门店编号明文写进页面路径,容易被手工改单。堂食、自提、外卖三种模式务必共用一张订单主表,用订单类型字段区分;常见错误是做成三套表,等到要统计会员消费、做经营报表时,光口径对齐就要多花两周。
推荐字段:雪花算法生成的主键、可读的单号(日期加门店加序列,用于小票打印和口头报单)、门店标识、桌号、会员标识、订单类型、支付状态、出品状态、应付金额、优惠明细快照、创建时间、支付时间。其中优惠明细必须存快照,退款时不再重算规则,否则活动一改,历史订单金额就对不上了。
加菜是小票系统里最容易翻车的一环。顾客已下单后追加菜品,若直接生成新单,后厨必然重复出品。正确顺序是先校验原单的支付状态与出品状态,未出餐的走"增项"接口合入原单并补打一张增项票据,已出餐的才允许另开新单。多人同时扫同一桌号时,用 Redis 对桌号加短锁,锁粒度三秒,超期则排队返回提示,避免一张桌子被两组客人同时点进去。
可以按这个经验公式推:峰值 QPS 约等于高峰订单数除以高峰分钟数,再乘以单次会话请求数。以一家日均六百单的门店为例,午市两小时出二百四十单,最密的四十分钟约一百二十单,每单从选菜到支付会产生二三十次请求,折算下来峰值在每秒十五到三十次之间。这个量级本身不高,难点在于支付回调、打印回调、库存扣减要在同一秒内保持一致。
菜品可售状态不要直接落数据库。把库存放进 Redis,下单时用脚本原子性预扣,支付成功后确认入库,十五分钟未支付自动回滚。沽清标记要支持"本桌暂不可售"这类软状态:湖北不少小店是当天采购当天卖完,卖完店长手动关,后台一键切换后要能立即同步到所有已打开的客户端页面。
后厨打印建议同时具备三种能力:长连接主推、定时轮询兜底、本地队列缓存。网络抖动导致打印机离线时,订单仍要正常成交,恢复后按队列补打。这一层偷工不做,最坏的结果是高峰期漏打二十张单,服务员只能跑进厨房喊菜,整套系统的可信度当场清零。
湖北的外卖要分区域看。武汉、宜昌城市密度够,接第三方即时配送通常比自养骑手便宜;荆州、襄阳的非核心商圈以及县域市场,单量散、跨度长,常见做法是午晚高峰交第三方,闲时由门店员工自送,后台统一呈现两套配送状态。结论:日配送单量低于八十单的门店,不建议自建调度系统,直接接第三方运力接口,省下的预算投到包装和出餐动线上更划算。
配送对接必须吃透三个字段:运单号、骑手位置回调、异常状态(拒收、联系不上、超时)。三者缺一个,客服就会陷入无穷扯皮。另外别忘了骑手到店取餐的时间要和出品状态联动,厨房没出餐就通知骑手出发,差评率会明显上升,这个联动比多做一个营销插件值钱得多。
自提订单必须有核销码,建议六位数字配合门店校验,做取餐柜的话用动态二维码、三十秒过期。热食自提还要给出餐时间预测,不要写死"十五分钟",用当前排队单量除以历史每分钟出品数动态测算,误差能压到三分钟以内,顾客对"预计十二点十分可取"的容忍度远高于一句"请稍等"。
单店版的点餐、外卖、会员,用成熟跨端框架做,工期通常六到八周;连锁版要加总部后台、菜单分级下发、供应链对接,工期拉到十到十四周,价格区间在四万到十二万之间,主要变量是是否需要对接现有收银一体机或 ERP,以及是否要再做独立 App。这块如果不想自己养技术团队,可以找本凡科技这种做了十余年、支持一次开发多端发布的团队先出一版可点原型,把并发、打印、配送三个风险点实地跑一遍再签合同。换句话说,能落地的湖北外卖点餐小程序开发方案,验收清单里必须有这三项的实测记录。
九成集中在三处:菜品列表一次性返回全部规格、购物车每次加减都请求后端、支付结果靠前端轮询。对应解法是分页加本地缓存合并提交、购物车本地暂存后统一结算、支付结果走服务端回调加长连接推送。服务器建议四核八G起步,Redis 独立部署,日订单过三千再谈读写分离。
能接,但要留出来的成本和时间常被低估。多数收银机厂商提供开放接口或本地数据视图,对接费从几千到两三万元不等,取决于厂商是否配合。更稳的顺序是先让小程序独立跑通两个月,攒下真实订单数据再去谈对接,届时你的谈判位置完全不同。
餐饮类最常见的驳回是类目选错、未提供食品经营许可证、以及涉及自营配送却没有相应资质。提交前把营业执照、许可证、门店实景图备齐,类目选到餐饮服务场所这一档,能省下一周以上的来回。含优惠券、拼单等营销文案的页面,也要确保规则说明可查。
除非有高频重复配送或重度会员权益的场景,否则先用小程序把订单密度跑起来。App 的获取成本通常是小程序扫码成本的十倍以上,而点餐这件事天然在桌面扫码和熟人转发里发生。等日活稳定在几千量级、需要推送召回时再上 App,投入产出比更合理。
别把验收标准写成"功能都已实现"。建议直接约定三个可量化指标:桌均点单时长压到九十秒以内、出餐超时率控制在百分之三以下、扫码到下单的页面加载不超过一点五秒。这三项达标,系统就具备替代纸质菜单的能力;不达标就让开发方继续调。
回到最初那个问题——湖北的餐饮数字化不需要一次做完。先把点餐、加菜、打印、配送这四个环节跑顺,把高峰期扛住,再谈会员、营销和连锁扩张。立项前把本文提到的并发、打印、配送接口三个点写进需求文档,找一家愿意交付源码、上线后还有一年运维支持的团队配合,会比单纯比价要省心得多。本凡科技这类合肥总部、多城市可异地协同的团队,可以先出一版原型用于内部评审,再决定预算投入节奏。