454 lines
15 KiB
Markdown
454 lines
15 KiB
Markdown
# 后台管理系统开发总结
|
||
|
||
> 文档版本: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 真实认证流程不与本次状态机补强混合实施,后续作为独立安全增强项处理。
|