|
@@ -6,7 +6,6 @@ import cn.hutool.core.lang.Assert;
|
|
|
import cn.hutool.core.thread.ThreadUtil;
|
|
|
import com.alibaba.fastjson.JSON;
|
|
|
import com.alibaba.fastjson.JSONObject;
|
|
|
-import com.baomidou.mybatisplus.core.toolkit.IdWorker;
|
|
|
import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
|
|
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
|
import com.fjhx.config.TaskPoolConfig;
|
|
@@ -80,7 +79,7 @@ public class AccountServiceImpl implements IAccountService {
|
|
|
}
|
|
|
|
|
|
// 异步遍历文件夹下的所有邮件
|
|
|
- this.asyncReadEmail(emailInfo.getId(), bindingVo, 19);
|
|
|
+ this.asyncReadEmail(emailInfo.getId(), bindingVo, 0);
|
|
|
return emailInfo;
|
|
|
}
|
|
|
|
|
@@ -154,9 +153,10 @@ public class AccountServiceImpl implements IAccountService {
|
|
|
List<String> lastMessageIdList = new ArrayList<>();
|
|
|
|
|
|
while (page < pages) {
|
|
|
+ int tempPage = page;
|
|
|
|
|
|
// 分页获取文件夹邮件
|
|
|
- MessageVo result = EmailEngineUtil.getMessageList(email, mailbox, page);
|
|
|
+ MessageVo result = EmailEngineUtil.getMessageList(email, mailbox, tempPage);
|
|
|
|
|
|
List<MessageVo.MessagesDTO> messagesDTOList = result.getMessages();
|
|
|
|
|
@@ -175,6 +175,7 @@ public class AccountServiceImpl implements IAccountService {
|
|
|
}
|
|
|
|
|
|
}
|
|
|
+
|
|
|
page++;
|
|
|
|
|
|
ThreadUtil.sleep(3000);
|
|
@@ -213,10 +214,10 @@ public class AccountServiceImpl implements IAccountService {
|
|
|
emailMessageList.add(emailMessage);
|
|
|
|
|
|
// 添加推送信息
|
|
|
- this.addMessageSend(emailMessageSendList, messagesDTO, emailMessage.getId());
|
|
|
+ this.addMessageSend(emailMessageSendList, messagesDTO);
|
|
|
|
|
|
// 下载并添加附件信息
|
|
|
- this.addMessageAttachment(email, emailMessageAttachmentList, messagesDTO, emailMessage.getId());
|
|
|
+ this.addMessageAttachment(email, emailMessageAttachmentList, messagesDTO);
|
|
|
}
|
|
|
|
|
|
// 保存邮件
|
|
@@ -235,7 +236,6 @@ public class AccountServiceImpl implements IAccountService {
|
|
|
private EmailMessage createMessage(Long emailInfoId, String email, MessageVo.MessagesDTO messagesDTO) {
|
|
|
|
|
|
EmailMessage emailMessage = new EmailMessage();
|
|
|
- emailMessage.setId(IdWorker.getId());
|
|
|
emailMessage.setMessageId(messagesDTO.getId());
|
|
|
emailMessage.setEmailInfoId(emailInfoId);
|
|
|
emailMessage.setEmail(email);
|
|
@@ -252,11 +252,11 @@ public class AccountServiceImpl implements IAccountService {
|
|
|
}
|
|
|
|
|
|
// 正文内容
|
|
|
- MessageDetailVo messageDetail = EmailEngineUtil.getMessageDetail(email, messagesDTO.getId());
|
|
|
- MessageDetailVo.TextDTO text = messageDetail.getText();
|
|
|
- if (ObjectUtils.isNotEmpty(text)) {
|
|
|
- emailMessage.setHtmlContent(text.getHtml());
|
|
|
- }
|
|
|
+ // MessageDetailVo messageDetail = EmailEngineUtil.getMessageDetail(email, messagesDTO.getId());
|
|
|
+ // MessageDetailVo.TextDTO text = messageDetail.getText();
|
|
|
+ // if (ObjectUtils.isNotEmpty(text)) {
|
|
|
+ // emailMessage.setHtmlContent(text.getHtml());
|
|
|
+ // }
|
|
|
|
|
|
return emailMessage;
|
|
|
}
|
|
@@ -264,13 +264,12 @@ public class AccountServiceImpl implements IAccountService {
|
|
|
/**
|
|
|
* 添加推送信息
|
|
|
*/
|
|
|
- private void addMessageSend(List<EmailMessageSend> emailMessageSendList, MessageVo.MessagesDTO messagesDTO, Long emailMessageId) {
|
|
|
+ private void addMessageSend(List<EmailMessageSend> emailMessageSendList, MessageVo.MessagesDTO messagesDTO) {
|
|
|
// 收件人
|
|
|
List<MessageVo.MessagesDTO.ToDTO> to = messagesDTO.getTo();
|
|
|
if (ObjectUtils.isNotEmpty(to)) {
|
|
|
for (MessageVo.MessagesDTO.ToDTO toDTO : to) {
|
|
|
EmailMessageSend emailMessageSend = new EmailMessageSend();
|
|
|
- emailMessageSend.setEmailMessageId(emailMessageId);
|
|
|
emailMessageSend.setMessageId(messagesDTO.getId());
|
|
|
emailMessageSend.setType(SendConstant.TO);
|
|
|
emailMessageSend.setName(toDTO.getName());
|
|
@@ -284,7 +283,6 @@ public class AccountServiceImpl implements IAccountService {
|
|
|
if (ObjectUtils.isNotEmpty(cc)) {
|
|
|
for (MessageVo.MessagesDTO.ToDTO toDTO : cc) {
|
|
|
EmailMessageSend emailMessageSend = new EmailMessageSend();
|
|
|
- emailMessageSend.setEmailMessageId(emailMessageId);
|
|
|
emailMessageSend.setMessageId(messagesDTO.getId());
|
|
|
emailMessageSend.setType(SendConstant.CC);
|
|
|
emailMessageSend.setName(toDTO.getName());
|
|
@@ -298,7 +296,6 @@ public class AccountServiceImpl implements IAccountService {
|
|
|
if (ObjectUtils.isNotEmpty(bcc)) {
|
|
|
for (MessageVo.MessagesDTO.ToDTO toDTO : cc) {
|
|
|
EmailMessageSend emailMessageSend = new EmailMessageSend();
|
|
|
- emailMessageSend.setEmailMessageId(emailMessageId);
|
|
|
emailMessageSend.setMessageId(messagesDTO.getId());
|
|
|
emailMessageSend.setType(SendConstant.BCC);
|
|
|
emailMessageSend.setName(toDTO.getName());
|
|
@@ -311,8 +308,7 @@ public class AccountServiceImpl implements IAccountService {
|
|
|
/**
|
|
|
* 下载并添加附件信息
|
|
|
*/
|
|
|
- private void addMessageAttachment(String email, List<EmailMessageAttachment> emailMessageAttachmentList,
|
|
|
- MessageVo.MessagesDTO messagesDTO, Long emailMessageId) {
|
|
|
+ private void addMessageAttachment(String email, List<EmailMessageAttachment> emailMessageAttachmentList, MessageVo.MessagesDTO messagesDTO) {
|
|
|
|
|
|
List<MessageVo.MessagesDTO.AttachmentsDTO> attachments = messagesDTO.getAttachments();
|
|
|
if (ObjectUtils.isNotEmpty(attachments)) {
|
|
@@ -322,7 +318,6 @@ public class AccountServiceImpl implements IAccountService {
|
|
|
String newFileName = attachmentId + "." + FileUtil.getSuffix(attachment.getFilename());
|
|
|
|
|
|
EmailMessageAttachment emailMessageAttachment = new EmailMessageAttachment();
|
|
|
- emailMessageAttachment.setEmailMessageId(emailMessageId);
|
|
|
emailMessageAttachment.setMessageId(messagesDTO.getId());
|
|
|
emailMessageAttachment.setName(attachment.getFilename());
|
|
|
emailMessageAttachment.setPath(email + "\\" + newFileName);
|
|
@@ -383,12 +378,12 @@ public class AccountServiceImpl implements IAccountService {
|
|
|
|
|
|
// 保存推送人信息
|
|
|
List<EmailMessageSend> emailMessageSendList = new ArrayList<>();
|
|
|
- this.addMessageSend(emailMessageSendList, messagesDTO, emailMessage.getId());
|
|
|
+ this.addMessageSend(emailMessageSendList, messagesDTO);
|
|
|
emailMessageSendService.saveBatch(emailMessageSendList);
|
|
|
|
|
|
// 保存附件信息
|
|
|
List<EmailMessageAttachment> emailMessageAttachmentList = new ArrayList<>();
|
|
|
- this.addMessageAttachment(account, emailMessageAttachmentList, messagesDTO, emailMessage.getId());
|
|
|
+ this.addMessageAttachment(account, emailMessageAttachmentList, messagesDTO);
|
|
|
emailMessageAttachmentService.saveBatch(emailMessageAttachmentList);
|
|
|
}
|
|
|
|