|
|
@@ -7,13 +7,14 @@
|
|
|
| 部分 | 状态 |
|
|
|
|------|------|
|
|
|
| 后端(配置/判定/隔离/配送操作/结算/推送/i18n) | ✅ 完成,43 个新增测试全绿;全仓 455/455 全绿零回归 |
|
|
|
-| 数据库 DDL | ✅ 已登记 `updatesql/sql.md`(2026-09-08 029 段,共 3 条)——**需开发者手动执行后方可部署** |
|
|
|
-| 商家端 PC(foodie-store) | ⛔ 未做——见下「范围调整」 |
|
|
|
-| 客户端 App / 商家手机 App | 外部配合(清单见下) |
|
|
|
+| 数据库 DDL | ✅ 已登记 `updatesql/sql.md`(2026-09-16 补登记 029 段,共 3 条)——**需开发者手动执行后方可部署** |
|
|
|
+| 商家端 PC(foodie-store) | ⚠️ 夜市主自配送设置页已完成;无订单列表/详情及配送操作入口 |
|
|
|
+| 客户端 App(msd-user) | ✅ 订单列表/详情已显示自配送标识及商家配送状态,并隐藏骑手入口 |
|
|
|
+| 商家手机 App | ⛔ 源码未在当前工作区,仍需外部接入配送操作 |
|
|
|
|
|
|
## 上线前置清单(开发者手动执行)
|
|
|
|
|
|
-1. 在数据库执行 `updatesql/sql.md` 中「2026-09-08 029 商家自配送」的 3 条 DDL(pos_store 2 列、pos_store_self_delivery_hours 建表、pos_order 1 列)。**未执行前部署新包会导致 pos_order 相关查询报列不存在**。
|
|
|
+1. 在数据库执行 `updatesql/sql.md` 中「2026-09-16 补登记商家自配送表结构(029-merchant-self-delivery)」的 3 条 DDL(pos_store 2 列、pos_store_self_delivery_hours 建表、pos_order 1 列)。**未执行前部署新包会导致 pos_order 相关查询报列不存在**。
|
|
|
2. 执行后按 `quickstart.md` 场景 1-8 回归(服务启动 + 接口级冒烟)。
|
|
|
3. (可选,T020 遗留)用有权限的账号跑下面的只读核验 SQL,确认夜市主门店行齐全;解析不到的夜市会自动回落骑手池(不报错,但那部分夜市自配送不生效):
|
|
|
|
|
|
@@ -27,9 +28,9 @@ WHERE p.is_stall=1 AND p.del_flag='0' AND p.night_market_id IS NOT NULL
|
|
|
|
|
|
## 范围调整:商家端界面落点(重要)
|
|
|
|
|
|
-执行 T033 探索时发现:**foodie-store(PC)没有门店信息页、也没有订单列表页**(仅商品/分类/促销/对账等 17 个管理页);门店信息与订单管理界面在商家手机 App(uni-app,不在本工作区)。营业时段编辑也在 App 端。
|
|
|
+执行 T033 探索时发现:**foodie-store(PC)没有既有的门店信息页和订单列表页**(仅商品/分类/促销/对账等管理页);因此已额外落地一个仅供夜市主使用的“自配送设置”页,但订单管理界面仍在商家手机 App(uni-app,不在本工作区)。
|
|
|
|
|
|
-因此 spec 中 FR-001(门店信息配置界面)与 FR-010(订单列表标识)的**界面部分**归入商家 App 外部配合;后端接口(`/chanting/store/get|saveMdSelfDeliveryHours`)与订单字段已就绪,App 端接入即可。是否在 PC 端新建门店设置/订单页面,与 clarify Q2(配送操作界面端覆盖)同属一个待决策问题,建议一并讨论后追加。
|
|
|
+因此 FR-001 的夜市主配置子集已由 PC “自配送设置”页承接;FR-010 的订单列表标识及配送操作仍归商家 App 外部配合。后端接口(`/chanting/store/get|saveMdSelfDeliveryHours`)与订单字段已就绪,App 端接入即可。是否在 PC 端新建订单页面,与 clarify Q2(配送操作界面端覆盖)同属一个待决策问题,建议一并讨论后追加。
|
|
|
|
|
|
## 外部配合清单(客户端接入)
|
|
|
|
|
|
@@ -38,8 +39,8 @@ WHERE p.is_stall=1 AND p.del_flag='0' AND p.night_market_id IS NOT NULL
|
|
|
- 订单列表/详情:`selfDelivery==1` 显示"自配送"标签,不显示等待骑手接单状态
|
|
|
- 配送操作(开始配送/确认送达,可与 Q2 决策合并):`POST /system/orderShOprate/selfDeliveryStart` / `selfDeliveryComplete`(DTO: {id, qsImg?});开始配送为可选步骤
|
|
|
|
|
|
-**客户 App(uni-app)**:
|
|
|
-- 订单对象已自动携带 `selfDelivery` 字段(0/1);`selfDelivery==1` 显示"商家自配送",配送状态映射:deliveryStatus 0=备餐中、2=商家配送中、3=已送达(无骑手接单环节)
|
|
|
+**客户 App(uni-app,`msd-user`)**:
|
|
|
+- 已接入订单对象的 `selfDelivery` 字段(0/1):列表与详情显示"商家自配送";deliveryStatus 0/1=商家备餐中、2=商家配送中、3=已送达(无骑手接单环节)。自配送订单隐藏联系骑手入口与骑手地图路径。
|
|
|
- 推送文案 key:`no.message.push.merchant.delivery.start` / `no.message.push.merchant.delivery.complete`(5 个 properties 已含四语言)
|
|
|
|
|
|
## 实现要点(代码导航)
|
|
|
@@ -61,7 +62,15 @@ WHERE p.is_stall=1 AND p.del_flag='0' AND p.night_market_id IS NOT NULL
|
|
|
|
|
|
已知隐患(本期不改,记录备查):平台管理端 `GET /system/order/list` 走 XML 显式列清单不含 self_delivery 列——管理端界面按 D10 不在本期范围,未来管理端需要展示自配送标识时须同步 PosOrderMapper.xml 的 selectPosOrderVo。
|
|
|
|
|
|
-修复后全量回归:458/458 全绿。
|
|
|
+## 补正记录(2026-09-16)
|
|
|
+
|
|
|
+1. 029 的 3 条 DDL 曾缺失于 `updatesql/sql.md`,现已补登记;仍由开发者手动执行,应用不会自动迁移数据库。
|
|
|
+2. 已支付自配送外送单的创建、LINE Pay/OMG 支付成功及线下转账确认均复用 `DeliveryOrderNotificationService.notifyOrderAvailable`。该公共入口现统一分流:自配送订单仅通知门店/夜市主,其他外送订单才通知骑手;新增回归测试覆盖,避免骑手收到无效新单推送。
|
|
|
+3. `user_billing.type="5"` 固定表示自配送运费收入;已停止的“金额解冻”业务不再占用该类型。商家端筛选与列表显示统一为“自配送运费”(四语言),骑手和商家商品分成仍沿用 type="0"。
|
|
|
+4. 用户下单请求未传 `shId` 时,服务端以实际 `mdId` 对应门店的 `userId` 回填;已传 `shId` 保持旧客户端兼容行为。夜市摊位门店的 `userId` 为夜市主,因此自配送运费归属保持正确。
|
|
|
+5. 用户端 `msd-user` 订单列表和详情已接入自配送标识、状态文案与骑手入口隔离;八个现有语言包均已补齐。商家手机 App 的订单页面源码不在当前工作区,仍须接入 `/system/orderShOprate/selfDeliveryStart|selfDeliveryComplete`。
|
|
|
+
|
|
|
+历史全量回归记录保留于原始交付;本次补正仅执行定向后端测试、商家端生产构建和用户端语言 JSON 解析,详见本次提交说明。
|
|
|
|
|
|
## 遗留决策
|
|
|
|