|
@@ -271,24 +271,31 @@ public class EmailParseService {
|
|
|
EmailZipFileDTO dto = iterator.next();
|
|
|
Integer emailType = dto.getEmailType();
|
|
|
String filename = dto.getFilename();
|
|
|
+ int count = 0;
|
|
|
if (Objects.equals(emailType, EmailTypeConst.REPORT_LETTER_EMAIL_TYPE)) {
|
|
|
- int count = this.emailFileInfoMapper.getLetterFilenameSuccessCount(filename);
|
|
|
- if (count > 0) {
|
|
|
- iterator.remove();
|
|
|
- log.info("邮件{} 附件{} 已存在解析成功的记录,不用重新解析。", emailTitle, filename);
|
|
|
- }
|
|
|
+ // 确认单
|
|
|
+ count = this.emailFileInfoMapper.getLetterFilenameSuccessCount(filename);
|
|
|
} else if (Objects.equals(emailType, EmailTypeConst.REPORT_EMAIL_TYPE)) {
|
|
|
- // todo 定期报告
|
|
|
- } else if (EmailTypeConst.REPORT_EMAIL_TYPES.contains(emailType)) {
|
|
|
- // todo 其他报告
|
|
|
+ // 定期报告
|
|
|
+ count = this.emailFileInfoMapper.getAmacFilenameSuccessCount(filename);
|
|
|
+ } else if (Objects.equals(emailType, EmailTypeConst.REPORT_WEEKLY_TYPE)) {
|
|
|
+ // 管理人周报
|
|
|
+ count = this.emailFileInfoMapper.getWeeklyFilenameSuccessCount(filename);
|
|
|
+ } else if (Objects.equals(emailType, EmailTypeConst.REPORT_OTHER_TYPE)) {
|
|
|
+ // 其他报告
|
|
|
+ count = this.emailFileInfoMapper.getOtherFilenameSuccessCount(filename);
|
|
|
} else {
|
|
|
log.info("邮件{} 类型{} 不支持解析。", emailTitle, emailType);
|
|
|
iterator.remove();
|
|
|
}
|
|
|
+ if (count > 0) {
|
|
|
+ iterator.remove();
|
|
|
+ log.info("邮件{} 附件{} 已存在解析成功的记录,不用重新解析。", emailTitle, filename);
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
if (CollUtil.isEmpty(dtos)) {
|
|
|
- log.warn("邮件{} 所有文件都已经解析成功过,不能重复解析了", emailTitle);
|
|
|
+ log.info("邮件{} 所有文件都已经解析成功过,不能重复解析了", emailTitle);
|
|
|
continue;
|
|
|
}
|
|
|
|
|
@@ -301,7 +308,7 @@ public class EmailParseService {
|
|
|
}
|
|
|
|
|
|
for (EmailZipFileDTO zipFile : dtos) {
|
|
|
- EmailFileInfoDO emailFile = saveEmailFileInfo(emailId, null, zipFile.getFilename(), zipFile.getFilepath(), null);
|
|
|
+ EmailFileInfoDO emailFile = saveEmailFileInfo(emailId, zipFile.getFilename(), zipFile.getFilepath());
|
|
|
// 解析并保存报告
|
|
|
ParseResult<ReportData> parseResult = this.parseReportAndHandleResult(emailFile.getId(), zipFile.getFilename(),
|
|
|
zipFile.getFilepath(), zipFile.getEmailType(), emailFile.getAiFileId());
|
|
@@ -454,20 +461,20 @@ public class EmailParseService {
|
|
|
return result;
|
|
|
}
|
|
|
|
|
|
- private EmailFileInfoDO saveEmailFileInfo(Integer emailId, Integer fileId, String fileName, String filePath, String aiFileId) {
|
|
|
- EmailFileInfoDO emailFileInfoDO = buildEmailFileInfoDO(emailId, fileId, fileName, filePath);
|
|
|
- emailFileInfoDO.setAiFileId(aiFileId);
|
|
|
+ private EmailFileInfoDO saveEmailFileInfo(Integer emailId, String fileName, String filePath) {
|
|
|
+ EmailFileInfoDO emailFileInfoDO = buildEmailFileInfoDO(emailId, fileName, filePath);
|
|
|
+ emailFileInfoDO.setAiFileId(null);
|
|
|
if (emailFileInfoDO.getId() != null) {
|
|
|
- emailFileInfoMapper.updateTimeById(fileId, new Date());
|
|
|
+ emailFileInfoMapper.updateTimeById(null, new Date());
|
|
|
return emailFileInfoDO;
|
|
|
}
|
|
|
emailFileInfoMapper.insert(emailFileInfoDO);
|
|
|
return emailFileInfoDO;
|
|
|
}
|
|
|
|
|
|
- private EmailFileInfoDO buildEmailFileInfoDO(Integer emailId, Integer fileId, String fileName, String filePath) {
|
|
|
+ private EmailFileInfoDO buildEmailFileInfoDO(Integer emailId, String fileName, String filePath) {
|
|
|
EmailFileInfoDO emailFileInfoDO = new EmailFileInfoDO();
|
|
|
- emailFileInfoDO.setId(fileId);
|
|
|
+ emailFileInfoDO.setId(null);
|
|
|
emailFileInfoDO.setEmailId(emailId);
|
|
|
emailFileInfoDO.setFileName(fileName);
|
|
|
emailFileInfoDO.setFilePath(filePath);
|