- 实现账户管理改进设计文档中的所有核心功能 - 三科目余额管理 (个人余额、劳动报酬、冻结余额) - 交易状态机 (created → pending → bank_submitted → success/failed/timeout → reversed) - 三键幂等体系 (JZTxId/BankTxId/SourceKey) - 优先级扣款规则 (先个人后劳动) - 在途资金管理 (可用→在途→结转/回退) - 三账对账闭环 (总账 = 银行账 + 在途净额) - 补偿服务域 (超时检测、重试、死信队列) - 虚拟银行模拟器用于业务测试 - 完整的集成测试套件 (133 个测试全部通过) - Docker 容器化部署配置 - 前端 Vue3 + TypeScript 项目结构
25 lines
462 B
Rust
25 lines
462 B
Rust
//! 数据库持久化实现
|
|
|
|
pub mod mysql;
|
|
|
|
use sea_orm::{Database, DatabaseConnection};
|
|
use tracing::info;
|
|
|
|
/// 初始化数据库连接
|
|
pub async fn init_database(database_url: &str) -> anyhow::Result<DatabaseConnection> {
|
|
info!("正在连接数据库...");
|
|
|
|
let db = Database::connect(database_url).await?;
|
|
|
|
// 测试连接
|
|
db.ping().await?;
|
|
|
|
info!("数据库连接成功");
|
|
Ok(db)
|
|
}
|
|
|
|
// 重新导出仓储实现
|
|
pub use mysql::*;
|
|
|
|
|