Commit Graph

20 Commits

Author SHA1 Message Date
d6ed96624a fix: 男装季节码不再一律 FW + 本地图迁移到 S4 的工具
男装季节码
- prefixOf 里 menswear 原来直接 return "FW",导致同年 Spring/Fall 男装推出同一个
  season_code(如 Spring 2021 与 Fall 2021 都是 FW21)。实体键是
  (brand + season_code + collection_type),后到的那场被判「已存在」静默丢弃。
- 改为按真实季节:春男装 SSyy、秋男装 FWyy。
- 迁移 2026-10-25-03 把历史「Spring ... Menswear」行的 season_code 由 FWyy 改写为 SSyy;
  实测无唯一键冲突(同品牌春夏男装此前必然因撞键未入库)。

s4migrate
- 新增 cmd/s4migrate:把库里 /uploads/... 的历史图片按内容寻址 key 上传到 S4,
  并改写图片行与封面,之后全站只保留 S4 一种存储(不再依赖 nginx 转发 /uploads)。
- 实测:136 张全部迁移成功,库内 /uploads 残留 0。
2026-10-25 14:55:30 +08:00
151e09ab30 feat: 抓取任务队列 + 媒体机直传 + 向量回填
crawl(品牌抓取任务队列)
- /admin/internal/crawl/tasks 领取 / :id/result 回报,spider 可常驻拉任务
- 后台品牌列表支持「加入抓取队列」,队列页可看状态与重试
- 租约超时的 running 自动回收为 queued,避免 worker 崩溃后任务卡死

media(媒体机直传)
- ingest 载荷新增 main_key/detail_keys/main_size/detail_sizes:
  有 key 就直接落库,跳过下载与上传;与 URL 形态可逐图混用
- 细节图按 Details/DetailKeys 两者较长者遍历(只给 key 时不再丢图)
- 媒体机上传的 key 不进失败回滚清单(内容寻址、可能与他人共享)
- /admin/internal/upload-url 签发 S4 PUT 预签名(spider 不持有 AK/SK)

embeddings(向量回填)
- GET /admin/internal/embeddings/pending 派发缺向量的图(含可直接下载的 url)
- POST /admin/internal/embeddings 回写向量并重算近邻;失败项计入
  image_embedding_failures,连续失败到上限后退出队列(坏图不占位)
- 近邻重算改为异步串行:同步会让 100 张的批次 POST 超时(实测 >60s)
- 新增 key 分支单测:混用 key/url、细节图只给 key、字节数、回滚清单、向量占位
2026-10-25 00:37:13 +08:00
1de1ec46a6 update 2026-10-18 17:42:10 +08:00
42f6316125 update 2026-09-25 11:31:52 +08:00
3fc8b1f924 chore(publish): 收尾清理陈旧 dump 与 gofmt 偏差
删除 cmd/dbtool/db_dump.sql:它是陈旧的全库 dump 旧产物(仍含 4 张已删草稿表与旧 schema),与权威的根 db_dump.sql 同名易混,且未被 .gitignore 覆盖;确认代码与文档均无引用,删除比再生成更干净。gofmt 修正 4 个文件(仅空白与注释,无语义变化):runway_image.go 结构体字段对齐、phash_test.go 行尾注释对齐、ingest_repository.go 两行多余空行、street_main_detail_integration_test.go 文档注释中的两个单引号会被 gofmt 改写成弯引号(改述为「空串」)。
2026-09-23 14:30:20 +08:00
299fd974df updae 2026-09-21 19:19:03 +08:00
b99dc3dca1 update backend 2026-09-20 01:06:13 +08:00
f7ae917603 update 2026-09-17 22:51:00 +08:00
6c31b18e0f update 2026-09-17 00:38:01 +08:00
7dd3fda73c update 2026-09-16 00:56:15 +08:00
580697f17a update 2026-09-13 14:16:37 +08:00
dbee704c95 update 2026-09-13 00:52:35 +08:00
10d8a96e8c update 2026-09-07 00:04:01 +08:00
74ba700598 update 2026-09-07 00:01:48 +08:00
b049104a0b update 2026-09-03 19:45:20 +08:00
ffe84efc4c update 2026-09-03 00:32:52 +08:00
f4f6e02e3c update 2026-08-31 19:59:56 +08:00
a325e438be update 2026-08-31 00:44:23 +08:00
9c3403a903 update 2026-08-30 10:45:34 +08:00
30c9f21da4 update 2026-08-26 10:45:21 +08:00