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

15 KiB
Raw Blame History

后台管理系统开发总结

文档版本:V1.0
编制日期:2026-10-08
需求基线:后台管理系统需求文档
概要设计:后台管理系统概要设计
项目目录:/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 前缀。

可重复执行的数据脚本:

server/storage/data/seeds/20261008_business_demo_data.sql

本地重新导入命令:

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章状态机与数据模型补强设计

建议后续新增迁移:

server/storage/data/migrations/20261008_009_state_machine_hardening.sql

MFA 真实认证流程不与本次状态机补强混合实施,后续作为独立安全增强项处理。