7.3 KiB
7.3 KiB
国际化资源管理需求
元数据
- 需求编号:2026-01-21-002-09
- 创建时间:2026-01-21
- 创建人:SSOT 架构师
- 状态:进行中
- 优先级:低
- 父需求:2026-01-21-002-项目国际化需求
需求概述
提供国际化资源管理功能,支持添加、编辑、删除国际化资源,支持按语言、模块筛选资源,支持批量导入导出资源。
目标
- 资源添加:支持添加国际化资源(键值对)
- 资源编辑:支持编辑国际化资源
- 资源删除:支持删除国际化资源
- 资源筛选:支持按语言、模块筛选资源
- 批量导入:支持批量导入国际化资源
- 批量导出:支持批量导出国际化资源
业务上下文
当前问题
- 缺乏国际化资源管理功能,无法动态管理国际化资源
- 国际化资源分散在代码中,难以维护
- 缺乏批量导入导出功能,效率低下
业务场景
国际化资源管理
├─ 资源列表
│ ├─ 查看所有国际化资源
│ ├─ 按语言筛选
│ ├─ 按模块筛选
│ ├─ 搜索资源键
│ └─ 搜索资源值
├─ 资源添加
│ ├─ 选择语言
│ ├─ 输入模块名称
│ ├─ 输入资源键
│ └─ 输入资源值
├─ 资源编辑
│ ├─ 修改资源键
│ └─ 修改资源值
├─ 资源删除
│ └─ 删除资源
├─ 批量导入
│ ├─ 上传导入文件
│ └─ 解析导入数据
└─ 批量导出
├─ 选择导出语言
├─ 选择导出模块
└─ 生成导出文件
应用场景
- 资源维护:管理员可以维护国际化资源
- 批量操作:管理员可以批量导入导出国际化资源
- 资源查询:管理员可以查询国际化资源
- 资源更新:管理员可以更新国际化资源
功能需求
核心功能
功能 1:资源列表
- 描述:提供资源列表功能,支持查看所有国际化资源
- 验收标准:
- 支持查看所有国际化资源
- 支持按语言筛选
- 支持按模块筛选
- 支持按资源键搜索
- 支持按资源值搜索
- 支持分页查询
- 支持排序
- 优先级:高
- 依赖关系:依赖国际化资源表
功能 2:资源添加
- 描述:提供资源添加功能,支持添加国际化资源
- 验收标准:
- 支持选择语言
- 支持输入模块名称
- 支持输入资源键
- 支持输入资源值
- 同一语言下,资源键必须唯一
- 添加成功后显示成功提示
- 优先级:高
- 依赖关系:依赖国际化资源表
功能 3:资源编辑
- 描述:提供资源编辑功能,支持编辑国际化资源
- 验收标准:
- 支持修改资源键
- 支持修改资源值
- 修改资源键时,检查是否与现有资源键冲突
- 编辑成功后显示成功提示
- 优先级:高
- 依赖关系:依赖国际化资源表
功能 4:资源删除
- 描述:提供资源删除功能,支持删除国际化资源
- 验收标准:
- 支持删除资源
- 删除前提示确认
- 删除成功后显示成功提示
- 优先级:高
- 依赖关系:依赖国际化资源表
功能 5:批量导入
- 描述:提供批量导入功能,支持批量导入国际化资源
- 验收标准:
- 支持上传导入文件(Excel、CSV、JSON)
- 支持解析导入数据
- 支持数据校验
- 支持导入预览
- 支持导入确认
- 导入成功后显示成功提示
- 导入失败时显示错误信息
- 优先级:中
- 依赖关系:依赖国际化资源表
功能 6:批量导出
- 描述:提供批量导出功能,支持批量导出国际化资源
- 验收标准:
- 支持选择导出语言
- 支持选择导出模块
- 支持导出文件格式(Excel、CSV、JSON)
- 支持导出预览
- 支持导出确认
- 导出成功后自动下载文件
- 优先级:中
- 依赖关系:依赖国际化资源表
非功能需求
性能需求
- 查询时间:资源列表查询时间 < 100ms
- 添加时间:资源添加时间 < 500ms
- 编辑时间:资源编辑时间 < 500ms
- 删除时间:资源删除时间 < 500ms
- 导入时间:批量导入 1000 条数据时间 < 10s
- 导出时间:批量导出 1000 条数据时间 < 10s
安全需求
- 认证方式:使用现有的 Spring Security 认证机制
- 授权机制:只有管理员权限才能管理国际化资源
- 数据安全:国际化资源数据加密存储
- 审计日志:记录国际化资源变更日志
可维护性需求
- 代码可读性:代码符合项目编码规范,注释完整
- 测试覆盖率:单元测试覆盖率 ≥ 80%
数据需求
数据模型
sys_i18n_resource(国际化资源表)
sys_i18n_resource (国际化资源表)
├─ id (BIGINT) - 主键ID
├─ lang_code (VARCHAR) - 语言代码(如:zh、en)
├─ module_name (VARCHAR) - 模块名称
├─ resource_key (VARCHAR) - 资源键
├─ resource_value (TEXT) - 资源值
├─ create_by (VARCHAR) - 创建者
├─ create_time (DATETIME) - 创建时间
├─ update_by (VARCHAR) - 更新者
└─ update_time (DATETIME) - 更新时间
数据存储需求
- 数据库类型:MySQL 8.3.0
- 存储容量:单表支持 1000 万+ 数据
- 数据备份策略:每日备份,保留 7 天
数据流转需求
资源管理
└─ 管理员添加/编辑/删除国际化资源
└─ 更新数据库中的国际化资源
└─ 刷新国际化资源缓存
业务规则
- 资源键唯一性:同一语言下,资源键(resource_key)必须唯一
- 资源管理权限:只有管理员权限才能管理国际化资源
- 导入数据校验:导入数据必须校验,确保数据正确性
- 导出数据格式:导出数据必须符合标准格式
技术约束
- Spring Boot 版本:3.5.7
- Java 版本:21
- 数据库:MySQL 8.3.0
- ORM 框架:MyBatis 3.5.16
- 文件处理:Apache POI、Jackson
- 必须使用现有的认证授权机制:不能引入新的认证方式
成功标准
- 支持添加国际化资源
- 支持编辑国际化资源
- 支持删除国际化资源
- 支持按语言、模块筛选资源
- 支持批量导入国际化资源
- 支持批量导出国际化资源
- 资源列表查询时间 < 100ms
- 批量导入 1000 条数据时间 < 10s
- 批量导出 1000 条数据时间 < 10s
- 单元测试覆盖率 ≥ 80%
风险评估
| 风险 | 影响程度 | 发生概率 | 缓解措施 |
|---|---|---|---|
| 导入数据格式错误导致导入失败 | 中 | 中 | 实现数据校验,提供错误提示 |
| 导出数据格式不兼容 | 低 | 低 | 支持多种导出格式,确保兼容性 |
| 资源键冲突导致数据覆盖 | 中 | 低 | 导入前检查资源键冲突,提供覆盖选项 |
依赖关系
- 依赖国际化资源表
- 依赖现有的 MyBatis 框架
- 依赖现有的认证授权机制
- 依赖 Apache POI、Jackson