tangweijie d7f81893c5 Initial commit: 完整的 Rust 账户管理系统
- 实现账户管理改进设计文档中的所有核心功能
- 三科目余额管理 (个人余额、劳动报酬、冻结余额)
- 交易状态机 (created → pending → bank_submitted → success/failed/timeout → reversed)
- 三键幂等体系 (JZTxId/BankTxId/SourceKey)
- 优先级扣款规则 (先个人后劳动)
- 在途资金管理 (可用→在途→结转/回退)
- 三账对账闭环 (总账 = 银行账 + 在途净额)
- 补偿服务域 (超时检测、重试、死信队列)
- 虚拟银行模拟器用于业务测试
- 完整的集成测试套件 (133 个测试全部通过)
- Docker 容器化部署配置
- 前端 Vue3 + TypeScript 项目结构
2026-01-05 17:56:01 +08:00

55 lines
1.3 KiB
TOML

[package]
name = "rustjr"
version = "0.1.0"
edition = "2021"
authors = ["Bank Account Management System"]
description = "银行账户管理系统 - 支持实体账户、虚拟子账户、复式记账的资金管理平台"
[dependencies]
# Web 框架
axum = { version = "0.7", features = ["macros"] }
tokio = { version = "1", features = ["full"] }
tower = "0.4"
tower-http = { version = "0.5", features = ["cors", "trace"] }
# 数据库
sea-orm = { version = "0.12", features = ["sqlx-mysql", "runtime-tokio-rustls", "macros"] }
sqlx = { version = "0.7", features = ["mysql", "runtime-tokio-rustls", "chrono", "bigdecimal"] }
# 序列化
serde = { version = "1", features = ["derive"] }
serde_json = "1"
# 日志
tracing = "0.1"
tracing-subscriber = { version = "0.3", features = ["env-filter", "json"] }
# 配置
config = "0.14"
dotenvy = "0.15"
# 错误处理
thiserror = "1"
anyhow = "1"
# 时间处理
chrono = { version = "0.4", features = ["serde"] }
# 数值精度
rust_decimal = { version = "1", features = ["serde", "db-tokio-postgres"] }
rust_decimal_macros = "1"
# 工具
uuid = { version = "1", features = ["v4", "serde"] }
async-trait = "0.1"
once_cell = "1"
[dev-dependencies]
tokio-test = "0.4"
reqwest = { version = "0.11", features = ["json"] }
[[bin]]
name = "rustjr"
path = "src/main.rs"