第X章 系统详细设计
X.X 复杂功能的后台处理流程
X.X.1 图像集上传
该功能主要由projectFileService.uploadImageZip
进行处理,步骤如下。
(1)调用fileUtil.preUpload
检查文件大小,提取后缀名、显示名称。
(2)生成存储路径,调用fileUtil.upload
存储zip。
(3)将zip的元数据写入数据库,获取编号。
(4)从zip中派生出图像。
①由于同一个项目中不允许有同名图像,调用imageService.listFilenameByProjectId
获取项目已有图像的文件名。
②对zip中的每张图像,检查其文件名是否符合规定(只能以XXXXXX.jpg
结尾,其中X
为阿拉伯数字)、是否与已有文件重复。如果检查通过,生成存储路径,调用zipUtil.transferZipEntryTo
存储图像,暂存元数据到列表中;如果检查不通过,将出错信息拼接到日志。
(5)调用imageService.saveBatch
将元数据列表写入数据库。
(6)调用imageService.countByZipId
统计成功数量,拼接到日志。
(7)将日志写入数据库。