feat: 增加规格匹配建议与决策审计 (#90)
This commit is contained in:
@@ -599,6 +599,38 @@ OptionKey(map[string]string{"size": "M", "color": "黑色"})
|
||||
只要有一点点不同(空格、转义、键序),映射就会静默对不上。
|
||||
**Client 只上报 `options` 对象,key 一律由 Admin 这一个函数算。**
|
||||
|
||||
### 6.3 `spec_mapping_decisions` 决策审计
|
||||
|
||||
本表只追加、不参与业务判断。每次成功保存映射时,与 `spec_mappings` 在同一事务写入;
|
||||
没有建议时 `suggested_option_key` 为 NULL 且 `accepted=0`。`accepted=0` 表示未采纳建议或当时无建议。
|
||||
|
||||
```sql
|
||||
CREATE TABLE spec_mapping_decisions (
|
||||
id BIGINT AUTO_INCREMENT PRIMARY KEY,
|
||||
shopee_goods_id VARCHAR(191) COLLATE utf8mb4_bin NOT NULL,
|
||||
spec_key VARCHAR(191) COLLATE utf8mb4_bin NOT NULL,
|
||||
pdd_goods_id VARCHAR(191) COLLATE utf8mb4_bin NOT NULL,
|
||||
rules_version VARCHAR(32) NOT NULL,
|
||||
suggested_option_key VARCHAR(191) COLLATE utf8mb4_bin,
|
||||
chosen_option_key VARCHAR(191) COLLATE utf8mb4_bin NOT NULL,
|
||||
accepted TINYINT NOT NULL CHECK (accepted IN (0, 1)),
|
||||
decided_by VARCHAR(191),
|
||||
decided_at VARCHAR(35) NOT NULL,
|
||||
KEY idx_decisions_mapping (shopee_goods_id, spec_key, pdd_goods_id)
|
||||
);
|
||||
```
|
||||
|
||||
下面的指标只能称为“成功保存决策中的建议采纳率”,不是准确率:
|
||||
|
||||
```sql
|
||||
SELECT rules_version, COUNT(*) AS 有建议的决策数, SUM(accepted) AS 采纳数,
|
||||
ROUND(SUM(accepted) / COUNT(*) * 100, 1) AS 采纳率
|
||||
FROM spec_mapping_decisions WHERE suggested_option_key IS NOT NULL GROUP BY rules_version;
|
||||
|
||||
SELECT rules_version, COUNT(*) AS 无建议决策数
|
||||
FROM spec_mapping_decisions WHERE suggested_option_key IS NULL GROUP BY rules_version;
|
||||
```
|
||||
|
||||
## 7. `tasks` 任务
|
||||
|
||||
采集任务和采购任务共用一张表,用 `task_type` 区分。
|
||||
|
||||
Reference in New Issue
Block a user