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构建)
This commit is contained in:
@@ -0,0 +1,27 @@
|
||||
-- +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;
|
||||
Reference in New Issue
Block a user