功能标识:024-flash-delivery
创建日期:2026-08-31
状态:平台前端与外卖同规则时段运价调整已验证;App 订单列表与详情精简已提交,定向测试与模块构建通过
输入:基于蓝湖“闪送”分组 7 个设计页面及 2026-08-24 用户端/骑手端补充原型,实现帮送、帮取、加急送的完整非支付业务闭环,包括共享地址簿、路线报价、包裹信息、立即/预约配送、可选 PIN 交付、创建订单、骑手主动抢单、取件、送达、用户签收、平台配置与介入。
用户选择帮送、帮取或加急送,填写取件与收件地址后获取服务端报价,并发布一笔等待骑手接单的闪送订单。
优先级原因:报价与发布订单是闪送服务成立的基础,没有该能力就无法形成可配送任务。
独立测试:为同一组取件和收件坐标分别选择三种服务,验证系统按服务类型和当前时间匹配运价时段,使用与外卖订单一致的起送与里程规则返回整数新台币报价,并在创建订单时重新计算价格、保存地址与计价快照且进入待接单状态。
验收场景:
骑手通过与骑手外卖订单一致的单一分页列表和页签参数查看新任务、待取件、配送中、已完成及已取消任务,主动抢单后依次上传取件和送达图片,完成实际配送。
优先级原因:第一版明确采用骑手主动抢单,不实现自动派单;抢单与配送状态流转是业务闭环的核心。
独立测试:使用 page、size、tab、longitude、latitude 查询骑手闪送列表,验证五个页签的状态映射、本人订单边界、附近任务距离和接单前字段;再由两个骑手并发抢同一订单,验证只有一个骑手成功,成功骑手上传取件和送达图片后订单依次进入已取件和已送达状态。
验收场景:
tab=newTask 和当前位置,当 查询闪送列表,那么 系统只返回当前可抢任务,并按与骑手外卖新任务列表一致的附近范围和距离规则处理。toPickup、delivering、completed 或 cancelled 页签,当 查询列表,那么 系统只返回当前骑手本人且符合页签状态映射的任务。newTask,那么 系统返回附近任务总数和最高订单金额,不返回尖峰倍率或骑手收入字段。用户在闪送与现有收货场景中共用同一个地址簿,可以搜索、新增、修改、查看、删除和置顶自己的地址。
优先级原因:蓝湖设计中的取件地址、收件地址和地址簿均依赖该能力,同时现有地址接口需要消除跨用户访问风险。
独立测试:准备用户 A 与用户 B 的地址,以用户 A 身份执行列表、详情、修改、删除和置顶操作,验证只能访问 A 的地址,所有针对 B 地址的请求均被拒绝。
验收场景:
userId,当 系统保存地址,那么 系统忽略该字段并以登录用户身份确定归属。用户查看自己的闪送订单与履约进度,可以在允许阶段取消订单,并在骑手送达后确认签收。
优先级原因:用户需要了解履约进度,并对尚未实际取件的订单保留取消能力。
独立测试:分别创建处于待接单、已接单、已取件和已送达状态的订单,验证用户取消和签收权限符合状态机规则,并验证送达 24 小时后的自动完成。
验收场景:
page 和 size,那么 系统按创建时间倒序返回本人各状态订单的轻量摘要,不要求客户端提交 scene、status 或 serviceType。平台管理员为三种闪送服务分别维护多个运价时段,查询全部闪送订单,并在取件后的异常场景中取消或完成订单。
优先级原因:价格必须可运营调整,取件后的订单又必须具备受控的人工处置入口。
独立测试:管理员新增、修改和删除加急送运价时段,验证重叠时段被拒绝、保存后立即生效、新报价使用当前时段及最新版本;随后对已取件订单执行平台取消并检查状态日志。
验收场景:
平台管理员从“闪送管理”菜单进入价格配置或订单管理页面,无需直接调用接口即可维护三种服务价格、筛选订单、查看完整履约资料并执行受权限控制的平台介入。
优先级原因:后端接口已具备,但缺少平台可操作入口会导致计价只能通过接口工具维护,异常订单也无法进入日常运营流程。
独立测试:以拥有完整闪送权限的管理员登录后台,分别完成三种服务价格读取与修改、订单组合筛选、详情查看、异常取消和已送达订单完成;再以缺少对应权限的账号验证菜单与操作按钮不可用。
验收场景:
SMALL(不超过 5kg)、MEDIUM(不超过 12kg)或 LARGE(不超过 20kg);不保存精确重量或件数。newTask 页签主动抢单,第一阶段不实现自动派单。page、size、tab、longitude、latitude;不得再拆分为 available、mine 或叠加 scene、status、serviceType 筛选。info_address 地址数据。updatesql/sql.md,不得直接执行。NOW 和 SCHEDULED 两种配送方式;预约时段固定为 30 分钟且不得晚于创建时间后三天。SENDER、PICKUP、DELIVERY 并记录操作人类型。page 和 size,按创建时间倒序返回本人全部状态的轻量摘要;骑手订单列表必须按 tab 在服务端映射底层状态并完成分页,禁止先分页后由客户端过滤。data 必须直接是订单详情,不得再套 order、images 或 logs;照片使用 senderImageUrls、pickupImageUrls、deliveryImageUrls 等明确字段,原始状态日志只允许平台审计详情返回。flash:* 权限分别控制页面访问、价格修改、订单查看、取消和完成操作,不得仅依赖按钮隐藏代替后端鉴权。startTime、endTime、startingDistance、startingFare、distance 和 freight,同时展示只读配置版本与更新时间。v-hasPermi 体系,不新增重复的状态管理或 UI 框架。tab 只接受 newTask、toPickup、delivering、completed 和 cancelled,分别映射待接单、已接单、已取件、已送达/已完成和已取消;闪送不提供外卖退款页签。newTask 列表必须返回取件点距离、路线距离、预计时长、订单金额、包裹类别、重量档、配送方式、预约时段、完整取送文字地址和是否需要 PIN,并返回附近任务总数与最高订单金额;不得返回已移除的尖峰倍率或尚未实现的骑手收入。data 的顶层形状,也不得要求 App 通过 data.order 是否存在判断响应类型。flashDelivery key 集合完全一致。TWD。pos_order 或打车订单 taxi_order 的业务语义。