产品id绑定改为code绑定
This commit is contained in:
@@ -29,7 +29,7 @@ CREATE TABLE `bms_customer` (
|
||||
`weight_threshold` decimal(15,2) DEFAULT 0.00 COMMENT '重量阈值(kg)',
|
||||
`throw_ratio` decimal(15,2) DEFAULT 0.00 COMMENT '抛比(%)',
|
||||
`credit_ed` decimal(15,2) DEFAULT 0.00 COMMENT '信用额度(元)',
|
||||
`product_ids` varchar(1000) DEFAULT NULL COMMENT '绑定产品ID(多个产品ID用逗号分隔,支持批量操作)',
|
||||
`product_codes` varchar(1000) DEFAULT NULL COMMENT '绑定产品代码(多个产品代码用逗号分隔,对接旧库产品编码)',
|
||||
|
||||
-- ========== 附件字段(新增) ==========
|
||||
`logo_oss_id` bigint(20) DEFAULT NULL COMMENT '客户Logo(图片,关联sys_oss.oss_id)',
|
||||
|
||||
@@ -0,0 +1,23 @@
|
||||
-- =====================================================================
|
||||
-- 客户绑定产品:存储口径由「产品ID逗号串」改为「产品代码逗号串」
|
||||
-- 背景:后续产品数据从旧数据库迁移导入,新旧库产品ID不一致,
|
||||
-- 产品代码(product_code)在两库间稳定,故客户绑定关系改用代码。
|
||||
-- 日期:2026-09-22
|
||||
-- =====================================================================
|
||||
|
||||
-- 1. 列改名(保留原数据,CHANGE 仅改列名/注释)
|
||||
ALTER TABLE bms_customer
|
||||
CHANGE COLUMN product_ids product_codes varchar(1000) DEFAULT NULL
|
||||
COMMENT '绑定产品代码(多个产品代码用逗号分隔,对接旧库产品编码)';
|
||||
|
||||
-- 2. 旧值(产品ID逗号串)按 bms_product 映射为产品代码逗号串
|
||||
-- FIND_IN_SET 逐个匹配逗号串中的ID,GROUP_CONCAT 重新拼为代码串;
|
||||
-- 匹配不到产品的ID会被置为NULL(脏数据,可在客户编辑页重新绑定)
|
||||
UPDATE bms_customer c
|
||||
SET c.product_codes = (
|
||||
SELECT GROUP_CONCAT(p.product_code)
|
||||
FROM bms_product p
|
||||
WHERE FIND_IN_SET(p.product_id, c.product_codes)
|
||||
)
|
||||
WHERE c.product_codes IS NOT NULL
|
||||
AND c.product_codes <> '';
|
||||
Reference in New Issue
Block a user