admin/sql/20260803_pickup_order_align_fields.sql
zzh b2355104cf feat: 完善揽收单与问题件处理能力
补齐揽收单字段/并发戳与问题件处理人配置,扩展异常工作流与下单同步揽收出参;移除已收货状态并补充相关 SQL 脚本。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-04 11:49:23 +08:00

54 lines
2.6 KiB
SQL
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

-- 对齐已创建的 t_pickup_order / t_pickup_order_line 与现表公共字段。
-- 适用于已执行旧版 20260803_pickup_order.sql 的环境;列已存在时对应语句会报错,可跳过。
-- 执行前请备份。
--
-- 注意:ConcurrencyStamp 勿写 DEFAULT (UUID()),在开启复制/GTID 时 ALTER 会报 1674。
-- 正确做法:先可空列 → UPDATE 回填 → 再改为 NOT NULL。
-- ===== t_pickup_order =====
ALTER TABLE `t_pickup_order`
ADD COLUMN `RequestId` VARCHAR(64) NULL COMMENT '请求幂等ID' AFTER `PickupNo`,
ADD COLUMN `OrganizationId` CHAR(36) NULL COMMENT '数据归属组织' AFTER `CustomerId`,
ADD COLUMN `SecretLevel` TINYINT NOT NULL DEFAULT 2 COMMENT '数据密级 1-4' AFTER `OrganizationId`;
ALTER TABLE `t_pickup_order`
ADD COLUMN `SenderCountry` INT NULL COMMENT '国家 t_country.Id 快照' AFTER `SenderCompany`,
ADD COLUMN `SenderStreetAddress3` VARCHAR(500) NULL COMMENT '地址3快照' AFTER `SenderStreetAddress2`,
ADD COLUMN `SenderHouseNumber` VARCHAR(50) NULL COMMENT '门牌号快照' AFTER `SenderStreetAddress3`,
ADD COLUMN `SenderTelePhone` VARCHAR(50) NULL COMMENT '电话快照' AFTER `SenderPhone`,
ADD COLUMN `SenderEmail` VARCHAR(60) NULL COMMENT '邮箱快照' AFTER `SenderTelePhone`;
-- 手机字段长度与现表对齐(若已是 50 可忽略报错)
ALTER TABLE `t_pickup_order`
MODIFY COLUMN `SenderPhone` VARCHAR(50) NULL COMMENT '手机快照';
-- ConcurrencyStamp(复制安全写法)
ALTER TABLE `t_pickup_order`
ADD COLUMN `ConcurrencyStamp` CHAR(36) NULL COMMENT '并发戳' AFTER `IsDeleted`;
UPDATE `t_pickup_order`
SET `ConcurrencyStamp` = UUID()
WHERE `ConcurrencyStamp` IS NULL OR `ConcurrencyStamp` = '';
ALTER TABLE `t_pickup_order`
MODIFY COLUMN `ConcurrencyStamp` CHAR(36) NOT NULL COMMENT '并发戳';
ALTER TABLE `t_pickup_order`
ADD UNIQUE KEY `uk_pickup_request_id` (`RequestId`),
ADD KEY `idx_pickup_org_secret_ctime` (`OrganizationId`, `SecretLevel`, `CreateTime`);
-- ===== t_pickup_order_line =====
ALTER TABLE `t_pickup_order_line`
ADD COLUMN `ServiceNo` VARCHAR(64) NULL COMMENT '运单号快照(便于列表)' AFTER `OrderId`,
ADD COLUMN `ClientNo` VARCHAR(64) NULL COMMENT '客户单号快照' AFTER `ServiceNo`;
ALTER TABLE `t_pickup_order_line`
ADD COLUMN `ConcurrencyStamp` CHAR(36) NULL COMMENT '并发戳' AFTER `IsDeleted`;
UPDATE `t_pickup_order_line`
SET `ConcurrencyStamp` = UUID()
WHERE `ConcurrencyStamp` IS NULL OR `ConcurrencyStamp` = '';
ALTER TABLE `t_pickup_order_line`
MODIFY COLUMN `ConcurrencyStamp` CHAR(36) NOT NULL COMMENT '并发戳';