quickstart.md 3.9 KB

闪送 API 联调快速开始

  1. 开发者人工执行 updatesql/sql.md 中既有闪送迁移及 2026-09-07 统一运价增量,核对每个时段的加急比例和最低加急费;并在字典 sys_google_routes_key 配置仅供后端使用、已启用 Google Routes API 的独立密钥,不得复用匿名接口可读取的 sys_googlemap_key
  2. 启动 ruoyi-admin;用户和骑手请求携带现有 token 请求头,平台请求使用后台权限。
  3. 调用 /system/flashDelivery/home/quote/orders;报价提交帮送/帮取业务场景、普通/加急配送等级、立即/预约取件时段、完整物品信息和骑手小费。创建时回传报价 ID、版本及各项金额,服务端复算不一致时返回最新报价且不创建订单;收件账号匹配结果固化在新订单中,不追溯历史订单。
  4. 用户通过 /system/flashDelivery/orders?role=sender 查看“我发的”,通过 role=receiver 查看“我收的”;省略 role 时默认 sender。发件人与固化收件人均可查看详情和确认收货,只有发件人可以取消。
  5. 骑手从 /system/flashDelivery/rider/orders?page=1&size=10&tab=newTask&longitude=121.5&latitude=25.0 拉取待抢任务并调用 /accept;五个页签分别为 newTask(待接单)、toPickup(已接单)、delivering(已取件)、completed(已送达/已完成)和 cancelled(已取消)。newTask 的经纬度仅用于附近范围、取件点距离和排序,闪送没有 refund 页签。接单前只展示完整文字地址,隐藏联系人、电话、实际 PIN、精确坐标和履约图片;图片先走现有上传接口,再把 URL 传给 /pickup/deliver
  6. deliveryType=URGENT 的急送接单与外卖、普通闪送共用骑手级 Redis 锁;急送进行期间骑手不能承接其他配送,接急送前骑手也不能有任何进行中配送。
  7. 发布成功页使用静态文案“发布后等待附近骑手接单”,不展示动态附近骑手数或承诺接单时间。闪送不接入支付,金额保持整数 TWD。
  8. 用户 /confirmReceipt 完成;送达满 24 小时未操作则自动完成。
  9. 完整字段见 API 契约

待接单编辑冒烟(2026-09-09)

  1. 以创建人 token 获取一笔待接单订单详情及 orderVersion;修改发件或收件地址,调用 POST /system/flashDelivery/orders/{id}/address/quote。核对新路线距离与费用,重新查询订单确认尚未改动。
  2. 在请求体提交 orderId,回传相同地址、orderVersion 和报价距离/费用到 POST /system/flashDelivery/orders/address;核对两端信息、收件账号归属、路线和总额同步更新,版本加一;清空可选详细地址时数据库也应为空。
  3. 故意篡改 quotedAmount 或 quotedDistanceMeters,确认返回最新报价且订单无修改;用户再次确认后按最新值保存。
  4. 用详情最新版本调用 POST /system/flashDelivery/orders/tip,请求体提交 orderId 和 additionalTipAmount=20;核对小费及总金额均增加 20,基础/加急费不变;原请求重放不得再次增加。
  5. 在地址报价后由另一请求追加小费,再提交旧地址确认;验证版本冲突,不覆盖新小费。
  6. 分别让骑手抢单、用户取消发生在编辑前或报价与保存之间;验证地址保存与追加小费均不能更新已接单/已取消订单。并发请求压测确认数据库条件更新仅按可用版本生效。
  7. 收件人及无关用户请求三个端点均应被拒绝;缺失版本、非法地址、同址、超 40 公里、零/负小费及超大金额均应拒绝。
  8. 后台调价后编辑既有订单,核对使用原订单运价快照;预约时间已到但仍待接单的订单也可编辑。

以上涉及真实数据库、地图与 App 的接口冒烟需在开发联调环境执行,自动化测试使用模拟外部依赖,不代替实际联调。