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:
@@ -151,3 +151,18 @@
|
||||
- **提号列表与详情页字段展示**:
|
||||
- 列表中增加操作人、第三方单号、下单金额、押金金额的展示;
|
||||
- 详情页概览卡片同步展示新增字段。
|
||||
|
||||
### 4. 历史店铺可视化手动映射与一键清洗方案 (`000080_pickup_shop_mappings.sql`)
|
||||
- **数据表与持久化**:
|
||||
- `admin_pickups` 增加 `raw_shop_name VARCHAR(100)` 字段,永久留存提号单录入时的原始店铺名,确保清洗操作可追溯且可还原;
|
||||
- 新建 `pickup_shop_mappings` 历史映射别名表,记录 `source_name`, `target_shop_id`, `target_shop_name`, `mapped_count`, `remark`。
|
||||
- **后端服务能力**:
|
||||
- `GET /api/v1/admin/pickup-shops/historical-stats`:聚合统计线上历史店铺数量及每个店铺的提号单量,并标记 `standard`(标准店)、`mapped`(已映射)、`unmapped`(待映射);
|
||||
- `POST /api/v1/admin/pickup-shops/map-historical`:支持单条或批量将历史变体名称映射至目标标准店铺,并在原子事务内将 `admin_pickups` 的 `shop_name` 批量清洗更新,同时写入映射规则与审计日志;
|
||||
- `DELETE /api/v1/admin/pickup-shops/mappings`:支持撤销映射规则并将对应历史提号单的店铺名安全还原为原始名称;
|
||||
- 自动归一化:新建提号单时,若录入已映射的别名,自动归一化为目标标准店铺名,同时将原名称存入 `raw_shop_name`,防止未来脏数据再次混入。
|
||||
- **前端可视化管理**:
|
||||
- `PickupShopDialog.vue` 升级为双 Tab 结构:
|
||||
- **Tab 1(标准店铺库)**:标准店铺增删改查、启用/禁用、权重排序;
|
||||
- **Tab 2(历史店铺映射与清洗)**:顶部展示统计卡片(历史总数/已入库/已映射/待映射/涉及单量),列表直观展示 61 个历史名称与对应单量、当前状态;支持批量勾选映射、一键【设为标准】、单个【映射】、【重映射】与【撤销】。
|
||||
|
||||
|
||||
Reference in New Issue
Block a user