spec.md 1.9 KB

039 商家 App 订单小票数据

已确认范围(2026-10-29)

小票 GET 接口放在现有商家订单控制器 /system/orderShOprate:

  • /getOrderPrintInfo?orderId=...:按本系统字段提供一张真实订单的小票数据。

只做后端和 App 接入说明;不修改 App、不绑定或驱动打印机、不发送打印任务,不改变普通单、多店子单的付款或履约流程。不新增分支。

数据与权限

  • 接口声明 @Auth、显式 token 请求头;小票查询复用商家订单权限,覆盖普通商家、分管账号、夜市主和摊主,禁止跨店读取。
  • 小票功能直接提供,不设置启用开关,不增加字典或初始化 SQL。
  • 商品从 pos_order.food 快照解析成数组,包含名称、数量、价格、规格加价、已选规格和逐商品备注;不查当前商品或规格,不重新计算订单金额。
  • 订单金额、优惠及运费均来自订单快照。区分骑手原运费 freight 和客户实付运费 customerDeliveryFee;旧订单无新字段时,实付运费回退 freight。优惠分项和合计不包含商家配送补贴,避免混算。
  • 订单类型、自配送、支付方式及支付状态返回码值,由 App 本地化;到付 payStatus=1 不代表已收到现金,不能据此打印“已收款”。
  • 收货信息只读订单地址快照;自取/堂食无收货人正常返回 null,并保留取餐号、预留电话、桌号及预约信息。
  • 商品 JSON 损坏时明确返回国际化错误,不伪造空白小票;缺失门店时保留订单店名快照,门店地址/电话为空。不返回用户整表或支付密钥。

验收

小票功能无需开关;有效商家可读取授权订单;跨店、普通用户和骑手被拒;普通/多店快照规格保留;无地址、旧运费、免运、积分及其他优惠可正确展示;不产生订单写入或真实打印。