|
@@ -134,9 +134,10 @@ public class EmailParseService {
|
|
|
String emailDate = CollUtil.isNotEmpty(emailContentInfoDTOList) ? emailContentInfoDTOList.get(0).getEmailDate() : null;
|
|
|
Integer emailType = CollUtil.isNotEmpty(emailContentInfoDTOList) ? emailContentInfoDTOList.get(0).getEmailType() : null;
|
|
|
Integer emailId = CollUtil.isNotEmpty(emailContentInfoDTOList) ? emailContentInfoDTOList.get(0).getEmailId() : null;
|
|
|
+ String senderEmail = CollUtil.isNotEmpty(emailContentInfoDTOList) ? emailContentInfoDTOList.get(0).getSenderEmail() : null;
|
|
|
Date parseDate = new Date();
|
|
|
int emailParseStatus = EmailParseStatusConst.SUCCESS;
|
|
|
- EmailParseInfoDO emailParseInfoDO = buildEmailParseInfo(emailId, emailAddress, emailDate, emailTitle, emailType, emailParseStatus, parseDate);
|
|
|
+ EmailParseInfoDO emailParseInfoDO = buildEmailParseInfo(emailId, emailAddress, senderEmail, emailDate, emailTitle, emailType, emailParseStatus, parseDate);
|
|
|
emailId = saveEmailParseInfo(emailParseInfoDO);
|
|
|
|
|
|
for (Map.Entry<EmailContentInfoDTO, List<EmailFundNavDTO>> fileNameNavEntry : fileNameNavMap.entrySet()) {
|
|
@@ -408,10 +409,11 @@ public class EmailParseService {
|
|
|
return emailParseInfoDO.getId();
|
|
|
}
|
|
|
|
|
|
- private EmailParseInfoDO buildEmailParseInfo(Integer emailId, String emailAddress, String emailDate,
|
|
|
+ private EmailParseInfoDO buildEmailParseInfo(Integer emailId, String emailAddress, String senderEmail, String emailDate,
|
|
|
String emailTitle, Integer emailType, Integer parseStatus, Date parseDate) {
|
|
|
EmailParseInfoDO emailParseInfoDO = new EmailParseInfoDO();
|
|
|
emailParseInfoDO.setId(emailId);
|
|
|
+ emailParseInfoDO.setSenderEmail(senderEmail);
|
|
|
emailParseInfoDO.setEmail(emailAddress);
|
|
|
emailParseInfoDO.setEmailDate(DateUtil.parse(emailDate, DateConst.YYYY_MM_DD_HH_MM_SS));
|
|
|
emailParseInfoDO.setParseDate(parseDate);
|
|
@@ -470,6 +472,7 @@ public class EmailParseService {
|
|
|
List<EmailContentInfoDTO> emailContentInfoDTOList = CollUtil.newArrayList();
|
|
|
String uuidKey = UUID.randomUUID().toString().replaceAll("-", "");
|
|
|
Integer emailType;
|
|
|
+ String senderEmail;
|
|
|
try {
|
|
|
Date emailDate = message.getSentDate();
|
|
|
boolean isParseConditionSatisfied = emailDate == null || (endDate == null && emailDate.compareTo(startDate) > 0)
|
|
@@ -477,6 +480,7 @@ public class EmailParseService {
|
|
|
if (isParseConditionSatisfied) {
|
|
|
continue;
|
|
|
}
|
|
|
+ senderEmail = message.getFrom()[0].toString();
|
|
|
emailType = EmailUtil.getEmailTypeBySubject(message.getSubject(), emailTypeMap);
|
|
|
String emailDateStr = DateUtil.format(emailDate, DateConst.YYYY_MM_DD_HH_MM_SS);
|
|
|
if (emailType == null) {
|
|
@@ -496,12 +500,12 @@ public class EmailParseService {
|
|
|
emailContentInfoDTO.setEmailDate(emailDateStr);
|
|
|
String fileName = message.getSubject() + DateUtil.format(emailDate, DateConst.YYYYMMDDHHMMSS24);
|
|
|
String filePath = path + mailboxInfoDTO.getAccount() + "/" + DateUtil.format(emailDate, DateConst.YYYY_MM_DD) + "/" + fileName + ".html";
|
|
|
- File savefile = new File(filePath);
|
|
|
- savefile.setReadable(true);
|
|
|
- if (!savefile.exists()) {
|
|
|
- if (!savefile.getParentFile().exists()) {
|
|
|
- savefile.getParentFile().mkdirs();
|
|
|
- savefile.getParentFile().setExecutable(true);
|
|
|
+ File saveFile = new File(filePath);
|
|
|
+ saveFile.setReadable(true);
|
|
|
+ if (!saveFile.exists()) {
|
|
|
+ if (!saveFile.getParentFile().exists()) {
|
|
|
+ saveFile.getParentFile().mkdirs();
|
|
|
+ saveFile.getParentFile().setExecutable(true);
|
|
|
}
|
|
|
}
|
|
|
FileUtil.writeFile(filePath, content.toString());
|
|
@@ -509,7 +513,10 @@ public class EmailParseService {
|
|
|
emailContentInfoDTOList.add(emailContentInfoDTO);
|
|
|
}
|
|
|
if (CollUtil.isNotEmpty(emailContentInfoDTOList)) {
|
|
|
- emailContentInfoDTOList.forEach(e -> e.setEmailType(emailType));
|
|
|
+ emailContentInfoDTOList.forEach(e -> {
|
|
|
+ e.setEmailType(emailType);
|
|
|
+ e.setSenderEmail(senderEmail);
|
|
|
+ });
|
|
|
emailMessageMap.put(uuidKey, emailContentInfoDTOList);
|
|
|
}
|
|
|
} catch (Exception e) {
|