24282 2 anni fa
parent
commit
e5fa1e3275

+ 6 - 0
src/main/java/com/fjhx/email/entity/EnterpriseMessage.java

@@ -89,4 +89,10 @@ public class EnterpriseMessage extends BaseEntity {
      * 是否同步附件
      */
     private Integer attachmentSync;
+
+    /**
+     * 已读状态  1是 0否
+     */
+    private Integer readStatus;
+
 }

+ 5 - 0
src/main/java/com/fjhx/email/entity/PersonalMessage.java

@@ -90,4 +90,9 @@ public class PersonalMessage extends BaseEntity {
      */
     private Integer attachmentSync;
 
+    /**
+     * 已读状态  1是 0否
+     */
+    private Integer readStatus;
+
 }

+ 5 - 0
src/main/java/com/fjhx/email/entity/dto/MailInfo.java

@@ -49,4 +49,9 @@ public class MailInfo {
      */
     private String fromType;
 
+    /**
+     * 已读状态  1是 0否
+     */
+    private Integer readStatus;
+
 }

+ 11 - 0
src/main/java/com/fjhx/email/service/impl/CoreServiceImpl.java

@@ -372,6 +372,15 @@ public class CoreServiceImpl implements ApplicationRunner {
             mailInfo.setSubject(message.getSubject());
             mailInfo.setFlags(EmailUtil.getFlags(message.getFlags()));
             mailInfo.setSendDate(receivedDate);
+            mailInfo.setReadStatus(0);
+
+            Flags.Flag[] systemFlags = message.getFlags().getSystemFlags();
+            for (int j = 0; j < systemFlags.length; j++) {
+                if (systemFlags[i].equals(Flags.Flag.SEEN)) {
+                    mailInfo.setReadStatus(1);
+                    break;
+                }
+            }
 
             // 保存发件人信息
             Address[] addresses = message.getFrom();
@@ -441,6 +450,7 @@ public class CoreServiceImpl implements ApplicationRunner {
                         personalMessage.setContentSync(0);
                         personalMessage.setAddressSync(0);
                         personalMessage.setAttachmentSync(0);
+                        personalMessage.setReadStatus(mailInfo.getReadStatus());
                         return personalMessage;
                     }).collect(Collectors.toList());
                     personalMessageService.saveBatch(personalMessageList);
@@ -482,6 +492,7 @@ public class CoreServiceImpl implements ApplicationRunner {
                         enterpriseMessage.setContentSync(0);
                         enterpriseMessage.setAddressSync(0);
                         enterpriseMessage.setAttachmentSync(0);
+                        enterpriseMessage.setReadStatus(mailInfo.getReadStatus());
                         return enterpriseMessage;
                     }).collect(Collectors.toList());
                     enterpriseMessageService.saveBatch(enterpriseMessageList);

+ 2 - 0
src/main/java/com/fjhx/email/service/impl/MailServiceImpl.java

@@ -251,6 +251,7 @@ public class MailServiceImpl implements IMailService {
                         .set(PersonalMessage::getAddressSync, 1)
                         .set(PersonalMessage::getContentSync, 1)
                         .set(PersonalMessage::getAttachmentSync, 1)
+                        .set(PersonalMessage::getReadStatus, 1)
                 );
 
             } else {
@@ -288,6 +289,7 @@ public class MailServiceImpl implements IMailService {
                         .set(EnterpriseMessage::getAddressSync, 1)
                         .set(EnterpriseMessage::getContentSync, 1)
                         .set(EnterpriseMessage::getAttachmentSync, 1)
+                        .set(EnterpriseMessage::getReadStatus, 1)
                 );
             }