|
@@ -69,7 +69,7 @@ class MailListV2Es2 extends Base { |
|
@@ -69,7 +69,7 @@ class MailListV2Es2 extends Base { |
69
|
|
69
|
|
70
|
// $where['is_hots'] = 0;
|
70
|
// $where['is_hots'] = 0;
|
71
|
// 项目id
|
71
|
// 项目id
|
72
|
- $where['postid'] = intval(app()->request('postid'))?:-1;
|
72
|
+ $where['postid'] = intval(app()->request('postid',-1));
|
73
|
$where['folder_as_int'] = 404; // 搜索那个文件夹
|
73
|
$where['folder_as_int'] = 404; // 搜索那个文件夹
|
74
|
if($folder=='收件箱'){
|
74
|
if($folder=='收件箱'){
|
75
|
$where['is_hots'] = 0;
|
75
|
$where['is_hots'] = 0;
|
|
@@ -187,8 +187,8 @@ class MailListV2Es2 extends Base { |
|
@@ -187,8 +187,8 @@ class MailListV2Es2 extends Base { |
187
|
}
|
187
|
}
|
188
|
}
|
188
|
}
|
189
|
|
189
|
|
190
|
- logs('lists '.json_encode(['query'=>['constant_score'=>['filter'=>$query]]]));
|
|
|
191
|
- $result = $this->es->search(['query'=>['constant_score'=>['filter'=>$query]]],($page-1) * $limit,$limit,['udate'=>"desc"]);
|
190
|
+ // logs('lists '.json_encode(['query'=>['constant_score'=>['filter'=>$query]]]));
|
|
|
191
|
+ $result = $this->es->search(['query'=>['constant_score'=>['filter'=>$query]]],($page-1) * $limit,$limit,['udate'=>"desc"],(($where['is_hots']??0)==1||($where['is_auto']??0)==1||$folder=='垃圾箱')?10000:true);
|
192
|
|
192
|
|
193
|
|
193
|
|
194
|
$total = $result['hits']['total']['value']??0;
|
194
|
$total = $result['hits']['total']['value']??0;
|
|
@@ -252,23 +252,28 @@ class MailListV2Es2 extends Base { |
|
@@ -252,23 +252,28 @@ class MailListV2Es2 extends Base { |
252
|
$assign = app()->request('assign');
|
252
|
$assign = app()->request('assign');
|
253
|
// 说明是子账号
|
253
|
// 说明是子账号
|
254
|
if(!empty($assign['assign'])){
|
254
|
if(!empty($assign['assign'])){
|
255
|
- return [
|
|
|
256
|
- 'bool' => [
|
|
|
257
|
- 'should' =>[
|
|
|
258
|
- [
|
255
|
+ if(!empty($assign['from'])){
|
|
|
256
|
+ $f = [
|
259
|
'query_string'=>[
|
257
|
'query_string'=>[
|
260
|
'query'=>(str_contains($folder, '发件箱')?'to':'from.email').':('.implode(' OR ',array_map(function($e){return '"'.$e.'"';},$assign['from'])).')'
|
258
|
'query'=>(str_contains($folder, '发件箱')?'to':'from.email').':('.implode(' OR ',array_map(function($e){return '"'.$e.'"';},$assign['from'])).')'
|
261
|
]
|
259
|
]
|
262
|
- ],
|
260
|
+ ];
|
|
|
261
|
+ }
|
|
|
262
|
+ $r = [
|
|
|
263
|
+ 'bool' => [
|
|
|
264
|
+ 'should' =>[
|
263
|
[
|
265
|
[
|
264
|
'terms'=>[
|
266
|
'terms'=>[
|
265
|
- 'email_id'=>$assign['email_id']
|
267
|
+ 'email_id'=>$assign['email_id']??[0]
|
266
|
]
|
268
|
]
|
267
|
]
|
269
|
]
|
268
|
]
|
270
|
]
|
269
|
]
|
271
|
]
|
270
|
];
|
272
|
];
|
271
|
-
|
273
|
+ if(!empty($f)){
|
|
|
274
|
+ $r['bool']['should'][] = $f;
|
|
|
275
|
+ }
|
|
|
276
|
+ return $r;
|
272
|
}
|
277
|
}
|
273
|
|
278
|
|
274
|
return [];
|
279
|
return [];
|
|
@@ -283,7 +288,7 @@ class MailListV2Es2 extends Base { |
|
@@ -283,7 +288,7 @@ class MailListV2Es2 extends Base { |
283
|
if(!empty($assign['assign'])){
|
288
|
if(!empty($assign['assign'])){
|
284
|
return [
|
289
|
return [
|
285
|
'terms'=>[
|
290
|
'terms'=>[
|
286
|
- 'email_id'=>$assign['email_id']?:[-1]
|
291
|
+ 'email_id'=>($assign['email_id']??[0])?:[-1]
|
287
|
]
|
292
|
]
|
288
|
];
|
293
|
];
|
289
|
}
|
294
|
}
|
|
@@ -304,7 +309,7 @@ class MailListV2Es2 extends Base { |
|
@@ -304,7 +309,7 @@ class MailListV2Es2 extends Base { |
304
|
'bool'=>[
|
309
|
'bool'=>[
|
305
|
'must'=>[
|
310
|
'must'=>[
|
306
|
['term'=>['deleted'=>0]],
|
311
|
['term'=>['deleted'=>0]],
|
307
|
- ['term'=>['postid'=>app()->request('postid',-1)]],
|
312
|
+ ['term'=>['postid'=> intval(app()->request('postid',-1))]],
|
308
|
['term'=>['source'=>2]],
|
313
|
['term'=>['source'=>2]],
|
309
|
]
|
314
|
]
|
310
|
]
|
315
|
]
|
|
@@ -395,8 +400,15 @@ class MailListV2Es2 extends Base { |
|
@@ -395,8 +400,15 @@ class MailListV2Es2 extends Base { |
395
|
$body['query']['bool']['must'][] = ['term'=>['folder_as_int'=>folder2int($folder)]];
|
400
|
$body['query']['bool']['must'][] = ['term'=>['folder_as_int'=>folder2int($folder)]];
|
396
|
if($this->assignSql3($folder))
|
401
|
if($this->assignSql3($folder))
|
397
|
$body['query']['bool']['must'][] = $this->assignSql3($folder);
|
402
|
$body['query']['bool']['must'][] = $this->assignSql3($folder);
|
398
|
- logs('hot hot:'.json_encode($body));
|
|
|
399
|
- return $this->es->count($body);
|
403
|
+ // logs('hot hot:'.json_encode($body));
|
|
|
404
|
+ // return $this->es->count($body);
|
|
|
405
|
+ $key = 'hot_count:'.md5(json_encode($body));
|
|
|
406
|
+ $a = redis()->get($key);
|
|
|
407
|
+ if(!is_numeric($a)){
|
|
|
408
|
+ $a = $this->es->count($body);
|
|
|
409
|
+ redis()->set($key,$a,strtotime(date('Y-m-d',strtotime("+1 day"))) - time());
|
|
|
410
|
+ }
|
|
|
411
|
+ return $a;
|
400
|
}
|
412
|
}
|
401
|
|
413
|
|
402
|
private function countMail($body,$folder,$seen=null){
|
414
|
private function countMail($body,$folder,$seen=null){
|
|
@@ -427,7 +439,16 @@ class MailListV2Es2 extends Base { |
|
@@ -427,7 +439,16 @@ class MailListV2Es2 extends Base { |
427
|
$body['query']['bool']['must'][] = ['term'=>['is_hots'=>0]];
|
439
|
$body['query']['bool']['must'][] = ['term'=>['is_hots'=>0]];
|
428
|
$body['query']['bool']['must'][] = ['term'=>['folder_as_int'=>folder2int($folder)]];
|
440
|
$body['query']['bool']['must'][] = ['term'=>['folder_as_int'=>folder2int($folder)]];
|
429
|
if($this->assignSql($folder)) $body['query']['bool']['must'][] = $this->assignSql($folder);
|
441
|
if($this->assignSql($folder)) $body['query']['bool']['must'][] = $this->assignSql($folder);
|
430
|
- logs('count :'.json_encode($body));
|
442
|
+ // logs('count :'.json_encode($body));
|
|
|
443
|
+ if($folder=='垃圾箱'){
|
|
|
444
|
+ $key = 'laji_count:'.md5(json_encode($body));
|
|
|
445
|
+ $a = redis()->get($key);
|
|
|
446
|
+ if(!is_numeric($a)){
|
|
|
447
|
+ $a = $this->es->count($body);
|
|
|
448
|
+ redis()->set($key,$a,strtotime(date('Y-m-d',strtotime("+1 day"))) - time());
|
|
|
449
|
+ }
|
|
|
450
|
+ return $a;
|
|
|
451
|
+ }
|
431
|
return $this->es->count($body);
|
452
|
return $this->es->count($body);
|
432
|
}
|
453
|
}
|
433
|
|
454
|
|