更新处理相关内容

This commit is contained in:
super
2026-05-09 00:20:52 +08:00
parent b9275bc174
commit a4e4745921
36 changed files with 5956 additions and 3499 deletions

View File

@@ -0,0 +1,68 @@
SET @db_name = DATABASE();
SET @idx_exists := (
SELECT COUNT(*)
FROM information_schema.STATISTICS
WHERE TABLE_SCHEMA = @db_name
AND TABLE_NAME = 'biz_similar_asin_filter_condition'
AND INDEX_NAME = 'uk_similar_asin_filter_condition_user_text'
);
SET @sql := IF(@idx_exists > 0,
'ALTER TABLE biz_similar_asin_filter_condition DROP INDEX uk_similar_asin_filter_condition_user_text',
'SELECT 1'
);
PREPARE stmt FROM @sql;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
SET @condition_text_type := (
SELECT DATA_TYPE
FROM information_schema.COLUMNS
WHERE TABLE_SCHEMA = @db_name
AND TABLE_NAME = 'biz_similar_asin_filter_condition'
AND COLUMN_NAME = 'condition_text'
);
SET @sql := IF(@condition_text_type <> 'mediumtext',
'ALTER TABLE biz_similar_asin_filter_condition MODIFY condition_text MEDIUMTEXT NOT NULL',
'SELECT 1'
);
PREPARE stmt FROM @sql;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
SET @condition_hash_exists := (
SELECT COUNT(*)
FROM information_schema.COLUMNS
WHERE TABLE_SCHEMA = @db_name
AND TABLE_NAME = 'biz_similar_asin_filter_condition'
AND COLUMN_NAME = 'condition_hash'
);
SET @sql := IF(@condition_hash_exists = 0,
'ALTER TABLE biz_similar_asin_filter_condition ADD COLUMN condition_hash CHAR(64) NULL AFTER condition_text',
'SELECT 1'
);
PREPARE stmt FROM @sql;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
UPDATE biz_similar_asin_filter_condition
SET condition_hash = SHA2(condition_text, 256)
WHERE condition_hash IS NULL OR condition_hash = '';
ALTER TABLE biz_similar_asin_filter_condition
MODIFY condition_hash CHAR(64) NOT NULL;
SET @idx_exists := (
SELECT COUNT(*)
FROM information_schema.STATISTICS
WHERE TABLE_SCHEMA = @db_name
AND TABLE_NAME = 'biz_similar_asin_filter_condition'
AND INDEX_NAME = 'uk_similar_asin_filter_condition_user_hash'
);
SET @sql := IF(@idx_exists = 0,
'ALTER TABLE biz_similar_asin_filter_condition ADD UNIQUE KEY uk_similar_asin_filter_condition_user_hash (user_id, condition_hash)',
'SELECT 1'
);
PREPARE stmt FROM @sql;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;

View File

@@ -0,0 +1,12 @@
INSERT INTO `columns` (`name`, `column_key`, `menu_type`, `route_path`, `sort_order`)
SELECT '商品类目', 'admin_product_categories', 'admin', 'product-categories', 66
WHERE NOT EXISTS (
SELECT 1 FROM `columns` WHERE `column_key` = 'admin_product_categories'
);
UPDATE `columns`
SET `name` = '商品类目',
`menu_type` = 'admin',
`route_path` = 'product-categories',
`sort_order` = 66
WHERE `column_key` = 'admin_product_categories';

View File

@@ -0,0 +1,91 @@
CREATE TABLE IF NOT EXISTS biz_product_category (
id BIGINT PRIMARY KEY AUTO_INCREMENT COMMENT '主键',
parent_id BIGINT NULL COMMENT '父级类目ID',
name VARCHAR(128) NOT NULL COMMENT '类目名称',
category_key VARCHAR(128) NOT NULL COMMENT '类目标识',
sort_order INT NOT NULL DEFAULT 0 COMMENT '排序',
description VARCHAR(512) NOT NULL DEFAULT '' COMMENT '备注',
is_builtin TINYINT(1) NOT NULL DEFAULT 0 COMMENT '是否内置',
created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
updated_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
UNIQUE KEY uk_product_category_key (category_key),
KEY idx_product_category_parent_sort (parent_id, sort_order, id)
) COMMENT='商品类目树';
INSERT INTO biz_product_category (parent_id, name, category_key, sort_order, is_builtin)
SELECT NULL, '护肤品', 'skincare', 10, 1
WHERE NOT EXISTS (SELECT 1 FROM biz_product_category WHERE category_key = 'skincare');
INSERT INTO biz_product_category (parent_id, name, category_key, sort_order, is_builtin)
SELECT NULL, '彩妆', 'makeup', 20, 1
WHERE NOT EXISTS (SELECT 1 FROM biz_product_category WHERE category_key = 'makeup');
INSERT INTO biz_product_category (parent_id, name, category_key, sort_order, is_builtin)
SELECT NULL, '洗护', 'haircare', 30, 1
WHERE NOT EXISTS (SELECT 1 FROM biz_product_category WHERE category_key = 'haircare');
INSERT INTO biz_product_category (parent_id, name, category_key, sort_order, is_builtin)
SELECT NULL, '功效类', 'functional', 40, 1
WHERE NOT EXISTS (SELECT 1 FROM biz_product_category WHERE category_key = 'functional');
INSERT INTO biz_product_category (parent_id, name, category_key, sort_order, is_builtin)
SELECT NULL, '香氛', 'fragrance', 50, 1
WHERE NOT EXISTS (SELECT 1 FROM biz_product_category WHERE category_key = 'fragrance');
INSERT INTO biz_product_category (parent_id, name, category_key, sort_order, is_builtin)
SELECT p.id, '面霜', 'skincare_cream', 10, 1 FROM biz_product_category p
WHERE p.category_key = 'skincare' AND NOT EXISTS (SELECT 1 FROM biz_product_category WHERE category_key = 'skincare_cream');
INSERT INTO biz_product_category (parent_id, name, category_key, sort_order, is_builtin)
SELECT p.id, '精华', 'skincare_essence', 20, 1 FROM biz_product_category p
WHERE p.category_key = 'skincare' AND NOT EXISTS (SELECT 1 FROM biz_product_category WHERE category_key = 'skincare_essence');
INSERT INTO biz_product_category (parent_id, name, category_key, sort_order, is_builtin)
SELECT p.id, '面膜', 'skincare_mask', 30, 1 FROM biz_product_category p
WHERE p.category_key = 'skincare' AND NOT EXISTS (SELECT 1 FROM biz_product_category WHERE category_key = 'skincare_mask');
INSERT INTO biz_product_category (parent_id, name, category_key, sort_order, is_builtin)
SELECT p.id, '爽肤水', 'skincare_toner', 40, 1 FROM biz_product_category p
WHERE p.category_key = 'skincare' AND NOT EXISTS (SELECT 1 FROM biz_product_category WHERE category_key = 'skincare_toner');
INSERT INTO biz_product_category (parent_id, name, category_key, sort_order, is_builtin)
SELECT p.id, '身体乳', 'skincare_body_lotion', 50, 1 FROM biz_product_category p
WHERE p.category_key = 'skincare' AND NOT EXISTS (SELECT 1 FROM biz_product_category WHERE category_key = 'skincare_body_lotion');
INSERT INTO biz_product_category (parent_id, name, category_key, sort_order, is_builtin)
SELECT p.id, '口红', 'makeup_lipstick', 10, 1 FROM biz_product_category p
WHERE p.category_key = 'makeup' AND NOT EXISTS (SELECT 1 FROM biz_product_category WHERE category_key = 'makeup_lipstick');
INSERT INTO biz_product_category (parent_id, name, category_key, sort_order, is_builtin)
SELECT p.id, '粉底', 'makeup_foundation', 20, 1 FROM biz_product_category p
WHERE p.category_key = 'makeup' AND NOT EXISTS (SELECT 1 FROM biz_product_category WHERE category_key = 'makeup_foundation');
INSERT INTO biz_product_category (parent_id, name, category_key, sort_order, is_builtin)
SELECT p.id, '眼影', 'makeup_eyeshadow', 30, 1 FROM biz_product_category p
WHERE p.category_key = 'makeup' AND NOT EXISTS (SELECT 1 FROM biz_product_category WHERE category_key = 'makeup_eyeshadow');
INSERT INTO biz_product_category (parent_id, name, category_key, sort_order, is_builtin)
SELECT p.id, '睫毛', 'makeup_mascara', 40, 1 FROM biz_product_category p
WHERE p.category_key = 'makeup' AND NOT EXISTS (SELECT 1 FROM biz_product_category WHERE category_key = 'makeup_mascara');
INSERT INTO biz_product_category (parent_id, name, category_key, sort_order, is_builtin)
SELECT p.id, '洗发水', 'haircare_shampoo', 10, 1 FROM biz_product_category p
WHERE p.category_key = 'haircare' AND NOT EXISTS (SELECT 1 FROM biz_product_category WHERE category_key = 'haircare_shampoo');
INSERT INTO biz_product_category (parent_id, name, category_key, sort_order, is_builtin)
SELECT p.id, '护发素', 'haircare_conditioner', 20, 1 FROM biz_product_category p
WHERE p.category_key = 'haircare' AND NOT EXISTS (SELECT 1 FROM biz_product_category WHERE category_key = 'haircare_conditioner');
INSERT INTO biz_product_category (parent_id, name, category_key, sort_order, is_builtin)
SELECT p.id, '染发剂', 'haircare_hair_dye', 30, 1 FROM biz_product_category p
WHERE p.category_key = 'haircare' AND NOT EXISTS (SELECT 1 FROM biz_product_category WHERE category_key = 'haircare_hair_dye');
INSERT INTO biz_product_category (parent_id, name, category_key, sort_order, is_builtin)
SELECT p.id, '烫发膏', 'haircare_perm_cream', 40, 1 FROM biz_product_category p
WHERE p.category_key = 'haircare' AND NOT EXISTS (SELECT 1 FROM biz_product_category WHERE category_key = 'haircare_perm_cream');
INSERT INTO biz_product_category (parent_id, name, category_key, sort_order, is_builtin)
SELECT p.id, '防晒', 'functional_sunscreen', 10, 1 FROM biz_product_category p
WHERE p.category_key = 'functional' AND NOT EXISTS (SELECT 1 FROM biz_product_category WHERE category_key = 'functional_sunscreen');
INSERT INTO biz_product_category (parent_id, name, category_key, sort_order, is_builtin)
SELECT p.id, '祛斑', 'functional_spot_removal', 20, 1 FROM biz_product_category p
WHERE p.category_key = 'functional' AND NOT EXISTS (SELECT 1 FROM biz_product_category WHERE category_key = 'functional_spot_removal');
INSERT INTO biz_product_category (parent_id, name, category_key, sort_order, is_builtin)
SELECT p.id, '美白', 'functional_whitening', 30, 1 FROM biz_product_category p
WHERE p.category_key = 'functional' AND NOT EXISTS (SELECT 1 FROM biz_product_category WHERE category_key = 'functional_whitening');
INSERT INTO biz_product_category (parent_id, name, category_key, sort_order, is_builtin)
SELECT p.id, '祛痘产品', 'functional_acne_care', 40, 1 FROM biz_product_category p
WHERE p.category_key = 'functional' AND NOT EXISTS (SELECT 1 FROM biz_product_category WHERE category_key = 'functional_acne_care');
INSERT INTO biz_product_category (parent_id, name, category_key, sort_order, description, is_builtin)
SELECT p.id, '香水', 'fragrance_perfume', 10, '', 1 FROM biz_product_category p
WHERE p.category_key = 'fragrance' AND NOT EXISTS (SELECT 1 FROM biz_product_category WHERE category_key = 'fragrance_perfume');
INSERT INTO biz_product_category (parent_id, name, category_key, sort_order, description, is_builtin)
SELECT p.id, '香薰精油(高酒精属于危险品)', 'fragrance_essential_oil_hazardous', 20, '高酒精属于危险品', 1 FROM biz_product_category p
WHERE p.category_key = 'fragrance' AND NOT EXISTS (SELECT 1 FROM biz_product_category WHERE category_key = 'fragrance_essential_oil_hazardous');