摘要
随着金融行业数字化转型加速,银行账目管理系统的智能化需求日益增长。传统系统多基于单体架构,存在扩展性差、维护成本高、用户体验不佳等问题。针对这一背景,设计了一套基于前后端分离架构的银行账目账户管理系统,通过模块化设计实现高内聚低耦合,满足高效、安全、可扩展的账务管理需求。
系统采用 SpringBoot2+Vue3+MyBatis-Plus+MySQL8.0 技术栈构建,后端通过 Spring Security 实现 RBAC 权限控制,结合 JWT 令牌保障接口安全;前端基于 Vue3 的 Composition API 提升代码复用率,采用 ECharts 实现数据可视化。核心功能涵盖账户开立/销户、转账汇款、交易流水查询、数据统计分析等模块,支持多条件筛选和 Excel 导出。MySQL8.0 通过窗口函数优化复杂查询性能,MyBatis-Plus 的 AR 模式简化了 DAO 层开发。系统特别针对高并发场景设计了分布式锁和异步记账机制。
数据表设计
账户基础信息表
存储银行客户开户时填写的核心身份信息及账户状态,账户标识符采用雪花算法生成以避免主键冲突。创建时间由数据库自动生成,账户状态通过枚举值约束。
| 字段名 | 数据类型 | 描述 |
|---|---|---|
| account_uuid | VARCHAR(32) | 账户唯一标识(主键) |
| citizen_id_enc | VARCHAR(64) | 加密存储的身份证号 |
| account_alias | VARCHAR(50) | 用户自定义账户昵称 |
| phone_hash | VARCHAR(72) | 手机号 HMAC-SHA256 哈希 |
| account_status | TINYINT | 状态 (0-正常 1-冻结) |
| create_time | TIMESTAMP | 账户开户时间 |
| credit_level | SMALLINT | 信用评级 (1-5 星) |
交易流水记录表
记录所有资金变动操作的详细日志,包含交易双方信息和金额变动明细。交易号采用'机构码 + 时间戳 + 随机数'三重组合生成。
| 字段名 | 数据类型 | 描述 |
|---|---|---|
| transaction_sn | VARCHAR(48) | 全局唯一交易流水号(主键) |
| payer_account | VARCHAR(32) | 付款方账户 UUID |
| payee_account | VARCHAR(32) | 收款方账户 UUID |
| amount_decimal | DECIMAL(18,2) | 交易金额 (含两位小数) |
| currency_type | CHAR(3) | 货币类型 (ISO 标准) |
| transaction_remark | VARCHAR(100) | 交易附言 |
| operation_time | DATETIME | 交易完成时间 |
| channel_flag | SMALLINT | 渠道标识 (1-APP 2-网银) |
风控规则配置表
存储反洗钱规则和异常交易监测策略,支持动态调整阈值参数。规则版本号遵循语义化版本控制规范。


