- 数据库升级:新增 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构建)
37 lines
1.4 KiB
Go
37 lines
1.4 KiB
Go
package model
|
|
|
|
import "time"
|
|
|
|
// PickupShop 线下提号店铺配置模型。
|
|
type PickupShop struct {
|
|
ID uint64 `gorm:"primaryKey" json:"id"`
|
|
Name string `gorm:"size:100;not null;uniqueIndex" json:"name"`
|
|
Platform string `gorm:"size:32;not null;default:''" json:"platform"`
|
|
Status string `gorm:"size:20;not null;default:'active';index" json:"status"`
|
|
SortOrder int `gorm:"not null;default:0" json:"sort_order"`
|
|
Remark string `gorm:"size:255;not null;default:''" json:"remark"`
|
|
CreatedAt time.Time `json:"created_at"`
|
|
UpdatedAt time.Time `json:"updated_at"`
|
|
}
|
|
|
|
func (PickupShop) TableName() string {
|
|
return "pickup_shops"
|
|
}
|
|
|
|
// PickupShopMapping 线下提号店铺历史映射/别名模型。
|
|
type PickupShopMapping struct {
|
|
ID uint64 `gorm:"primaryKey" json:"id"`
|
|
SourceName string `gorm:"size:100;not null;uniqueIndex" json:"source_name"`
|
|
TargetShopID uint64 `gorm:"not null;default:0" json:"target_shop_id"`
|
|
TargetShopName string `gorm:"size:100;not null;index" json:"target_shop_name"`
|
|
MappedCount int64 `gorm:"not null;default:0" json:"mapped_count"`
|
|
Remark string `gorm:"size:255;not null;default:''" json:"remark"`
|
|
CreatedAt time.Time `json:"created_at"`
|
|
UpdatedAt time.Time `json:"updated_at"`
|
|
}
|
|
|
|
func (PickupShopMapping) TableName() string {
|
|
return "pickup_shop_mappings"
|
|
}
|
|
|