需求:
用户上传文件,接口返回上传成功或者上传失败。
成功的话,返回fileId。用户可以根据fileId查询解析的结果。
包含3个操作:
上传操作
解析操作
存库操作
实现:
上传采用附件表。
查询用redis来实现,因为文件不合规不用存库。 这里用redis来缓存。
上传成功
解析成功
存库成功 code=0,parseSaveSuccessFlag=true, redis保存票据信息。异常等同失败。
存库失败 code=0,parseSaveSuccessFlag=false, redis保存票据信息。异常等同失败。
解析失败 code=0,parseSaveSuccessFlag=false, 解析失败获取不到票据信息,redis只 保存错误提示。异常等同失败。
上传失败 实时返回
结构为
code
message
fileId
fileName
tickets:[
parseSaveSuccessFlag
parseMessage
ticketNo
]
那么前端麻爪了:
code为-1表示失败。
if(0==code){
if(parseSaveSuccessFlag){
展示ticket信息
}else{ // 解析入库失败的可能原因:1、解析失败 2、入库失败(例如同票据已入库)
false,parseSaveMessage
}
}else{
“从redis中获取信息失败”
}