Files
olons_admin/docs/admin_reference_prd/后台管理系统开发总结.md
T

454 lines
15 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 后台管理系统开发总结
> 文档版本:V1.0
> 编制日期:2026-10-08
> 需求基线:[后台管理系统需求文档](./后台管理系统需求文档.md)
> 概要设计:[后台管理系统概要设计](./后台管理系统概要设计.md)
> 项目目录:`/Users/youshunlai/go_workspace/olons_admin`
## 1. 文档说明
本文档汇总当前已经完成的后台管理系统开发内容,用于后续联调、测试、验收和继续开发。
文档中的状态分为:
- **已开发**:已完成数据库、后端接口、前端页面和菜单权限的主体实现。
- **复用现有系统**:HotGo 已提供对应能力,本项目不重复开发。
- **后续补充**:已有基础模型,但仍需按专项设计补齐业务闭环。
## 2. 总体完成情况
| 章节 | 模块 | 当前状态 | 说明 |
| --- | --- | --- | --- |
| 第 4 章 | 首页数据看板 | 已开发 | 已接入真实业务统计与待办入口 |
| 第 5 章 | 门户、内容与 Banner | 已开发 | 已完成配置版本、文本、Banner、手工商城 |
| 第 6 章 | 会员管理 | 已开发 | 已完成会员、隐私、团队、钱包调账和通知 |
| 第 7 章 | 会员等级与任务大厅 | 已开发 | 已完成等级版本发布和任务大厅管理 |
| 第 8 章 | 交易管理 | 已开发 | 已完成订单、充值、提现和客服管理 |
| 第 9 章 | 商品与任务管理 | 已开发 | 已完成商品、任务和会员任务审核 |
| 第 10 章 | 管理员、角色与权限 | 复用现有系统 | HotGo 原有组织、管理员、角色和菜单权限满足主体需求 |
| 第 11 章 | 数据字典与个人设置 | 复用现有系统 | HotGo 原有字典、个人资料和安全设置满足主体需求 |
| 第 12 章 | 状态机与数据模型 | 后续补充 | 核心模型已有,冲正、归档和严格状态转换仍需补强 |
## 3. 技术实现概况
### 3.1 后端
- Go + GoFrame v2。
- 遵循 `api → controller → service → logic → dao` 分层。
- 业务模块使用主模块实现,没有引入额外 Addon。
- 表字段通过 `dao.Xxx.Columns()` 引用。
- 多租户数据通过现有 `handler.Model` 和 `hook.SaveTenant` 处理。
- 金额统一按“分”存储,比例统一按“万分比”存储。
- 业务字典优先复用 HotGo 字典系统,代码枚举统一在 `internal/consts` 注册。
### 3.2 前端
- Vue 3 + Vite + TypeScript。
- UI 统一使用 Naive UI 和项目已有的 `BasicTable`、`BasicForm`、`BasicModal`。
- HTTP 请求统一通过 `@/utils/http/axios` 的 `http.request`。
- 菜单由后端数据驱动,页面操作使用接口路径进行权限判断。
- 状态标签和筛选项从后端字典加载,不在页面硬编码业务枚举。
### 3.3 基础治理
在业务模块开发前已建设以下共用能力:
- 审批请求与审批动作。
- 业务审计日志和哈希链。
- 敏感信息查看记录。
- 幂等记录。
- Outbox 事件表。
- 看板每日汇总表。
- 高风险操作的申请、审批、执行分离。
对应迁移:
- `20261008_001_governance.sql`
- `20261008_002_governance_menu.sql`
## 4. 第 4 章:首页数据看板
### 4.1 已实现功能
- 今日新增会员、订单、充值、提现等核心指标。
- 业务金额、订单和会员数据汇总。
- 待审批和异常业务入口。
- 按管理员权限控制敏感金额展示。
- 原 HotGo 控制台菜单复用并扩展业务统计接口。
### 4.2 主要接口
- `GET /console/stat`
- `GET /dashboard/summary`
### 4.3 主要代码
- 后端:`server/internal/logic/sys/dashboard.go`
- 前端:`web/src/views/dashboard/console/`
- 前端 API:`web/src/api/dashboard/console.ts`
- 菜单迁移:`20261008_003_dashboard_menu.sql`
### 4.4 测试
- 已增加 `server/internal/logic/sys/dashboard_test.go`。
## 5. 第 5 章:门户、内容与 Banner 管理
### 5.1 网站设置
- 站点配置按完整快照保存。
- 支持草稿保存、提交审批、发布和历史版本查看。
- 支持根据历史版本生成回滚草稿。
- 使用摘要和乐观锁避免并发覆盖。
主要接口:
- `/siteConfig/current`
- `/siteConfig/history`
- `/siteConfig/save`
- `/siteConfig/submit`
- `/siteConfig/publish`
- `/siteConfig/rollback`
### 5.2 文本管理
- 文本内容列表、详情、新增和编辑。
- 内容正文按版本保存。
- 支持发布、下线和软删除。
- 保存当前发布版本 ID,历史版本不被覆盖。
主要接口:
- `/portalContent/list`
- `/portalContent/view`
- `/portalContent/edit`
- `/portalContent/publish`
- `/portalContent/offline`
- `/portalContent/delete`
### 5.3 Banner 管理
- Banner 列表、详情、新增、编辑和删除。
- 支持投放位置、图片、替代文本、跳转方式、生效时间、排序和发布状态。
- 支持发布和下线状态切换。
### 5.4 手工商城
- 手工商城商品列表、详情、新增、编辑、删除和上下架。
- 支持商品类型、支付方式、金额、封面、详情、推荐和展示时间。
### 5.5 数据表与代码
新增数据表:
- `hg_site_config_version`
- `hg_content`
- `hg_content_version`
- `hg_banner`
- `hg_product`
主要代码:
- 后端:`server/internal/logic/sys/portal.go`
- API:`server/api/admin/portal/portal.go`
- 前端:`web/src/views/portal/`
- 前端 API:`web/src/api/portal/index.ts`
- 迁移:`20261008_004_portal_content.sql`
- 测试:`server/internal/logic/sys/portal_test.go`
## 6. 第 6 章:会员管理
### 6.1 会员主档
- 会员列表、详情、新增、编辑和注销。
- 用户名、等级、上级、风控、信用分、自动派单和测试账号管理。
- 手机号、姓名、证件号按密文、检索哈希和脱敏值分离保存。
- 注销采用状态和软删除标记,不删除历史审计主体。
### 6.2 收款账户和地址
- 多类型收款账户管理。
- 银行卡、开户名和手机号敏感字段加密及脱敏。
- 会员地址列表、新增、编辑和删除。
### 6.3 敏感信息查看
- 完整敏感值通过独立授权接口查看。
- 必须填写查看目的。
- 记录操作人、目标、字段集、授权号和查看结果。
### 6.4 团队关系
- 支持查询会员下级团队。
- 使用 `pid`、`level` 和 `tree` 保存层级关系。
- 支持控制查询层级和分页。
### 6.5 会员状态
- 支持发起会员状态变更审批。
- 审批通过后由执行接口完成状态变更。
- 保存状态变更原因、审批单和操作记录。
### 6.6 钱包调账
- 钱包账户区分可用余额和冻结余额。
- 调账必须先申请审批,再执行入账。
- 每次资金变化写入不可变台账。
- 支持幂等键、前后余额和冲正关联字段。
### 6.7 会员通知
- 支持全体或指定会员通知。
- 区分真实通知与运营模拟。
- 支持有效期和撤回。
### 6.8 数据表与代码
新增数据表:
- `hg_app_member`
- `hg_app_member_profile`
- `hg_app_member_address`
- `hg_app_member_payment_account`
- `hg_app_member_status_log`
- `hg_wallet_account`
- `hg_wallet_ledger`
- `hg_wallet_adjustment_request`
- `hg_app_member_notice`
主要代码:
- 后端:`server/internal/logic/sys/app_member.go`
- API:`server/api/admin/appmember/appmember.go`
- 前端:`web/src/views/app-member/list/`、`wallet/`、`notice/`
- 前端 API:`web/src/api/appMember/index.ts`
- 迁移:`20261008_005_member_management.sql`
## 7. 第 7 章:会员等级与任务大厅
### 7.1 会员等级
- 会员等级列表和详情。
- 等级规则保存为不可变版本。
- 支持草稿、提交审批、发布、历史版本和回滚草稿。
- 使用乐观锁防止并发覆盖。
- 支持等级启停和删除。
主要接口:
- `/memberLevel/list`
- `/memberLevel/view`
- `/memberLevel/save`
- `/memberLevel/submit`
- `/memberLevel/publish`
- `/memberLevel/rollback`
- `/memberLevel/history`
- `/memberLevel/status`
- `/memberLevel/delete`
### 7.2 任务大厅
- 任务大厅列表、详情、新增和编辑。
- 支持封面、描述、开放时间、排序和发布状态。
- 支持配置允许进入的会员等级。
- 支持发布、下线和删除。
### 7.3 数据表与代码
新增数据表:
- `hg_app_member_level`
- `hg_app_member_level_version`
- `hg_task_hall`
- `hg_task_hall_level`
主要代码:
- 后端:`member_level.go`、`task_hall.go`
- API:`server/api/admin/memberlevel/`、`taskhall/`
- 前端:`web/src/views/app-member/level/`、`task-hall/`
- 前端 API:`web/src/api/memberLevel/`、`taskHall/`
- 迁移:`20261008_006_member_level_task_hall.sql`
## 8. 第 8 章:交易管理
### 8.1 交易订单
- 订单列表和详情。
- 支持商品、任务和手工商城订单类型。
- 保存商品名称、金额、会员等级和规则快照。
- 人工取消匹配、重新匹配和解冻必须经过审批。
- 执行时重新检查订单和审批状态。
### 8.2 充值管理
- 充值列表、金额汇总和详情。
- 支持线上支付和人工充值。
- 人工审核采用申请与执行分离。
- 审核通过后在事务内更新钱包并写入台账。
- 审核结果保存审批单、财务复核快照和审核原因。
### 8.3 提现管理
- 提现列表和脱敏详情。
- 支持初审、复核、付款中、成功、失败和驳回状态。
- 提现审核和执行通过事务、行锁、审批和台账处理。
- 付款结果单独登记,保存外部付款单号。
### 8.4 客服管理
- 客服列表、详情、新增、编辑、启停和删除。
- 支持客服类型、显示名称、联系方式、工作时间和排序。
### 8.5 数据表与代码
新增数据表:
- `hg_trade_order`
- `hg_payment_channel`
- `hg_recharge_order`
- `hg_withdrawal_order`
- `hg_finance_review`
- `hg_customer_service`
主要代码:
- 后端:`trade_order.go`、`recharge_order.go`、`withdrawal_order.go`、`customer_service.go`
- API:`server/api/admin/tradeorder/`、`rechargeorder/`、`withdrawalorder/`、`customerservice/`
- 前端:`web/src/views/trade/`
- 前端 API:`web/src/api/trade/index.ts`
- 迁移:`20261008_007_trade_management.sql`
## 9. 第 9 章:商品与任务管理
### 9.1 商品管理
- 商品列表、详情、新增和编辑。
- 支持分类、类型、支付方式、店铺、价格、封面、详情和展示时间。
- 支持上下架、推荐切换和删除。
### 9.2 任务管理
- 任务列表、详情、新增和编辑。
- 支持任务大厅、会员等级、封面、详情、固定佣金和比例佣金。
- 支持每日数量、单会员限制和任务有效期。
- 支持发布、下线和删除。
### 9.3 会员任务审核
- 按会员、任务和审核状态查询提交记录。
- 展示任务、会员、等级、佣金、成功率、证据和审核结果。
- 待审核记录支持通过和驳回。
- 驳回保存标准原因、补充说明和是否允许重新提交。
- 审核通过后在事务内结算佣金并写入钱包台账。
### 9.4 数据表与代码
新增数据表:
- `hg_product_category`
- `hg_task`
- `hg_task_level`
- `hg_task_submission`
主要代码:
- 后端:`product.go`、`task.go`、`task_submission.go`
- API:`server/api/admin/product/`、`task/`、`tasksubmission/`
- 前端:`web/src/views/product-task/`
- 前端 API:`web/src/api/productTask/index.ts`
- 迁移:`20261008_008_product_task_management.sql`
菜单“商品与任务”的根布局标识已统一为 HotGo 识别的 `LAYOUT`,进入子页面时左侧菜单和顶部布局可以正常保留。
## 10. 复用 HotGo 的现有功能
### 10.1 管理员、角色与权限
第 10 章不重复开发,复用:
- 组织管理中的管理员维护。
- 角色管理和菜单权限树。
- 接口路径权限控制。
- 部门、岗位和数据权限。
- 登录、禁用、密码重置等现有能力。
### 10.2 数据字典与个人设置
第 11 章不重复开发,复用:
- “系统设置 → 字典管理”的字典类型和字典数据 CRUD。
- 字典标签、键值、值类型、标签样式、排序和状态。
- “个人中心 → 个人设置”的基本资料维护。
- 手机号和邮箱验证码换绑。
- 当前密码校验和登录密码修改。
密码强度、全部会话撤销、敏感配置版本管理等属于后续安全增强,不纳入当前已开发范围。
## 11. 数据库迁移清单
| 顺序 | 文件 | 用途 |
| ---: | --- | --- |
| 1 | `20261008_001_governance.sql` | 审批、审计、幂等、Outbox、看板汇总 |
| 2 | `20261008_002_governance_menu.sql` | 治理模块菜单和权限 |
| 3 | `20261008_003_dashboard_menu.sql` | 首页看板菜单和权限 |
| 4 | `20261008_004_portal_content.sql` | 门户、内容、Banner、手工商城 |
| 5 | `20261008_005_member_management.sql` | 会员、敏感资料、钱包和通知 |
| 6 | `20261008_006_member_level_task_hall.sql` | 会员等级和任务大厅 |
| 7 | `20261008_007_trade_management.sql` | 订单、充值、提现和客服 |
| 8 | `20261008_008_product_task_management.sql` | 商品、任务和会员任务审核 |
以上迁移均采用可重复执行的建表或条件插入方式,菜单、字典和角色权限随对应业务迁移配置。
## 12. 当前运行与交付状态
- 本地后端运行地址:`http://127.0.0.1:8000`。
- 本地前端运行地址:`http://127.0.0.1:8001`。
- 动态菜单已加载首页、治理、门户、会员、交易、商品与任务模块。
- 第 4~9 章页面已经可以从后台菜单进入查看。
- 第 10、11 章继续使用 HotGo 原有页面。
### 12.1 本地演示数据
已为本次新增的 35 张业务表写入关联演示数据,覆盖审批、发布、会员、风控、订单、充值、提现、任务审核、调账和客服等全部已定义状态。演示业务编号统一使用 `DEMO` 前缀。
可重复执行的数据脚本:
```text
server/storage/data/seeds/20261008_business_demo_data.sql
```
本地重新导入命令:
```bash
mysql -h127.0.0.1 -P3306 -uroot -proot olons_admin \
< server/storage/data/seeds/20261008_business_demo_data.sql
```
正式上线前仍需执行完整的接口回归、权限角色矩阵检查、并发资金测试和生产配置核对。
---
## 补充项:第 12 章状态机与数据模型补强
第 12 章不是新的一级菜单,而是对现有会员、资金、任务和内容模块的业务约束补强。当前核心数据表、审批、台账和审计基础已经具备,但以下内容尚未列入“已完成”:
1. 会员状态合法转换和注销不可逆。
2. 充值成功后的审批冲正。
3. 已结算任务佣金的审批冲正。
4. 文本内容归档和历史版本生成回滚草稿。
5. 状态转换、重复执行、并发执行和余额不足测试。
专项设计已单独整理,后续开发以该文档为实施依据:
[第12章状态机与数据模型补强设计](./第12章状态机与数据模型补强设计.md)
建议后续新增迁移:
```text
server/storage/data/migrations/20261008_009_state_machine_hardening.sql
```
MFA 真实认证流程不与本次状态机补强混合实施,后续作为独立安全增强项处理。