24282 il y a 2 ans
Parent
commit
0a4226fe74

+ 7 - 0
src/main/java/com/fjhx/controller/AccountController.java

@@ -1,5 +1,6 @@
 package com.fjhx.controller;
 
+import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
 import com.fjhx.base.R;
 import com.fjhx.config.redis.RedisCache;
 import com.fjhx.constants.RedisConstant;
@@ -33,12 +34,18 @@ public class AccountController {
     @GetMapping("getAsyncProgress")
     public R getAsyncProgress(@RequestParam("email") String email) {
         ProgressVo progressVo = RedisCache.get(RedisConstant.PROGRESS_KEY + email);
+        if (ObjectUtils.isNull(progressVo)) {
+            return R.ok();
+        }
         if (progressVo.getPercentage() >= 100) {
             RedisCache.delete(RedisConstant.PROGRESS_KEY + email);
         }
         return R.ok(progressVo);
     }
 
+    /**
+     * 监听邮件事件
+     */
     @PostMapping("/listener")
     public R post(@RequestBody ListenerVo listenerVo) {
         accountService.listener(listenerVo);

+ 10 - 0
src/main/java/com/fjhx/entity/EmailMessage.java

@@ -26,6 +26,16 @@ public class EmailMessage extends BaseEntity {
     private String messageId;
 
     /**
+     * 电子邮件id
+     */
+    private Long emailInfoId;
+
+    /**
+     * 电子邮件
+     */
+    private String email;
+
+    /**
      * 邮箱文件夹id
      */
     private Long emailMailboxId;

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

@@ -207,6 +207,8 @@ public class AccountServiceImpl implements IAccountService {
         EmailMessage emailMessage = new EmailMessage();
         emailMessage.setId(IdWorker.getId());
         emailMessage.setMessageId(messagesDTO.getId());
+        emailMessage.setEmailInfoId(emailMailbox.getEmailInfoId());
+        emailMessage.setEmail(emailMailbox.getEmail());
         emailMessage.setEmailMailboxId(emailMailbox.getId());
         emailMessage.setEmailMailboxPath(emailMailbox.getPath());
         emailMessage.setUnseen(messagesDTO.getUnseen());