Files
hfb_sys/backend/migrations/000080_pickup_shop_mappings.sql
T
yml2213 f3c5235b81 feat(pickup): 店铺管理支持历史店铺可视化手动映射与一键批量清洗
- 数据库升级:新增 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构建)
2026-10-09 13:31:11 +08:00

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;