- 数据库升级:新增 pickup_shop_mappings 映射别名表,并在 admin_pickups 增加 raw_shop_name 永久保留原始店铺录入值 - 后端映射能力:提供历史店铺聚合统计、单条/批量映射至目标标准店铺、映射规则撤销与提号单还原接口;新建提号时若录入已映射别名自动归一化 - 前端管理升级:PickupShopDialog 升级为双 Tab 结构,Tab 2「历史店铺映射与清洗」支持总览统计卡片、状态筛选、单条/批量映射清洗、一键设为标准店铺及撤销还原 - 验证方式:执行并通过全套代码门禁(scripts/check.sh:SQL约束、go vet/build/test、MySQL测试库覆盖率、vue大小、eslint、prettier、vue-tsc及vite构建)
28 lines
1.1 KiB
SQL
28 lines
1.1 KiB
SQL
-- +goose Up
|
|
|
|
ALTER TABLE admin_pickups
|
|
ADD COLUMN raw_shop_name VARCHAR(100) NOT NULL DEFAULT '' COMMENT '原始录入店铺名称' AFTER shop_name;
|
|
|
|
UPDATE admin_pickups SET raw_shop_name = shop_name WHERE raw_shop_name = '';
|
|
|
|
CREATE TABLE pickup_shop_mappings (
|
|
id BIGINT UNSIGNED NOT NULL AUTO_INCREMENT,
|
|
source_name VARCHAR(100) NOT NULL COMMENT '原始/历史店铺名称',
|
|
target_shop_id BIGINT UNSIGNED NOT NULL DEFAULT 0 COMMENT '映射的目标标准店铺ID',
|
|
target_shop_name VARCHAR(100) NOT NULL COMMENT '映射的目标标准店铺名称',
|
|
mapped_count BIGINT NOT NULL DEFAULT 0 COMMENT '最近一次清洗影响的历史单量',
|
|
remark VARCHAR(255) NOT NULL DEFAULT '' COMMENT '映射说明',
|
|
created_at DATETIME NOT NULL,
|
|
updated_at DATETIME NOT NULL,
|
|
PRIMARY KEY (id),
|
|
UNIQUE KEY uk_pickup_shop_mapping_source (source_name),
|
|
KEY idx_pickup_shop_mapping_target (target_shop_name)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='线下提号店铺历史映射表';
|
|
|
|
-- +goose Down
|
|
|
|
DROP TABLE IF EXISTS pickup_shop_mappings;
|
|
|
|
ALTER TABLE admin_pickups
|
|
DROP COLUMN raw_shop_name;
|