24282 пре 2 година
родитељ
комит
a25aa1026d

+ 3 - 4
src/main/java/com/fjhx/config/TaskPoolConfig.java

@@ -23,16 +23,15 @@ public class TaskPoolConfig {
         //配置核心线程数
         executor.setCorePoolSize(5);
         //配置最大线程数
-        executor.setMaxPoolSize(20);
+        executor.setMaxPoolSize(10);
         //配置队列大小
-        executor.setQueueCapacity(500);
+        executor.setQueueCapacity(10);
         // 缓冲队列大小
-        executor.setKeepAliveSeconds(100);
+        executor.setKeepAliveSeconds(10);
         //配置线程池中的线程的名称前缀
         executor.setThreadNamePrefix("async-service:");
         // 线程池对拒绝任务的处理策略:由调用线程(提交任务的线程)处理该任务
         executor.setRejectedExecutionHandler(new ThreadPoolExecutor.CallerRunsPolicy());
-
         //执行初始化
         executor.initialize();
         return executor;

+ 9 - 0
src/main/java/com/fjhx/enums/SendEventEnum.java

@@ -18,6 +18,15 @@ public enum SendEventEnum {
      */
     MESSAGE_DELETED("messageDeleted"),
 
+    /**
+     * Email Flag被改变
+     */
+    MESSAGE_UPDATED("messageUpdated"),
+
+    /**
+     * 新增文件夹
+     */
+    MAILBOX_NEW("mailboxNew"),
 
     /**
      * 未知事件

+ 28 - 3
src/main/java/com/fjhx/service/impl/AccountServiceImpl.java

@@ -97,7 +97,12 @@ public class AccountServiceImpl implements IAccountService {
             case MESSAGE_DELETED:
                 this.handleMessageDeletedEvent(listenerVo);
                 break;
-
+            case MESSAGE_UPDATED:
+                this.handleMessageUpdatedEvent(listenerVo);
+                break;
+            case MAILBOX_NEW:
+                this.handleMailboxNewEvent(listenerVo);
+                break;
 
             default:
                 log.error("监听到未知事件:{}", JSONObject.toJSONString(listenerVo));
@@ -201,7 +206,6 @@ public class AccountServiceImpl implements IAccountService {
 
     }
 
-
     /**
      * 生成邮件实体
      */
@@ -359,7 +363,11 @@ public class AccountServiceImpl implements IAccountService {
             if (details.getPath().equals(emailMailbox.getPath())) {
                 int detailsCompleteMessageCount = details.getCompleteMessageCount() + messagesDTOList.size();
                 details.setCompleteMessageCount(detailsCompleteMessageCount);
-                details.setPercentage(100 * detailsCompleteMessageCount / details.getMessages());
+                if (details.getMessages() == 0) {
+                    details.setPercentage(100);
+                } else {
+                    details.setPercentage(100 * detailsCompleteMessageCount / details.getMessages());
+                }
                 break;
             }
         }
@@ -417,4 +425,21 @@ public class AccountServiceImpl implements IAccountService {
                 Wrappers.<EmailMessage>lambdaQuery().eq(EmailMessage::getMessageId, vo.getId()));
     }
 
+    /**
+     * 邮件flag被改变件
+     */
+    private void handleMessageUpdatedEvent(ListenerVo listenerVo) {
+        // System.err.println(JSONObject.toJSONString(listenerVo));
+    }
+
+    /**
+     * 新增文件夹
+     */
+    private void handleMailboxNewEvent(ListenerVo listenerVo) {
+
+        System.err.println(JSONObject.toJSONString(listenerVo));
+
+    }
+
+
 }