Admin:支持人工修改蝦皮 SKU 颜色尺码 #215

Closed
opened 2026-08-13 12:03:13 +08:00 by ila · 3 comments
Owner

基本信息

  • 类型:单元任务
  • 父级大工单:#14
  • 所属 MVP/版本:#15 / MVP 后续
  • 阶段:蝦皮数据维护

要解决什么

蝦皮商品详情当前只能查看规格,采购员无法修正已存在 SKU 的颜色、尺码和建议说明。错误或缺失规格只能等待再次导入,影响后续规格比对和采购处理。

做什么 / 不做什么

做什么

  • 在蝦皮商品详情中为每条现有 SKU 提供渐进式“编辑”表单。
  • 允许修改颜色、尺码和建议说明;颜色、尺码必填,建议说明可清空。
  • 保留原始规格、内部记录 ID、真实 Shopee SKU ID、规格键等不可变字段。
  • 保存后把三个字段标记为人工来源,并保护人工值(含主动清空的建议说明)不被后续目录导入或 SYB 低优先级补全覆盖。
  • 保存后把该规格标记为已解析,并保留列表上下文。
  • 增加服务、仓储、路由、模板及回归测试,更新页面规范。

不做什么

  • 不新增或删除 SKU。
  • 不修改 SYB 原始颜色尺码、既有规���映射和已创建的采购任务。
  • 不自动猜测规格,不调用 AI。
  • 不改变 Client 接口,不新增数据库迁移。

已确认的实现方案

  • 详情表格保持只读摘要,在每行操作列使用折叠编辑区,避免大量输入框常驻。
  • 表单使用内部 SKU 记录 ID 定位数据,同时校验所属商品,禁止跨商品修改。
  • 服务端统一去除首尾空格、校验必填和长度,单次更新颜色、尺码、建议说明、parse_ok、字段来源和观测时间。
  • 字段级来源写为 manual;目录导入的补空与同源覆盖逻辑都必须尊重人工来源。主动清空建议说明也视为明确人工选择。
  • 预计修改:admin/handler/web/shopee.go、admin/service/shopee*.go、admin/repository/shopee*.go、admin/templates/shopee/detail_modal.html、路由、测试及 docs/admin/05-ui-specification.md。

验收标准

  • 登录用户可在商品详情修改现有 SKU 的颜色、尺码和建议说明。
  • 空颜色、空尺码、超长内容和跨商品记录均被服务端拒绝且不产生部分更新。
  • 保存后规格状态为已解析,原始规格、规格键和真实 SKU ID 不变。
  • 人工修改值不被后续 fill_missing 或 overwrite_same_source 目录导入覆盖。
  • 主动清空建议说明后,后续低优先级导入不会重新填入。
  • SYB 原始���据、规格映射、采购任务和 Client 接口行为不变。
  • Go 1.23 build、test、vet 全部通过。

风险和回退

  • 风险:错误人工修改会影响后续规格参考;通过只允许编辑现有行、保留原始规格和字段来源降低风险。
  • 风险:导入覆盖规则处理不当可能重新覆盖人工值;必须有两种导入策略的回归测试。
  • 回退:回退代码即可恢复只读页面;已有人工字段仍是合法主数据,不需要回滚表结构。

验证方式

在 admin/ 目录执行:

$env:GOTOOLCHAIN="go1.23.0"
go build ./...
go test ./... -count=1
go vet ./...
Remove-Item Env:GOTOOLCHAIN

浏览器打开蝦皮商品详情,修改一条规格后重新打开确认,并通过目录导入服务测试人工字段保护。

## 基本信息 - 类型:单元任务 - 父级大工单:#14 - 所属 MVP/版本:#15 / MVP 后续 - 阶段:蝦皮数据维护 ## 要解决什么 蝦皮商品详情当前只能查看规格,采购员无法修正已存在 SKU 的颜色、尺码和建议说明。错误或缺失规格只能等待再次导入,影响后续规格比对和采购处理。 ## 做什么 / 不做什么 ### 做什么 - 在蝦皮商品详情中为每条现有 SKU 提供渐进式“编辑”表单。 - 允许修改颜色、尺码和建议说明;颜色、尺码必填,建议说明可清空。 - 保留原始规格、内部记录 ID、真实 Shopee SKU ID、规格键等不可变字段。 - 保存后把三个字段标记为人工来源,并保护人工值(含主动清空的建议说明)不被后续目录导入或 SYB 低优先级补全覆盖。 - 保存后把该规格标记为已解析,并保留列表上下文。 - 增加服务、仓储、路由、模板及回归测试,更新页面规范。 ### 不做什么 - 不新增或删除 SKU。 - 不修改 SYB 原始颜色尺码、既有规���映射和已创建的采购任务。 - 不自动猜测规格,不调用 AI。 - 不改变 Client 接口,不新增数据库迁移。 ## 已确认的实现方案 - 详情表格保持只读摘要,在每行操作列使用折叠编辑区,避免大量输入框常驻。 - 表单使用内部 SKU 记录 ID 定位数据,同时校验所属商品,禁止跨商品修改。 - 服务端统一去除首尾空格、校验必填和长度,单次更新颜色、尺码、建议说明、`parse_ok`、字段来源和观测时间。 - 字段级来源写为 `manual`;目录导入的补空与同源覆盖逻辑都必须尊重人工来源。主动清空建议说明也视为明确人工选择。 - 预计修改:`admin/handler/web/shopee.go`、`admin/service/shopee*.go`、`admin/repository/shopee*.go`、`admin/templates/shopee/detail_modal.html`、路由、测试及 `docs/admin/05-ui-specification.md`。 ## 验收标准 - [x] 登录用户可在商品详情修改现有 SKU 的颜色、尺码和建议说明。 - [x] 空颜色、空尺码、超长内容和跨商品记录均被服务端拒绝且不产生部分更新。 - [x] 保存后规格状态为已解析,原始规格、规格键和真实 SKU ID 不变。 - [x] 人工修改值不被后续 `fill_missing` 或 `overwrite_same_source` 目录导入覆盖。 - [x] 主动清空建议说明后,后续低优先级导入不会重新填入。 - [x] SYB 原始���据、规格映射、采购任务和 Client 接口行为不变。 - [x] Go 1.23 build、test、vet 全部通过。 ## 风险和回退 - 风险:错误人工修改会影响后续规格参考;通过只允许编辑现有行、保留原始规格和字段来源降低风险。 - 风险:导入覆盖规则处理不当可能重新覆盖人工值;必须有两种导入策略的回归测试。 - 回退:回退代码即可恢复只读页面;已有人工字段仍是合法主数据,不需要回滚表结构。 ## 验证方式 在 `admin/` 目录执行: ```powershell $env:GOTOOLCHAIN="go1.23.0" go build ./... go test ./... -count=1 go vet ./... Remove-Item Env:GOTOOLCHAIN ``` 浏览器打开蝦皮商品详情,修改一条规格后重新打开确认,并通过目录导入服务测试人工字段保护。
Author
Owner

状态:进行中。已完成现状核对,开始按工单方案实施。

状态:进行中。已完成现状核对,开始按工单方案实施。
Author
Owner

状态:已完成,待用户验收。

实现结果:

  • 商品详情中每条现有 SKU 可渐进展开编辑颜色、尺码和建议说明。
  • 服务端校验必填、长度、记录存在性和商品归属;保存不改原文、规格键、真实 SKU ID 或 is_manual。
  • 人工字段写入 manual 来源;fill_missing 和 overwrite_same_source 均不会覆盖,主动清空建议也受保护。
  • 保存后保留列表上下文并重新打开同一商品。
  • 实现提交:4752fef
  • 归档提交:282a917
  • 归档:docs/task/215-蝦皮SKU人工编辑.md

验证:固定 Go 1.23 执行 go build ./...、go test ./... -count=1、go vet ./... 全部通过。未设置 CMAUTOBUY_MYSQL_TEST=1,真实 MySQL 8 隔离库测试未执行;未做浏览器人工编辑验收。

状态:已完成,待用户验收。 实现结果: - 商品详情中每条现有 SKU 可渐进展开编辑颜色、尺码和建议说明。 - 服务端校验必填、长度、记录存在性和商品归属;保存不改原文、规格键、真实 SKU ID 或 `is_manual`。 - 人工字段写入 `manual` 来源;`fill_missing` 和 `overwrite_same_source` 均不会覆盖,主动清空建议也受保护。 - 保存后保留列表上下文并重新打开同一商品。 - 实现提交:4752fef - 归档提交:282a917 - 归档:docs/task/215-蝦皮SKU人工编辑.md 验证:固定 Go 1.23 执行 `go build ./...`、`go test ./... -count=1`、`go vet ./...` 全部通过。未设置 `CMAUTOBUY_MYSQL_TEST=1`,真实 MySQL 8 隔离库测试未执行;未做浏览器人工编辑验收。
Author
Owner

用户于 2026-08-13 明确验收通过。工单已完成归档,现关闭工单。

用户于 2026-08-13 明确验收通过。工单已完成归档,现关闭工单。
ila closed this issue 2026-08-13 15:56:52 +08:00
Sign in to join this conversation.
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: chengma/cmautobuy#215