关于涉及文件的解析
1. 获取文件的方式,能否正确获取成功到指定目录下(文件获取方式,需要再单独整理一下)
2. 文件的存放目录(是不是每天根据日期新建目录)
3. 文件的命名要求(比如需要包含日期)
4. 文件内容正确:
1) 编码方式:gbk还是utf-8
2) 每条记录占一行,多条记录用换行符分隔(换行符采用unix换行符)
3) 单条记录是定长解析还是用分隔符分隔进行解析
4) 单条记录中每个字段的数据类型及填充方式(如:字符串类型数据,采用gbk码自付填充-左对齐,不足域长的字符串不需要再后面补空格。普通数字、字母等字符算1个单位长度、汉子算两 个单位长度)
5)可能有汇总行和明细行,汇总行内容要与明细行的汇总结果相同。(对于一个文件,测试点要包括里面的交易全部失败、部分失败部分成功、全部成功。系统的一个入库结果和计算结果是否和文件明细一致。)
5. 文件解析正确,能正常入库
6. 文件解析过程中,抛出异常,如何处理?是回滚已解析内容还是怎么处理??----待补充
7. 是否需要对文件进行二次处理?
1)如果需要对文件进行二次处理,则需要保存原文件,比如原文件是压缩文件,需要进行解压处理,应该根据情况选择保留原文件的解压或者选择不保留式解压。
2)如果需要对文件进行二次处理,比如对文件进行修改,比如压缩图片大小、修改图片格式再进行上传等后续操作,可能需要对原文件进行备份。
8. 正常入库后如果需要将本地流水与文件流水进行比对,就会出现如下情况(我方无、对方有;我方有,对方无;我方有,我方有,对方有,对平的;我方有,对方有,金额、流水号等关键信息不一致)
关于生成文件
1 一般涉及文件的都包含上传文件、查询文件进度、下载文件。上传或者下载的过程中出现异常怎么办?
2. 数据从数据库中读出来写入文件的时候,写了一半数据的时候发生异常,怎么处理???
3. 生成文件时要考虑文件的大小问题:
1)单个文件有交易笔数限制时,可能会拆成多个文件。比如说一个批次发到系统后,系统可能根据条数拆成多个小批次,当每个小批次都处理完毕的时候,才能更新大批次的状态和汇总信息,返回给上游。
2)如果单个文件有笔数限制,可能涉及边界值的概念。500笔一个批次,小于500(499)、等于500、大于500(501)场景要考虑的。