作者 邓超

es

@@ -14,6 +14,12 @@ class SyncToEsCmd { @@ -14,6 +14,12 @@ class SyncToEsCmd {
14 14
15 public $isStop = false; 15 public $isStop = false;
16 16
  17 + /**
  18 + * 文件夹
  19 + * @var array
  20 + */
  21 + public $folders = [];
  22 +
17 23
18 public function handler(){ 24 public function handler(){
19 25
@@ -59,6 +65,12 @@ class SyncToEsCmd { @@ -59,6 +65,12 @@ class SyncToEsCmd {
59 if($data){ 65 if($data){
60 // 设置 进程 是否在运行 66 // 设置 进程 是否在运行
61 $data['is_auto']=$db->count('select count(*) from `lists_auto` where `list_id` = '.$data['id']) ? 1 : 0; 67 $data['is_auto']=$db->count('select count(*) from `lists_auto` where `list_id` = '.$data['id']) ? 1 : 0;
  68 + // 文件夹
  69 + if(empty($this->folders[$data['folder_id']])){
  70 + $this->folders[$data['folder_id']] = $db->throw()->value(\Model\folderSql::first($data['folder_id'],'folder'));
  71 + }
  72 + // 为文件夹打标 方便查询
  73 + $data['folder_as_int'] = folder2int($this->folders[$data['folder_id']]);
62 74
63 $data = $this->getEsData($data); 75 $data = $this->getEsData($data);
64 $doc_id = $data['email_id'].'_'.$data['folder_id'].'_'.$data['uid']; 76 $doc_id = $data['email_id'].'_'.$data['folder_id'].'_'.$data['uid'];
@@ -400,6 +400,27 @@ function folderAliasMap():array { @@ -400,6 +400,27 @@ function folderAliasMap():array {
400 400
401 ]; 401 ];
402 } 402 }
  403 +
  404 +/**
  405 + * 将文件夹转换成数字,方便es查询
  406 + * @param $folder
  407 + * @return int
  408 + * @author:dc
  409 + * @time 2025/5/20 14:01
  410 + */
  411 +function folder2int($folder):int {
  412 + $as = [
  413 + '收件箱' => 1,
  414 + '发件箱' => 2,
  415 + '草稿箱' => 3,
  416 + '垃圾箱' => 4,
  417 + '回收站' => 5,
  418 + '星标邮件' => 6,
  419 + ];
  420 +
  421 + return intval($as[$folder]??0);
  422 +}
  423 +
403 /** 424 /**
404 * 固定文件夹的名称,统一 425 * 固定文件夹的名称,统一
405 * @param $folder 426 * @param $folder