瀏覽代碼

docs(闪送): 修订多站点待执行SQL(备注、按站收件人与收货码、送达计数、收货侧字典)

qmj 5 天之前
父節點
當前提交
f84d79d718
共有 1 個文件被更改,包括 26 次插入 和 8 次删除
  1. 26 8
      updatesql/sql.md

+ 26 - 8
updatesql/sql.md

@@ -1569,14 +1569,17 @@ ALTER TABLE pos_order
 ```
 
 
-## 2026-09-15 闪送多取货点、逐站凭证和目标调整审计
+## 2026-09-15 闪送多取货点、逐站凭证和目标调整审计(2026-10-14 修订为多点取送统一契约)
 
 仅记录 SQL,由开发者手动执行。测试阶段不迁移历史订单,不删除任何已有测试数据。
+2026-10-14 修订:按多点取送统一契约调整本段(尚未在任何环境执行)——站点表新增备注、按站收件人与按站收货码;订单增加收货站计数;字典上限改为 1..10 并新增收货侧开关。旧接口行为冻结:既有 `city/area` 与逐站物品列原样保留(仅旧接口继续写入,v2 留空),站点地址对 v2 以 `address` 完整文本加经纬度为准。
 
 ```sql
 ALTER TABLE flash_delivery_order
     ADD COLUMN pickup_stop_count INT NULL COMMENT '完整取货站数量,新订单必填',
     ADD COLUMN picked_up_stop_count INT NOT NULL DEFAULT 0 COMMENT '已确认取货站数量',
+    ADD COLUMN delivery_stop_count INT NULL COMMENT '完整收货站数量,v2新订单必填',
+    ADD COLUMN delivered_stop_count INT NOT NULL DEFAULT 0 COMMENT '已确认送达站数量',
     ADD COLUMN current_target_stop_id BIGINT NULL COMMENT '骑手当前选择目标,取货后清空恢复原顺序',
     ADD COLUMN problem_stop_id BIGINT NULL COMMENT '平台介入问题站,允许收货站',
     ADD COLUMN handling_result VARCHAR(500) NULL COMMENT '平台异常处理结果',
@@ -1591,15 +1594,18 @@ CREATE TABLE flash_delivery_order_stop (
     phone VARCHAR(32) NOT NULL,
     address VARCHAR(255) NOT NULL,
     address_detail VARCHAR(255) NULL,
-    city VARCHAR(64) NULL,
-    area VARCHAR(64) NULL,
+    city VARCHAR(64) NULL COMMENT '旧接口写入,v2为空',
+    area VARCHAR(64) NULL COMMENT '旧接口写入,v2为空',
     handoff_method VARCHAR(40) NULL,
     longitude DECIMAL(12,8) NOT NULL,
     latitude DECIMAL(12,8) NOT NULL,
-    package_type VARCHAR(40) NULL,
-    quantity INT NULL,
-    weight_range VARCHAR(40) NULL,
-    specification VARCHAR(255) NULL,
+    package_type VARCHAR(40) NULL COMMENT '旧接口逐站物品,v2为空(物品在订单级)',
+    quantity INT NULL COMMENT '旧接口逐站物品,v2为空',
+    weight_range VARCHAR(40) NULL COMMENT '旧接口逐站物品,v2为空',
+    specification VARCHAR(255) NULL COMMENT '旧接口逐站物品,v2为空',
+    remark VARCHAR(200) NULL COMMENT 'v2选填备注,告知骑手该站取什么或送什么',
+    receiver_user_id BIGINT NULL COMMENT 'v2收货站按联系人电话匹配的注册用户,匹配不到为空',
+    delivery_pin_code VARCHAR(16) NULL COMMENT 'v2启用收货码时按收货站生成',
     status VARCHAR(16) NOT NULL DEFAULT 'PENDING',
     picked_up_at DATETIME(3) NULL,
     delivered_at DATETIME(3) NULL,
@@ -1629,7 +1635,7 @@ CREATE TABLE flash_delivery_target_adjustment (
 ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='闪送目标选择与骑手声明审计';
 
 INSERT INTO sys_dict_type (dict_name, dict_type, status, create_by, create_time, remark)
-SELECT '闪送取货点上限', 'flash_pickup_stop_limit', '0', 'admin', NOW(), '整数1至26,缺失或非法回退1'
+SELECT '闪送取货点上限', 'flash_pickup_stop_limit', '0', 'admin', NOW(), '整数1至10,缺失或非法回退1'
 WHERE NOT EXISTS (SELECT 1 FROM sys_dict_type WHERE dict_type='flash_pickup_stop_limit');
 INSERT INTO sys_dict_type (dict_name, dict_type, status, create_by, create_time, remark)
 SELECT '闪送多取货点开关', 'flash_show_multi_pickup', '0', 'admin', NOW(), '1开启;仅约束报价、创建和地址编辑'
@@ -1643,6 +1649,18 @@ WHERE NOT EXISTS (SELECT 1 FROM sys_dict_data WHERE dict_type='flash_pickup_stop
 INSERT INTO sys_dict_data (dict_sort, dict_label, dict_value, dict_type, is_default, status, create_by, create_time)
 SELECT 1, '多取货点开关', '0', 'flash_show_multi_pickup', 'Y', '0', 'admin', NOW()
 WHERE NOT EXISTS (SELECT 1 FROM sys_dict_data WHERE dict_type='flash_show_multi_pickup');
+INSERT INTO sys_dict_type (dict_name, dict_type, status, create_by, create_time, remark)
+SELECT '闪送收货点上限', 'flash_delivery_stop_limit', '0', 'admin', NOW(), '整数1至10,缺失或非法回退1'
+WHERE NOT EXISTS (SELECT 1 FROM sys_dict_type WHERE dict_type='flash_delivery_stop_limit');
+INSERT INTO sys_dict_type (dict_name, dict_type, status, create_by, create_time, remark)
+SELECT '闪送多收货点开关', 'flash_show_multi_dropoff', '0', 'admin', NOW(), '1开启;仅约束v2报价与创建'
+WHERE NOT EXISTS (SELECT 1 FROM sys_dict_type WHERE dict_type='flash_show_multi_dropoff');
+INSERT INTO sys_dict_data (dict_sort, dict_label, dict_value, dict_type, is_default, status, create_by, create_time)
+SELECT 1, '收货点上限', '1', 'flash_delivery_stop_limit', 'Y', '0', 'admin', NOW()
+WHERE NOT EXISTS (SELECT 1 FROM sys_dict_data WHERE dict_type='flash_delivery_stop_limit');
+INSERT INTO sys_dict_data (dict_sort, dict_label, dict_value, dict_type, is_default, status, create_by, create_time)
+SELECT 1, '多收货点开关', '0', 'flash_show_multi_dropoff', 'Y', '0', 'admin', NOW()
+WHERE NOT EXISTS (SELECT 1 FROM sys_dict_data WHERE dict_type='flash_show_multi_dropoff');
 INSERT INTO sys_dict_data (dict_sort, dict_label, dict_value, dict_type, is_default, status, create_by, create_time)
 SELECT 1, '加急选项展示', '1', 'flash_show_urgent_option', 'Y', '0', 'admin', NOW()
 WHERE NOT EXISTS (SELECT 1 FROM sys_dict_data WHERE dict_type='flash_show_urgent_option');