24282 2 years ago
parent
commit
a1fe7d9cc0

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

@@ -80,5 +80,9 @@ public class EmailMessage extends BaseEntity {
      */
     private String htmlContent;
 
+    /**
+     * 逻辑删除
+     */
+    private Integer delFlag;
 
 }

+ 11 - 2
src/main/java/com/fjhx/enums/SendEventEnum.java

@@ -1,5 +1,6 @@
 package com.fjhx.enums;
 
+import cn.hutool.core.util.ObjectUtil;
 import lombok.Getter;
 
 import java.util.HashMap;
@@ -12,8 +13,16 @@ public enum SendEventEnum {
      */
     MESSAGE_NEW("messageNew"),
 
+    /**
+     * 删除邮件
+     */
+    MESSAGE_DELETED("messageDeleted"),
+
 
-    ;
+    /**
+     * 未知事件
+     */
+    UNKNOWN_EVENT("unknownEvent");
 
     private final String type;
 
@@ -33,7 +42,7 @@ public enum SendEventEnum {
      * 根据type获取枚举
      */
     public static SendEventEnum get(String type) {
-        return map.get(type);
+        return ObjectUtil.defaultIfNull(map.get(type), UNKNOWN_EVENT);
     }
 
 }

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

@@ -94,6 +94,9 @@ public class AccountServiceImpl implements IAccountService {
             case MESSAGE_NEW:
                 this.handleMessageNewEvent(listenerVo);
                 break;
+            case MESSAGE_DELETED:
+                this.handleMessageDeletedEvent(listenerVo);
+                break;
 
 
             default:
@@ -405,4 +408,13 @@ public class AccountServiceImpl implements IAccountService {
         emailMessageAttachmentService.saveBatch(emailMessageAttachmentList);
     }
 
+    /**
+     * 处理删除邮件事件
+     */
+    private void handleMessageDeletedEvent(ListenerVo listenerVo) {
+        MessageDeletedEventVo vo = listenerVo.getData().toJavaObject(MessageDeletedEventVo.class);
+        emailMessageService.remove(
+                Wrappers.<EmailMessage>lambdaQuery().eq(EmailMessage::getMessageId, vo.getId()));
+    }
+
 }

+ 12 - 0
src/main/java/com/fjhx/vo/MessageDeletedEventVo.java

@@ -0,0 +1,12 @@
+package com.fjhx.vo;
+
+import lombok.Data;
+
+@Data
+public class MessageDeletedEventVo {
+
+    private Integer uid;
+
+    private String id;
+
+}