正在显示
1 个修改的文件
包含
39 行增加
和
4 行删除
@@ -110,9 +110,26 @@ class SyncToEsCmd { | @@ -110,9 +110,26 @@ class SyncToEsCmd { | ||
110 | list($doc_id,$data) = $data; | 110 | list($doc_id,$data) = $data; |
111 | // 主库 | 111 | // 主库 |
112 | $this->toDataEs('email_lists_copy',$id,$doc_id,$data); | 112 | $this->toDataEs('email_lists_copy',$id,$doc_id,$data); |
113 | + // 个人邮箱的情况 | ||
114 | + if(!$data['postid']){ | ||
115 | + $postids = $this->getPostids($data['email_id']); | ||
116 | + if($postids){ | ||
117 | + foreach ($postids as $postid){ | ||
118 | + $data['postid'] = $postid; | ||
119 | + $data['source'] = 1; | ||
120 | + // 分库 个人邮箱 | ||
121 | + $this->toDataEs('email_lists_branch_'.$data['postid'],$id,$doc_id,$data); | ||
122 | + } | ||
123 | + }else{ | ||
124 | + // 分库 其他 非fob数据源 | ||
125 | + $this->toDataEs('email_lists_branch_0',$id,$doc_id,$data); | ||
126 | + } | ||
127 | + }else{ | ||
113 | // 分库 | 128 | // 分库 |
114 | $this->toDataEs('email_lists_branch_'.$data['postid'],$id,$doc_id,$data); | 129 | $this->toDataEs('email_lists_branch_'.$data['postid'],$id,$doc_id,$data); |
115 | } | 130 | } |
131 | + | ||
132 | + } | ||
116 | }else{ | 133 | }else{ |
117 | // 没有数据时暂停1秒 | 134 | // 没有数据时暂停1秒 |
118 | sleep(1); | 135 | sleep(1); |
@@ -122,6 +139,24 @@ class SyncToEsCmd { | @@ -122,6 +139,24 @@ class SyncToEsCmd { | ||
122 | } | 139 | } |
123 | 140 | ||
124 | /** | 141 | /** |
142 | + * 个人邮箱情况 | ||
143 | + * @param $email_id | ||
144 | + * @author:dc | ||
145 | + * @time 2025/8/5 14:53 | ||
146 | + */ | ||
147 | + private function getPostids($email_id){ | ||
148 | + $postids = $this->fob_db->throw()->cache(300)->all("select `post_id` from `e_mail_binds` where `source` = 1 and `email_id` = {$email_id} and `deleted_at` is null"); | ||
149 | + | ||
150 | + if($postids){ | ||
151 | + return array_column($postids,'post_id'); | ||
152 | + } | ||
153 | + | ||
154 | + return []; | ||
155 | + | ||
156 | + } | ||
157 | + | ||
158 | + | ||
159 | + /** | ||
125 | * @param $id | 160 | * @param $id |
126 | * @param $is_check_body | 161 | * @param $is_check_body |
127 | * @return array|false | 162 | * @return array|false |
@@ -309,8 +344,8 @@ class SyncToEsCmd { | @@ -309,8 +344,8 @@ class SyncToEsCmd { | ||
309 | 344 | ||
310 | //每60秒验证一次 | 345 | //每60秒验证一次 |
311 | if(redis()->add('fob_bind_mail_times_check:'.$email_id,1,60)){ | 346 | if(redis()->add('fob_bind_mail_times_check:'.$email_id,1,60)){ |
312 | - $lastpostid = $this->fob_db->throw()->value("select `post_id` from `e_mail_binds_log` where `email_id` = '{$email_id}' order by `id` desc limit 1"); | ||
313 | - $thelast = $this->fob_db->throw()->first("select * from `e_mail_binds` where `email_id` = '{$email_id}' and `deleted_at` is null order by `id` desc limit 1"); | 347 | + $lastpostid = $this->fob_db->throw()->value("select `post_id` from `e_mail_binds_log` where `source` = 2 and `email_id` = '{$email_id}' order by `id` desc limit 1"); |
348 | + $thelast = $this->fob_db->throw()->first("select * from `e_mail_binds` where `source` = 2 and `email_id` = '{$email_id}' and `deleted_at` is null order by `id` desc limit 1"); | ||
314 | if(!$thelast){ | 349 | if(!$thelast){ |
315 | return [0,0]; | 350 | return [0,0]; |
316 | } | 351 | } |
@@ -338,7 +373,7 @@ class SyncToEsCmd { | @@ -338,7 +373,7 @@ class SyncToEsCmd { | ||
338 | // 查询历史记录 | 373 | // 查询历史记录 |
339 | $times = redis()->getSet('fob_bind_mail_times3:'.$email_id,300,function ($email_id){ | 374 | $times = redis()->getSet('fob_bind_mail_times3:'.$email_id,300,function ($email_id){ |
340 | 375 | ||
341 | - $times = $this->fob_db->throw()->all("select `post_id`,`bind_time`,`source` from `e_mail_binds_log` where `email_id` = {$email_id} order by `bind_time` desc "); | 376 | + $times = $this->fob_db->throw()->all("select `post_id`,`bind_time`,`source` from `e_mail_binds_log` where `source` = 2 and `email_id` = {$email_id} order by `bind_time` desc "); |
342 | if(!$times){ | 377 | if(!$times){ |
343 | return []; | 378 | return []; |
344 | } | 379 | } |
@@ -361,7 +396,7 @@ class SyncToEsCmd { | @@ -361,7 +396,7 @@ class SyncToEsCmd { | ||
361 | // 没有找到历史,就找绑定表 | 396 | // 没有找到历史,就找绑定表 |
362 | if(empty($data)){ | 397 | if(empty($data)){ |
363 | $data = redis()->getSet('fob_bind_mail3:'.$email_id,300,function ($email_id){ | 398 | $data = redis()->getSet('fob_bind_mail3:'.$email_id,300,function ($email_id){ |
364 | - return $this->fob_db->throw()->first("select `post_id`,`source` from `e_mail_binds` where `email_id` = '{$email_id}' and `deleted_at` is null order by `id` desc limit 1"); | 399 | + return $this->fob_db->throw()->first("select `post_id`,`source` from `e_mail_binds` where `source` = 2 and `email_id` = '{$email_id}' and `deleted_at` is null order by `id` desc limit 1"); |
365 | },$email_id); | 400 | },$email_id); |
366 | 401 | ||
367 | } | 402 | } |
-
请 注册 或 登录 后发表评论