feat(admin): 后台完善 — 分类管理 + 品牌管理 + 新建商品 #9

Merged
lixu merged 3 commits from devin/1782002626-admin-category-management into main 2026-06-21 10:00:38 +08:00
Owner

概要

本 PR 持续完善后台与公开前端(权限/RBAC 暂不做,保持单管理员)。

1. 分类管理

  • POST/PUT/DELETE /api/categories,ltree 子树搬移、删除保护、字段级审计;后台「分类管理」页。

2. 品牌管理

  • POST /api/brandsPUT /api/brands/{id}POST /api/brands/{id}/mergeDELETE /api/brands/{id}
  • 列出品牌+引用商品数、改名、合并重复品牌(事务内 UPDATE product SET brand_id=dst 后删源)、删除未引用品牌。后台「品牌管理」页。

3. 新建商品

  • POST /api/products:核心字段建档,品牌按名自动创建,GTIN 重复 409。商品列表「新建商品」入口,建档后跳详情页补全。

4. 数据概览(新)

  • GET /api/stats:商品总数、合格数、平均质量分、按状态分布、品牌/分类数、待审核数。后台「数据概览」页。

5. 操作日志(新)

  • GET /api/audit:分页列出全局审计记录(操作人/动作/对象/字段/时间)。后台「操作日志」页。

6. 商品批量操作(新)

  • POST /api/products/bulkaction=status|category,对多选商品批量改状态或改分类(改分类会同步 GPC 并重算质量分)。商品列表支持多选 + 批量操作栏。

7. 公开首页(新)

  • 首页搜索框上方标题「天工商品档案公共仓」→「天工」。
  • 首页展示合格档案数;新增公开接口 GET /api/v1/stats
  • 合格口径:quality_score ≥ 0.6 且 status=active(前后台一致)。

测试

  • 后端 go test ./...(含 TestBrandLifecycleTestStatsAndBulkTestCategoryLifecycle)、go vetgofmt 通过。
  • 前端 admin/public tsc && vite build 通过。
## 概要 本 PR 持续完善后台与公开前端(权限/RBAC 暂不做,保持单管理员)。 ### 1. 分类管理 - `POST/PUT/DELETE /api/categories`,ltree 子树搬移、删除保护、字段级审计;后台「分类管理」页。 ### 2. 品牌管理 - `POST /api/brands`、`PUT /api/brands/{id}`、`POST /api/brands/{id}/merge`、`DELETE /api/brands/{id}`。 - 列出品牌+引用商品数、改名、合并重复品牌(事务内 `UPDATE product SET brand_id=dst` 后删源)、删除未引用品牌。后台「品牌管理」页。 ### 3. 新建商品 - `POST /api/products`:核心字段建档,品牌按名自动创建,GTIN 重复 409。商品列表「新建商品」入口,建档后跳详情页补全。 ### 4. 数据概览(新) - `GET /api/stats`:商品总数、合格数、平均质量分、按状态分布、品牌/分类数、待审核数。后台「数据概览」页。 ### 5. 操作日志(新) - `GET /api/audit`:分页列出全局审计记录(操作人/动作/对象/字段/时间)。后台「操作日志」页。 ### 6. 商品批量操作(新) - `POST /api/products/bulk`:`action=status|category`,对多选商品批量改状态或改分类(改分类会同步 GPC 并重算质量分)。商品列表支持多选 + 批量操作栏。 ### 7. 公开首页(新) - 首页搜索框上方标题「天工商品档案公共仓」→「天工」。 - 首页展示合格档案数;新增公开接口 `GET /api/v1/stats`。 - 合格口径:`quality_score ≥ 0.6 且 status=active`(前后台一致)。 ## 测试 - 后端 `go test ./...`(含 `TestBrandLifecycle`、`TestStatsAndBulk`、`TestCategoryLifecycle`)、`go vet`、`gofmt` 通过。 - 前端 admin/public `tsc && vite build` 通过。
lixu added 1 commit 2026-06-21 08:45:20 +08:00
feat(admin): 分类管理(分类树增删改移 + 后台页面)
CI / Go (api) (pull_request) Successful in 1m15s
CI / Python (ingestion) (pull_request) Successful in 10s
CI / Migrations (postgres) (pull_request) Successful in 16s
4a693c8fe9
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
lixu added 1 commit 2026-06-21 09:31:13 +08:00
feat(admin): 品牌管理 + 新建商品
CI / Go (api) (pull_request) Successful in 37s
CI / Python (ingestion) (pull_request) Successful in 10s
CI / Migrations (postgres) (pull_request) Successful in 16s
a36700076e
品牌管理:列出品牌及引用商品数,支持改名、合并重复品牌(把源品牌的商品并入目标后删除源)、删除未被引用的品牌。新建商品:商品列表新增「新建商品」入口,填写名称/条码/品牌/品类后创建并进入详情页继续补全。

Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
lixu changed title from feat(admin): 分类管理(分类树增删改移 + 后台页面) to feat(admin): 后台完善 — 分类管理 + 品牌管理 + 新建商品 2026-06-21 09:31:29 +08:00
lixu added 1 commit 2026-06-21 09:45:31 +08:00
feat: 数据概览/操作日志/批量操作 + 首页合格档案数
CI / Go (api) (pull_request) Successful in 13s
CI / Python (ingestion) (pull_request) Successful in 9s
CI / Migrations (postgres) (pull_request) Successful in 14s
f382c27200
后台新增「数据概览」(商品/合格/按状态/品牌/分类/待审核) 与「操作日志」(全局审计分页);商品列表支持多选批量改状态/分类。公开首页标题改为「天工」并展示合格档案数;新增公开接口 /api/v1/stats 与后台 /api/stats、/api/audit、/api/products/bulk。合格口径=quality_score≥0.6 且在用。

Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
lixu merged commit f9360c15e3 into main 2026-06-21 10:00:38 +08:00
Sign in to join this conversation.
No Reviewers
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: lixu/goods#9