| 
@@ -251,7 +251,7 @@ class Mail { | 
 | 
@@ -251,7 +251,7 @@ class Mail { | 
| 
251
 | 
         $blacklist = redis()->get('blacklist:'.$email_id);
 | 
251
 | 
         $blacklist = redis()->get('blacklist:'.$email_id);
 | 
| 
252
 | 
         $blackFolder = '';
 | 
252
 | 
         $blackFolder = '';
 | 
| 
253
 | 
         if($blacklist){
 | 
253
 | 
         if($blacklist){
 | 
| 
254
 | 
-            $blackFolder = $db->value(folderSql::originFolder($email_id,'垃圾箱'));
 | 
254
 | 
+            $blackFolder = $db->cache(86400*30)->value(folderSql::originFolder($email_id,'垃圾箱'));
 | 
| 
255
 | 
         }
 | 
255
 | 
         }
 | 
| 
256
 | 
 
 | 
256
 | 
 
 | 
| 
257
 | 
         //
 | 
257
 | 
         //
 | 
 | 
@@ -281,11 +281,10 @@ class Mail { | 
 | 
@@ -281,11 +281,10 @@ class Mail { | 
| 
281
 | 
 
 | 
281
 | 
 
 | 
| 
282
 | 
 
 | 
282
 | 
 
 | 
| 
283
 | 
             $uids = array_column($uids,'UID');
 | 
283
 | 
             $uids = array_column($uids,'UID');
 | 
| 
284
 | 
-            $existsUids = $db->all(listsSql::getUids($email_id,$folder_id,$uids));
 | 
 | 
   | 
| 
285
 | 
-            if($existsUids){
 | 
 | 
   | 
| 
286
 | 
-                $existsUids = array_column($existsUids,'uid');
 | 
 | 
   | 
| 
287
 | 
-                // 获取不存在数据库的uid
 | 
 | 
   | 
| 
288
 | 
-                $uids = array_diff($uids,$existsUids);
 | 
284
 | 
+            foreach ($uids as $k=>$uid){
 | 
| 
 | 
   | 
285
 | 
+                if($db->cache(86400*30,false)->value(listsSql::first(dbWhere(['email_id'=>$email_id,'folder_id'=>$folder_id,'uid'=>$uid]),'count(*) as c'))){
 | 
| 
 | 
   | 
286
 | 
+                    unset($uids[$k]);
 | 
| 
 | 
   | 
287
 | 
+                }
 | 
| 
289
 | 
             }
 | 
288
 | 
             }
 | 
| 
290
 | 
 
 | 
289
 | 
 
 | 
| 
291
 | 
 
 | 
290
 | 
 
 | 
 | 
@@ -313,7 +312,7 @@ class Mail { | 
 | 
@@ -313,7 +312,7 @@ class Mail { | 
| 
313
 | 
             $unseen = $db->count(listsSql::listCount(dbWhere([
 | 
312
 | 
             $unseen = $db->count(listsSql::listCount(dbWhere([
 | 
| 
314
 | 
                 'seen'  => 0,
 | 
313
 | 
                 'seen'  => 0,
 | 
| 
315
 | 
                 'deleted'  => 0,
 | 
314
 | 
                 'deleted'  => 0,
 | 
| 
316
 | 
-                'email_id'  => $email_id,
 | 
315
 | 
+                // 'email_id'  => $email_id,
 | 
| 
317
 | 
                 'folder_id'  => $folder_id,
 | 
316
 | 
                 'folder_id'  => $folder_id,
 | 
| 
318
 | 
             ])));
 | 
317
 | 
             ])));
 | 
| 
319
 | 
             $db->update(
 | 
318
 | 
             $db->update(
 |