updatesql/sql.md 记录四张新表、地址字段、索引、计价种子和后台权限 SQLgit diff --checkfoodie-admin-vue/tests/flash-delivery.test.cjs 和 package.json 增加闪送定向测试,直接执行请求配置、分页归一化、价格校验、状态操作和四语言对象,并确认因目标模块缺失而红灯src/api/flashDelivery/contracts.js、index.js 和 src/views/flashDelivery/shared.js,封装六个平台请求及纯函数,使请求、分页、价格校验和状态规则测试转绿src/views/flashDelivery/pricing/index.vue,实现三类价格读取、编辑校验、启停、版本展示和保存后服务端回填src/views/flashDelivery/orders/index.vue 与 OrderDetail.vue,实现服务端分页筛选、详情分区、图片预览、取消原因和已送达完成操作src/api/language/language.*.js 文件增加一致的 flashDelivery 文案,并使语言与页面契约测试转绿updatesql/sql.md 追加幂等的“闪送管理/价格配置/闪送订单”动态菜单 SQL,将现有六项权限归入对应页面npm run test:flash-delivery、新增文件 ESLint、npm run build:prod 和两个仓库 git diff --check,核对暂存范围后分别使用中文提交FlashDeliveryPricingCalculatorTest,覆盖起送内、0.49/0.50/0.99/1.20 公里边界、非 1 公里计价距离、整数 HALF_UP 和非法配置,并确认旧计价实现红灯FlashDeliveryPricing、FlashDeliveryOrder、费用 DTO、订单 XML 和计价器,删除最低价、分钟价、尖峰与启停字段,实现整数 TWD 的外卖同规则距离计价FlashDeliveryApplicationServiceTest 与 FlashDeliveryControllerContractTest,覆盖当前时段、无时段、重叠、新增、按 ID 修改、版本冲突、删除和新订单快照,并确认旧服务接口红灯FlashDeliveryPricingMapper 当前时段/重叠查询、服务类型行锁、时段 CRUD、home/quote/create 当前时段唯一性检查、完整快照及四语言业务错误,使后端定向测试转绿tests/flash-delivery.test.cjs,覆盖价格 GET/POST/PUT/DELETE、六字段载荷、时段与整数校验、页面权限和四语言 key,并确认旧前端红灯shared.js、价格时段新增/编辑/删除页面、订单费用详情和四语言,删除启停、最低价、分钟价与尖峰展示,使定向测试转绿updatesql/sql.md 追加开发阶段重建脚本:删除旧闪送测试表并创建运价锁、时段配置、新订单快照与索引的最终结构;只记录不执行test 分支,不包含后端仓库原有脏文件/available、/mine、多筛选参数及 {order,images,logs} 契约红灯page,size,将骑手 /orders 收敛为 page,size,tab,longitude,latitude,在数据库分页前完成条件与距离排序docs/flash-delivery-app-api.md 与 quickstart,删除旧列表路由、筛选、近似坐标及 App 包装响应说明testFlashDeliveryApplicationService.riderOrders 改用 effectiveLongitude/effectiveLatitude 有效坐标变量解决 lambda 捕获编译错误;FlashDeliveryApplicationServiceTest.assertRiderTab 改为先渲染 getSqlSegment() 再断言参数表(MyBatis-Plus 条件参数为惰性写入,原断言在渲染前读取恒为空)。mvn -pl ruoyi-admin -am -DskipTests package 成功;git diff --check 清洁。sys_job 闪送自动完成调度 SQL(见 updatesql/sql.md 2026-09-02 节),并在 plan.md 修订并发描述与实现一致。17888f8(明确闪送 App 订单列表与详情契约)、8a3ea64(制定闪送 App 订单接口精简计划)。role 列表、参与者详情/签收、收件人禁止取消,并确认旧实现红灯receiver_user_id 实体/XML/索引和普通用户手机号精确匹配查询,实现创建时固化、寄件人/收件人数据库分页及参与者权限lock:delivery:rider:{riderId} 实现 URGENT 跨订单独占,事务完成后释放锁,并在当前有效外卖与闪送接单入口返回一致的国际化业务错误updatesql/sql.md 追加 receiver_user_id 字段和索引迁移,仅记录不执行;同步 App 接口文档和五语言错误文案deliveryType=URGENT;按用户要求未单独执行旧实现红灯foodie-admin-vue 闪送测试,实现统一时段配置、加急比例、最低加急费、订单明细及四语言;按用户要求未单独执行旧页面红灯updatesql/sql.md 追加迁移 SQL,不执行数据库;同步五语言后端错误、App 接入文档和 quickstartweightRange 的接口、数据迁移和验收设计,并制定实施计划weightRange 映射的预期红灯weightRange,删除精确重量和三档尺寸派生逻辑mvn -B -pl ruoyi-admin -am test,ruoyi-system 54 项、ruoyi-admin 420 项,共 474 项通过,0 失败/错误/跳过,所有参与模块 BUILD SUCCESS。mvn -B -pl ruoyi-admin -am -Dtest=FlashDeliveryControllerContractTest,FlashDeliveryApplicationServiceTest -Dsurefire.failIfNoSpecifiedTests=false test:72 项通过,所有参与模块编译成功。docs/flash-delivery-app-api.md 已同步,JSON 示例解析及差异检查通过,保留 CRLF。本轮 URL/入参调整后未重跑完整回归,前一阶段完整回归为 474 项通过;真实地图、数据库及 App 联调仍未执行。
本阶段按 2026-09-15 用户确认的方式 2 更新,以 FR-094 至 FR-098 替换原无条件自由取件规则。后端、平台 PC 和关联文档已实现并执行本地验证;T097 仅记录需求修订。T095、T099、T100 的真实 MySQL 并发/回滚及 App 联调部分仍待执行,不能用 Mock 测试替代,详细结果见 validation.md。
[x] T096 按用户逐项确认修订本三件套:每站独立物品、单点可省略/多点必传 stopId、原自由取件规则(已由 T097 替换)、任意站取货后禁止用户取消及并发保护、不考虑历史订单、字典限制 1..26/非法回退 1;其余采用审核建议,保留旧单点输入、小费不重算和修正导航参数
[x] T097 按 2026-09-15 会话确认的方式 2 修订 spec.md、plan.md、tasks.md:用户可排序并确认报价、默认下一站、沟通同意后调整及记录原因/骑手/时间/声明、原顺序与金额保留、实际进度、前往与取件分离、不能漏取及异常交接边界;首期无用户 App 审批,骑手声明不等同用户同意证明
[x] T098 实现 FR-095、FR-096 当前目标及调整记录保存、DTO/实体/Mapper/视图/必要 SQL、原因与声明校验、订单权限和状态保护、重复请求与并发保护;取件校验有效目标及必要记录,目标完成后回到原顺序最早未取站,不修改原顺序/物品/金额
[ ] T099 落实用户端排序与提示、骑手端默认下一站/沟通后选择目标/前往与取件分离、各端实际取件进度及取消入口;平台可核对调整声明、异常处理结果和已取物品去向/交接凭证,用户可见文案国际化,聊天可作为沟通依据
[ ] T100 补充并执行顺序调整验收:有无原因/声明、直接取件绕过、导航不推进状态、B 取件后回 A、原顺序与金额不变、进度/取消按钮、声明展示、异常交接、调整重复及与取件/取消并发、已取站重试;配合 T095 记录实际测试与 App/数据库联调结果
RiderDeliveryAcceptanceService 并迁移两个当前有效接单入口updatesql/sql.md,三个字典初始值均为 1,SQL 只记录不执行RiderDeliveryAcceptanceServiceTest、FlashDeliveryI18nContractTest、OrderLifecycleServiceTest 及闪送抢单的 3 个应用服务用例,共 30 项通过,0 失败/错误/跳过。mvn -pl ruoyi-admin -am -DskipTests package,全部参与模块 BUILD SUCCESS;git diff --check 通过。FlashDeliveryApplicationServiceTest 时发现仓库基线既有矛盾:normalizePayType 当前允许任意非空支付类型,而 createRejectsUnsupportedPayType 仍要求拒绝 2;本次未修改该逻辑,也未为接单容量需求顺带修复。test 的车型运价、Google 路线车型、直线降级预计时长和骑手车型匹配合入 test-202609v1,保留多取一送的完整站点序列、骑手容量限制及其 SQL。baseDeliveryFee 仅为起步价,距离附加费独立使用 distanceFee,订单金额由各费用相加;地址改动仍按订单快照计算。