数据库设计文档
| 版本号 | 修改 | 修改时间 | 备注 |
|---|---|---|---|
| v1.0.0 | 王小琱 | 2024.12.20 | 初次修订 |
1. 简介
本文档描述了 exchange-statistical-service-backend 项目中数据库的结构设计,包括所有核心表的定义、字段说明及表关系,旨在为开发、测试和运维人员提供参考。
2. 数据库概览
- 数据库名称:
exchange_account_daily_summary - 数据库类型:MySQL
- 编码格式:utf8mb4
- 存储引擎:InnoDB
- 排序集:utf8mb4_0900_ai_ci
3. 命名规范
- 表名使用小写字母+下划线风格,例如:
account_daily_summary - 字段名使用小写字母+下划线风格,例如:
created_at - 主键统一使用
id - 外键统一用
xxx_id格式 - 时间字段统一使用:
created_at、updated_at - 逻辑删除字段:
deleted_at(如使用软删)
4. 表结构设计
4.1 statistical_account_daily_summary(账户日汇总表)
| 字段名 | 类型 | 说明 |
|---|---|---|
| id | BIGINT | 主键 |
| date | VARCHAR(255) | 日期 |
| asset | VARCHAR(255) | 资产 |
| is_declare | TINYINT(1) | 是否申报 |
| ... | ... | 详见代码嵌套结构(含多种汇总字段) |
| created_at | DATETIME | 创建时间 |
| updated_at | DATETIME | 更新时间 |
该表包含多层嵌套结构(如 UserSummary、SystemSummary、WalletBalance 等),详细字段请参考 entity/account_daily_summary.go。
4.2 financial_statements(财务报表表)
| 字段名 | 类型 | 说明 |
|---|---|---|
| id | BIGINT | 主键 |
| statements_type | VARCHAR(255) | 类型 |
| asset | VARCHAR(255) | 币种 |
| report_date | VARCHAR(255) | 报表生成时间 |
| report | LONGTEXT | 报表 |
| created_at | DATETIME | 创建时间 |
| updated_at | DATETIME | 更新时间 |
4.3 tasks(定时任务表)
| 字段名 | 类型 | 说明 |
|---|---|---|
| id | BIGINT | 主键 |
| task_name | VARCHAR(255) | 任务名称 |
| status | VARCHAR(255) | 任务状态 |
| exec_count | INT | 执行次数 |
| statistics_time | VARCHAR(255) | 统计时间 |
| user_id | VARCHAR(255) | 用户ID |
| last_exec_time | DATETIME | 最后执行时间 |
| remark | LONGTEXT | 备注 |
| created_at | DATETIME | 创建时间 |
| updated_at | DATETIME | 更新时间 |
4.4 user_trade_records(用户成交明细表)
| 字段名 | 类型 | 说明 |
|---|---|---|
| id | BIGINT | 主键 |
| user_id | VARCHAR(255) | 用户ID |
| last_trade_time | BIGINT | 最后交易时间 |
| last_deposit_time | BIGINT | 最后充值时间 |
| last_withdraw_time | BIGINT | 最后提现时间 |
| last_transfer_time | BIGINT | 最后转账时间 |
| registration_time | BIGINT | 注册时间 |
| created_at | DATETIME | 创建时间 |
| updated_at | DATETIME | 更新时间 |
4.5 audit_financial_orders(财务审核订单表)
| 字段名 | 类型 | 说明 |
|---|---|---|
| id | BIGINT | 主键 |
| report_id | BIGINT | 报告ID |
| report_date | VARCHAR(255) | 报告日期 |
| asset | VARCHAR(255) | 资产 |
| report_type | VARCHAR(255) | 报告类型 |
| report_status | VARCHAR(255) | 报告状态 |
| last_auditor | VARCHAR(255) | 最终审核人 |
| last_audit_role | VARCHAR(255) | 最终审核角色 |
| need_audit_role | VARCHAR(255) | 下一步审核角色 |
| remark | LONGTEXT | 备注 |
| created_at | DATETIME | 创建时间 |
| updated_at | DATETIME | 更新时间 |
4.6 audit_financial_records(财务审核记录表)
| 字段名 | 类型 | 说明 |
|---|---|---|
| id | BIGINT | 主键 |
| order_id | BIGINT | 订单ID |
| auditor | VARCHAR(255) | 审核人 |
| audit_role | VARCHAR(255) | 审核角色 |
| operation | VARCHAR(255) | 审核操作 |
| remark | LONGTEXT | 备注 |
| created_at | DATETIME | 创建时间 |
| updated_at | DATETIME | 更新时间 |
4.7 user_position_snapshot(用户持仓快照表)
| 字段名 | 类型 | 说明 |
|---|---|---|
| id | BIGINT | 主键 |
| report_date | VARCHAR(255) | 报表生成时间 |
| created_at | DATETIME | 创建时间 |
| updated_at | DATETIME | 更新时间 |
4.8 trade_ratio(成交占比表)
| 字段名 | 类型 | 说明 |
|---|---|---|
| id | BIGINT | 主键 |
| symbol | VARCHAR(255) | 交易对 |
| total_trade_quantity | DECIMAL | 总交易量 |
| market_maker_trade_quantity | DECIMAL | 做市商交易量 |
| total_trade_amount | DECIMAL | 总交易额 |
| market_maker_trade_amount | DECIMAL | 做市商交易额 |
| market_maker | VARCHAR(255) | 做市商 |
| market_maker_trade_ratio | DECIMAL | 做市商成交占比 |
| base_asset | VARCHAR(255) | 基础资产 |
| quote_asset | VARCHAR(255) | 报价资产 |
| statistics_time | VARCHAR(255) | 统计时间 |
| created_at | DATETIME | 创建时间 |
| updated_at | DATETIME | 更新时间 |
4.9 orderbook(订单簿表)
| 字段名 | 类型 | 说明 |
|---|---|---|
| id | BIGINT | 主键 |
| price | DECIMAL | 价格 |
| quantity | DECIMAL | 数量 |
| side | VARCHAR(255) | 方向 |
| index | BIGINT | 索引 |
| snapshot_id | BIGINT | 快照ID |
| created_at | DATETIME | 创建时间 |
| updated_at | DATETIME | 更新时间 |
4.10 orderbook_snapshots(订单簿快照表)
| 字段名 | 类型 | 说明 |
|---|---|---|
| id | BIGINT | 主键 |
| statistics_time | DATETIME | 统计时间 |
| symbol | VARCHAR(255) | 交易对 |
| market_maker | VARCHAR(255) | 做市商 |
| created_at | DATETIME | 创建时间 |
| updated_at | DATETIME | 更新时间 |
4.11. 其他表(如 view_xxx等)
- 视图表(如 view_commission、view_trade_splits、view_order_histories 等)和其他统计/报表相关表(如 solidus_execution、eventus_orders 等)请参考 entity 目录下的具体定义,字段较多不一一展开。
5. 表关系设计(ER 图)
6. 安全与审计字段
建议每张表都增加以下字段(如适用):
created_at、updated_at:记录操作时间deleted_at:逻辑删除字段
