针对分布式项目通用导出的设计需求

背景:因B端大部分列表页都存在导出功能,为避免每次新增页面时都需要单独设计导出功能,后端还需单独绘制模板,故对导出功能进行改造,设计一包含适合大多数场景的导出功能;该功能需考虑常见到的字典转换、时间格式转换、金额转换、金额保留位数、金额千分位分割
需求文档/设计文档:
(代码还需脱敏,后续脱敏后上传)

通用导出设计文档

一、文档管理信息表

主题通用导出设计文档
版本V1.0
内容
关键字通用导出
参考文档《需求分析报告》-通用导出.docx
创建时间2024.01.22
创建人
版本发布日期

二、文档变更纪录

更改人日期更改内容
2024.01.22创建内容

三、文档主要评审意见

评审人员日期意见

四、QA组

评审人员日期意见

五、目录

1.开发规划

1.1.开发人员
姓名姓名
1.2.涉及整改服务
服务服务名
1.3.开发计划
  • 2024.01.22 - 2024.01.23进行需求分析、设计文档编写以及测试案例编写
  • 2024.01.24 - 2024.01.24排查符合要求的所有功能并汇总表格
  • 2024.01.25 - 2024.01.25排查不符合要求的所有功能按类型,特点进行分类,并研究先方案是否可进行拓展适配,以及探讨适配价值
  • 2024.01.26- 2024.01.26若方案需进行适配,修改适配方案,并开始代码编写
  • 2024.01.29- 2024.01.29完成代码编写并完成单元测试
  • 2024.01.30- 2024.01.30部署dev环境,完成案例测试
  • 2024.01.31- 2024.01.31部署test环境,再次进行案例测试,移交测试验证
1.4.开发环境和工具
开发环境开发工具
本地、dev、testIdea、plsql、postman
1.5.开发规范

2.需求说明

因B端大部分列表页都存在导出功能,为避免每次新增页面时都需要单独设计导出功能,后端还需单独绘制模板,故对导出功能进行改造,设计一包含适合大多数场景的导出功能;该功能需考虑常见到的字典转换、时间格式转换、金额转换、金额保留位数、金额千分位分割

3.总体设计

3.1.概念术语描述
术语描述
字典是对象的定义和描述信息的集合
3.2. 基本设计描述
3.2.1.通用导出请求参数设计

在这里插入图片描述

3.2.2.参数设计描述

系统首先考虑安全,对于通用接口,考虑到用户的数据权限,故必须对用户数据权限的设计进行考虑,其次再是功能。而功能可参考前端页面渲染,即首先通过查询条件,查询特定接口,拿到数据,再逐列设置表头、列宽、是否显示该列、是否需字典转换、是否是需金额转换等,做数据处理。其中,字典转换一般有两种形式,一种是查字典表,有规范统一的字典转换规则,另一种是比较特殊的,比如某系统或类型特殊的抑或是业务要求的字典。对于规范的字典,通过传字典唯一名查字典,对于特殊类型的,需由前端传字典map映射。

3.2.3.通用导出时序图

在这里插入图片描述

3.2.4.通用导出-前端逻辑

在这里插入图片描述

3.2.5.通用导出-中台逻辑

在这里插入图片描述

3.2.5.1.中台逻辑涉及表设计
3.2.5.1.1.通用导出设置表COMMON_EXPORT_SETTINGS

在这里插入图片描述

3.2.5.1.2.中台临时文件存放记录表attachment_file

在这里插入图片描述

3.2.5.2.中台逻辑涉及全局参数

在这里插入图片描述

3.2.5.3.大文件超时处理

背景:对于大文件,经常会出现需要实时下载的场景,而实时下载又可能导致超时
方案:
中台:增加对通用导出的过滤器filter,对通用导出(其他使用临时文件记录表的也可)产生的超时返回特定数据,如:下载文件过大,已移至下载中心,可从下载中心查看进度!在通用下载开始时,便记录文件信息到表中,通过文件生成逻辑更新进度,最后生成文件后,文件上传CEPH/nas等,最后再更新文件保存信息。
后台:设计临时文件记录表,并提供操作接口
前端:设置下载中心,如右下角设置小圆下载提示,点击可查询最近两天生成的文件。

3.3.主要界面流程描述

3.4.涉及改造模块列表

在这里插入图片描述

4.数据结构

见接口文档

5.接口规范

见附件:通用导出apiV4.0

6.模块设计

不涉及

7.附录

7.1.第三方组件
7.2.参考资料
7.3.附加文档
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值