最后修改日期: 2023-04-18
版本: v1.0
作者: 项目组
本文档详细说明OSPAY项目中关键数据库表的结构、字段定义、约束条件和使用注意事项,为开发和维护人员提供参考。
存储系统所有用户的基本信息。
字段名 | 数据类型 | 允许空值 | 默认值 | 说明 |
---|---|---|---|---|
id | BIGINT | 否 | 自增 | 主键 |
username | VARCHAR(50) | 否 | - | 用户名,唯一 |
password_hash | VARCHAR(255) | 否 | - | 密码哈希值 |
VARCHAR(100) | 否 | - | 电子邮箱,唯一 | |
phone | VARCHAR(20) | 是 | NULL | 手机号码 |
created_at | TIMESTAMP | 否 | CURRENT_TIMESTAMP | 创建时间 |
updated_at | TIMESTAMP | 否 | CURRENT_TIMESTAMP | 更新时间 |
is_active | BOOLEAN | 否 | TRUE | 账户是否激活 |
kyc_status | VARCHAR(20) | 否 | ‘PENDING’ | KYC验证状态:PENDING/VERIFIED/REJECTED |
last_login_at | TIMESTAMP | 是 | NULL | 最后登录时间 |
last_login_ip | VARCHAR(50) | 是 | NULL | 最后登录IP |
failed_attempts | INT | 否 | 0 | 失败登录尝试次数 |
locked_until | TIMESTAMP | 是 | NULL | 账户锁定截止时间 |
存储用户的资金账户信息。
字段名 | 数据类型 | 允许空值 | 默认值 | 说明 |
---|---|---|---|---|
id | BIGINT | 否 | 自增 | 主键 |
user_id | BIGINT | 否 | - | 用户ID,外键 |
currency_code | VARCHAR(10) | 否 | - | 货币代码,外键 |
balance | DECIMAL(24,8) | 否 | 0.00000000 | 余额 |
available_balance | DECIMAL(24,8) | 否 | 0.00000000 | 可用余额 |
frozen_balance | DECIMAL(24,8) | 否 | 0.00000000 | 冻结余额 |
wallet_address | VARCHAR(100) | 是 | NULL | 钱包地址(加密货币) |
created_at | TIMESTAMP | 否 | CURRENT_TIMESTAMP | 创建时间 |
updated_at | TIMESTAMP | 否 | CURRENT_TIMESTAMP | 更新时间 |
is_active | BOOLEAN | 否 | TRUE | 钱包是否激活 |
last_transaction_at | TIMESTAMP | 是 | NULL | 最后交易时间 |
记录所有资金流动,包括充值、提现、转账等操作。
字段名 | 数据类型 | 允许空值 | 默认值 | 说明 |
---|---|---|---|---|
id | BIGINT | 否 | 自增 | 主键 |
user_id | BIGINT | 否 | - | 用户ID,外键 |
wallet_id | BIGINT | 否 | - | 钱包ID,外键 |
tx_type | VARCHAR(20) | 否 | - | 交易类型:DEPOSIT/WITHDRAW/TRANSFER/EXCHANGE |
amount | DECIMAL(24,8) | 否 | - | 交易金额 |
fee | DECIMAL(24,8) | 否 | 0.00000000 | 手续费 |
status | VARCHAR(20) | 否 | ‘PENDING’ | 交易状态:PENDING/COMPLETED/FAILED/CANCELLED |
tx_hash | VARCHAR(100) | 是 | NULL | 交易哈希(区块链交易) |
created_at | TIMESTAMP | 否 | CURRENT_TIMESTAMP | 创建时间 |
updated_at | TIMESTAMP | 否 | CURRENT_TIMESTAMP | 更新时间 |
remarks | TEXT | 是 | NULL | 备注 |
reference_id | VARCHAR(100) | 是 | NULL | 外部参考ID |
ip_address | VARCHAR(50) | 是 | NULL | 操作IP地址 |
completed_at | TIMESTAMP | 是 | NULL | 完成时间 |
存储用户绑定的UPI支付账户信息。
字段名 | 数据类型 | 允许空值 | 默认值 | 说明 |
---|---|---|---|---|
id | BIGINT | 否 | 自增 | 主键 |
user_id | BIGINT | 否 | - | 用户ID,外键 |
upi_id | VARCHAR(50) | 否 | - | UPI ID |
bank_name | VARCHAR(100) | 是 | NULL | 银行名称 |
account_number | VARCHAR(50) | 是 | NULL | 账户号码 |
ifsc_code | VARCHAR(20) | 是 | NULL | IFSC代码 |
is_verified | BOOLEAN | 否 | FALSE | 是否已验证 |
created_at | TIMESTAMP | 否 | CURRENT_TIMESTAMP | 创建时间 |
updated_at | TIMESTAMP | 否 | CURRENT_TIMESTAMP | 更新时间 |
is_active | BOOLEAN | 否 | TRUE | 是否激活 |
verification_time | TIMESTAMP | 是 | NULL | 验证时间 |
last_used_at | TIMESTAMP | 是 | NULL | 最后使用时间 |
is_primary | BOOLEAN | 否 | FALSE | 是否为主要账户 |
记录通过UPI进行的交易详细信息。
字段名 | 数据类型 | 允许空值 | 默认值 | 说明 |
---|---|---|---|---|
id | BIGINT | 否 | 自增 | 主键 |
transaction_id | BIGINT | 否 | - | 交易ID,外键 |
upi_account_id | BIGINT | 否 | - | UPI账户ID,外键 |
upi_reference | VARCHAR(100) | 否 | - | UPI参考号 |
status | VARCHAR(20) | 否 | ‘PENDING’ | 状态:PENDING/COMPLETED/FAILED/CANCELLED |
amount | DECIMAL(24,8) | 否 | - | 金额 |
currency | VARCHAR(10) | 否 | ‘INR’ | 货币代码 |
initiated_at | TIMESTAMP | 否 | CURRENT_TIMESTAMP | 发起时间 |
completed_at | TIMESTAMP | 是 | NULL | 完成时间 |
provider | VARCHAR(50) | 否 | - | 支付提供商 |
provider_reference | VARCHAR(100) | 是 | NULL | 提供商参考号 |
callback_data | TEXT | 是 | NULL | 回调数据 |
remarks | TEXT | 是 | NULL | 备注 |
retry_count | INT | 否 | 0 | 重试次数 |
last_retry_at | TIMESTAMP | 是 | NULL | 最后重试时间 |
日期 | 版本 | 变更内容 | 变更人 |
---|---|---|---|
2023-03-18 | v1.0 | 初始版本 | 项目组 |