5.0 KiB
5.0 KiB
变更记录:货币格式化功能
变更信息
- 版本号: v0.2.0
- 发布日期: 2026-01-25
- 变更类型: 特性更新
变更摘要
本次变更实现了货币格式化功能,支持多种货币的格式化显示、实时汇率转换、用户货币偏好管理等功能。通过 AOP 切面在 Service 层自动进行货币格式化,提供了灵活的货币配置和缓存机制,提升了系统的国际化支持能力。
详细变更
特性更新
- 货币格式化功能 - 实现了基于 Java DecimalFormat 的货币格式化,支持货币符号、小数位数、千分位分隔符等格式化选项
- 多货币显示 - 支持在单个字段中同时显示多种货币金额,自动进行汇率转换
- 实时汇率转换 - 实现了汇率查询和转换功能,支持批量汇率转换
- 用户货币偏好 - 扩展了用户表,添加了货币代码字段,支持用户级别的货币偏好设置
- 系统默认货币 - 实现了系统默认货币配置,支持通过配置文件和数据库设置默认货币
- 汇率管理 - 实现了汇率数据的管理功能,包括汇率查询、更新、缓存等
- AOP 自动格式化 - 通过 @CurrencyFormat 注解和 AOP 切面,在 Service 层自动进行货币格式化
- 缓存机制 - 实现了汇率、货币列表、默认货币的 Redis 缓存,提高了系统性能
数据库变更
- 创建汇率表 - 创建了 sys_exchange_rate 表,用于存储汇率数据
- 扩展用户表 - 在 sys_user 表中添加了 currency_code 字段,默认值为 CNY
- 添加索引 - 为汇率表和用户表添加了必要的索引,提高查询性能
API 变更
- 获取用户货币偏好 - GET /system/user/currency
- 切换用户货币偏好 - POST /system/user/switchCurrency
- 汇率转换 - POST /system/exchangeRate/convert
- 批量汇率转换 - POST /system/exchangeRate/batchConvert
- 更新汇率(手动) - POST /system/exchangeRate/update
- 更新汇率(API) - POST /system/exchangeRate/updateFromApi
影响范围
受影响的模块
- datai-common - 新增 CurrencyUtils、CurrencyConstants、@CurrencyFormat 注解
- datai-framework - 新增 CurrencyFormatAspect AOP 切面
- datai-system - 新增 SysExchangeRate 相关实体、Mapper、Service
- datai-admin - 新增 SysExchangeRateController,扩展 SysUserController
- 数据库 - 新增 sys_exchange_rate 表,扩展 sys_user 表
兼容性说明
- 向后兼容 - 本次变更完全向后兼容,不影响现有功能
- 数据库迁移 - 需要执行 SQL 脚本创建新表和扩展现有表
- 配置变更 - 需要在配置文件中添加系统默认货币配置
升级指南
升级步骤
- 执行数据库脚本 - 执行
2026-01-25-002-05-货币格式化.sql脚本,创建汇率表和扩展用户表 - 更新配置文件 - 在配置文件中添加系统默认货币配置(sys.default.currency)
- 部署代码 - 部署新增和修改的 Java 代码文件
- 初始化汇率数据 - 插入初始汇率数据到 sys_exchange_rate 表
- 测试功能 - 测试货币格式化、汇率转换、用户货币偏好等功能
注意事项
- 汇率数据初始化 - 确保在系统启动前初始化必要的汇率数据
- 缓存预热 - 建议在系统启动时预热汇率缓存,提高首次访问性能
- 汇率更新策略 - 根据业务需求配置汇率更新策略(手动更新或 API 自动更新)
- 货币代码验证 - 确保用户设置的货币代码在支持的货币列表中
测试信息
测试环境
- 本地环境 - Windows 10, IDEA
- 项目环境 - DataI v1.0.0
- 数据库 - MySQL 8.3.0
- 缓存 - Redis
测试结果
- 货币格式化 - 所有支持的货币格式化功能正常
- 汇率转换 - 单个和批量汇率转换功能正常
- 用户货币偏好 - 用户货币偏好设置和切换功能正常
- AOP 切面 - Service 层自动货币格式化功能正常
- 缓存机制 - 汇率、货币列表、默认货币缓存功能正常
- 性能测试 - 货币格式化性能满足要求(< 10ms)
相关链接
发布人员
- AI Assistant - 代码生成和文档编写
- SSOT 架构师 - 需求定义、方案设计、架构决策
审核信息
- 审核人员: 待指定
- 审核日期: 2026-01-25
- 审核状态: 待审核
- 审核意见: 无