spec.md 3.1 KB

功能规格:骑手配送类型与派单过滤

功能标识025-rider-delivery-type

创建日期:2026-09-02

状态:已确认

输入:骑手端审核资料原型新增"配送类型"多选项(美食外送、闪送,可同时选择);派单要求按骑手选择的配送类型分配订单。

用户故事

用户故事 1:骑手在审核资料中选择配送类型(P1)

骑手在提交审核资料时选择自己承接的配送类型:美食外送、闪送,可同时勾选两项。

验收场景

  1. 假如 骑手提交资料时勾选一项或两项配送类型, 资料保存,那么 系统保存骑手选择的配送类型,平台审核页可见。
  2. 假如 骑手提交了 FOODFLASH 之外的配送类型值, 资料保存,那么 系统拒绝并返回国际化业务错误。
  3. 假如 骑手未选择配送类型(历史数据或未提交), 其查询或抢单,那么 系统视为同时兼容美食外送与闪送,行为与现有骑手一致。

用户故事 2:派单按配送类型分配订单(P1)

骑手查询外卖或闪送的新任务列表、抢单时,系统按骑手选择的配送类型过滤。

验收场景

  1. 假如 骑手仅选择美食外送, 其查询闪送新任务或抢单,那么 系统拒绝并返回国际化业务错误;查询外卖新任务与接单不受影响。
  2. 假如 骑手仅选择闪送, 其查询外卖新任务或接单,那么 系统拒绝并返回国际化业务错误;闪送列表与抢单不受影响。
  3. 假如 骑手同时选择两项, 其分别查询外卖与闪送新任务,那么 两类任务均可见、均可抢。
  4. 假如 骑手的配送类型后续被调整, 其查询自己已接订单的页签(待取件、配送中等),那么 本人历史订单仍可见,不受新配置影响。

需求

  • FR-001info_user 新增 delivery_type VARCHAR(64) NULL,取值为 FOOD(美食外送)、FLASH(闪送)以逗号分隔的组合;NULL 或空串视为同时兼容两类。
  • FR-002:App 资料提交接口 /infouser/user/setuser 接收并保存 deliveryType;值非空时必须能解析为至少一个合法类型,否则返回国际化错误。
  • FR-003:平台新增/修改用户接口 POST/PUT /infouser/userdeliveryType 执行相同校验。
  • FR-004getuserinfo 等现有用户信息接口随实体返回 deliveryType
  • FR-005:外卖骑手新任务列表 newTask 页签与接单接口要求骑手兼容 FOOD;闪送新任务列表、待抢详情与抢单接口要求骑手兼容 FLASH;不满足时返回国际化业务错误。
  • FR-006:骑手本人已接订单的列表页签与履约操作不做配送类型限制。
  • FR-007:数据库变更只记录在 updatesql/sql.md;存量骑手回填为 FOOD,FLASH,保持现有行为不变。

非目标

  • 不修改骑手 App 前端(表单由 App 团队按原型实现)。
  • 不实现自动派单、按城市派单或骑手在线状态过滤。
  • 不限制已完成历史订单的查询。