修复采购状态与颜色尺码映射显示不一致 #283

Open
opened 2026-09-14 14:34:00 +08:00 by ila · 2 comments
Owner

原始需求

修复 SYB 商品行/蝦皮商品详情中“可采购”状态与颜色、尺码映射显示不一致的问题。当前已发现:订单 260910N7YT3WSK 对应蝦皮商品 25991410357 的数据库映射已是 confirmed,但页面仍显示颜色尺码未匹配,存在状态误判或前端陈旧数据风险。

范围

  • 统一“可采购”判断、详情展示和手动/定时匹配后的状态校验逻辑。
  • 仅当当前 SYB 商品目标颜色/尺码均有 confirmed 映射,且映射值仍存在于当前 PDD 商品规格时,才允许显示可采购。
  • 手动一键匹配保存后刷新详情及采购状态;定时任务保存后使用同一校验。
  • 前端切换商品时清理旧详情缓存,并以最新接口响应为准。
  • 接口返回并校验 sybProductId、shopeeProductId、pddProductId 及规格版本,避免同货号不同商品行混用。

非目标

不改变 AI 提供商、规格匹配算法、采购执行流程,不新增支付或复杂门禁。

验收标准

  1. 手动匹配成功后刷新页面,目标颜色/尺码显示 confirmed,采购状态与详情一致。
  2. 定时匹配成功后,列表和详情显示一致。
  3. 任一目标规格未确认、映射值已从 PDD 规格消失或商品关联变化时,不显示可采购,并给出刷新/重新匹配提示。
  4. 切换同货号的不同 SYB 商品行不会串用映射或状态。
  5. 增加手动、定时、映射失效、缓存刷新四类回归测试。

风险与文档

涉及 Server/Web 状态判断和接口契约;实施前按仓库规则补充必要工单设计/契约说明。无数据库迁移预期。

## 原始需求 修复 SYB 商品行/蝦皮商品详情中“可采购”状态与颜色、尺码映射显示不一致的问题。当前已发现:订单 260910N7YT3WSK 对应蝦皮商品 25991410357 的数据库映射已是 confirmed,但页面仍显示颜色尺码未匹配,存在状态误判或前端陈旧数据风险。 ## 范围 - 统一“可采购”判断、详情展示和手动/定时匹配后的状态校验逻辑。 - 仅当当前 SYB 商品目标颜色/尺码均有 confirmed 映射,且映射值仍存在于当前 PDD 商品规格时,才允许显示可采购。 - 手动一键匹配保存后刷新详情及采购状态;定时任务保存后使用同一校验。 - 前端切换商品时清理旧详情缓存,并以最新接口响应为准。 - 接口返回并校验 sybProductId、shopeeProductId、pddProductId 及规格版本,避免同货号不同商品行混用。 ## 非目标 不改变 AI 提供商、规格匹配算法、采购执行流程,不新增支付或复杂门禁。 ## 验收标准 1. 手动匹配成功后刷新页面,目标颜色/尺码显示 confirmed,采购状态与详情一致。 2. 定时匹配成功后,列表和详情显示一致。 3. 任一目标规格未确认、映射值已从 PDD 规格消失或商品关联变化时,不显示可采购,并给出刷新/重新匹配提示。 4. 切换同货号的不同 SYB 商品行不会串用映射或状态。 5. 增加手动、定时、映射失效、缓存刷新四类回归测试。 ## 风险与文档 涉及 Server/Web 状态判断和接口契约;实施前按仓库规则补充必要工单设计/契约说明。无数据库迁移预期。
Author
Owner

实施结果

已在分支 fix/283-purchase-mapping-consistency 完成最小修复,提交 c137f50。

修改

  • 采购预览继续保留现有“规格探测/现场匹配”能力(eligible 不改变)。
  • 但只要当前 SYB 目标颜色/尺码没有已保存的 confirmed 映射,或映射值已不在当前 PDD 可选规格中,就返回 PURCHASE_SPEC_MAPPING_REQUIRED / open_mapping。
  • 因此列表处理阶段不会再错误显示“可创建采购”,详情与列表使用同一状态依据。
  • 手动和定时匹配写入 confirmed 后,下一次预览即可进入可采购状态;映射失效会自动降级为待匹配。

验证

go test ./app/goauto/purchase 通过。

未完成

尚未合并 main、构建或发布线上环境,等待验收及发布授权。

## 实施结果 已在分支 `fix/283-purchase-mapping-consistency` 完成最小修复,提交 `c137f50`。 ### 修改 - 采购预览继续保留现有“规格探测/现场匹配”能力(`eligible` 不改变)。 - 但只要当前 SYB 目标颜色/尺码没有已保存的 `confirmed` 映射,或映射值已不在当前 PDD 可选规格中,就返回 `PURCHASE_SPEC_MAPPING_REQUIRED` / `open_mapping`。 - 因此列表处理阶段不会再错误显示“可创建采购”,详情与列表使用同一状态依据。 - 手动和定时匹配写入 confirmed 后,下一次预览即可进入可采购状态;映射失效会自动降级为待匹配。 ### 验证 `go test ./app/goauto/purchase` 通过。 ### 未完成 尚未合并 `main`、构建或发布线上环境,等待验收及发布授权。
Author
Owner

合并与线上发布

已获授权完成合并和发布:

  • fix/283-purchase-mapping-consistency 合并到 main
  • main 合并提交:be03972
  • Server 使用 GOOS=linux GOARCH=amd64 CGO_ENABLED=0 构建,已校验 ELF x86-64、可执行权限
  • Web pnpm install --frozen-lockfile、pnpm run build:prod 成功,dist/index.html 已随发布包上传
  • 线上发布目录:/home/goauto/releases/20260914-be03972-r2
  • 已原子切换 /home/goauto/current 并重启 GoAuto、reload Nginx

线上验证

  • goauto.service: active
  • 本机 API http://127.0.0.1:8010/api/v1/captcha: HTTP 200
  • 外部首页 http://185.216.248.75:9527/: HTTP 200

发布过程中曾发现首个临时包误用了 Windows 构建产物,导致服务启动失败;已立即回滚并用 Linux ELF 包重新发布,当前服务已恢复正常。旧发布目录保留,可回滚。

## 合并与线上发布 已获授权完成合并和发布: - `fix/283-purchase-mapping-consistency` 合并到 `main` - main 合并提交:`be03972` - Server 使用 `GOOS=linux GOARCH=amd64 CGO_ENABLED=0` 构建,已校验 ELF x86-64、可执行权限 - Web `pnpm install --frozen-lockfile`、`pnpm run build:prod` 成功,`dist/index.html` 已随发布包上传 - 线上发布目录:`/home/goauto/releases/20260914-be03972-r2` - 已原子切换 `/home/goauto/current` 并重启 GoAuto、reload Nginx ### 线上验证 - `goauto.service`: `active` - 本机 API `http://127.0.0.1:8010/api/v1/captcha`: HTTP 200 - 外部首页 `http://185.216.248.75:9527/`: HTTP 200 发布过程中曾发现首个临时包误用了 Windows 构建产物,导致服务启动失败;已立即回滚并用 Linux ELF 包重新发布,当前服务已恢复正常。旧发布目录保留,可回滚。
Sign in to join this conversation.
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: OPC/goauto#283