Просмотр исходного кода

修改c端非核心站的接口:首页、频道页、列表页的逻辑

FengR 3 месяцев назад
Родитель
Сommit
97f9d6e503
1 измененных файлов с 36 добавлено и 9 удалено
  1. 36 9
      app/JsonRpc/ClientService.php

+ 36 - 9
app/JsonRpc/ClientService.php

@@ -185,7 +185,10 @@ class ClientService implements ClientServiceInterface
                                         ->orWhere(function ($subQuery) {
                                             $subQuery->whereNotNull('article_ignore.article_id')
                                             ->where('article_ignore.is_ignore', 0)
-                                            ->where('article_ignore.c_show_time', '<=', date('Y-m-d H:i:s'));
+                                            ->where(function ($subSubQuery) {
+                                            $subSubQuery->where('article_ignore.c_show_time', '<=', date('Y-m-d H:i:s'))
+                                                ->orWhereNull('article_ignore.c_show_time');
+                                            });
                                         });
                                     })
                                     ->whereIn('catid', $temp_arr = array_merge([$category_id], $cat_1st_arr[$category_id]))->where('status', 1)
@@ -210,7 +213,10 @@ class ClientService implements ClientServiceInterface
                                         ->orWhere(function ($subQuery) {
                                             $subQuery->whereNotNull('article_ignore.article_id')
                                             ->where('article_ignore.is_ignore', 0)
-                                            ->where('article_ignore.c_show_time', '<=', date('Y-m-d H:i:s'));
+                                            ->where(function ($subSubQuery) {
+                                            $subSubQuery->where('article_ignore.c_show_time', '<=', date('Y-m-d H:i:s'))
+                                                ->orWhereNull('article_ignore.c_show_time');
+                                            });
                                         });
                                     })
                                     ->whereIn('catid', $temp_arr = array_merge([$category_id], $cat_1st_arr[$category_id]))
@@ -238,7 +244,10 @@ class ClientService implements ClientServiceInterface
                                         ->orWhere(function ($subQuery) {
                                             $subQuery->whereNotNull('article_ignore.article_id')
                                             ->where('article_ignore.is_ignore', 0)
-                                            ->where('article_ignore.c_show_time', '<=', date('Y-m-d H:i:s'));
+                                            ->where(function ($subSubQuery) {
+                                            $subSubQuery->where('article_ignore.c_show_time', '<=', date('Y-m-d H:i:s'))
+                                                ->orWhereNull('article_ignore.c_show_time');
+                                            });
                                         });
                                     })
                                     ->whereRaw('MATCH(level_text) AGAINST(? IN NATURAL LANGUAGE MODE)', [$level])->where('status', 1)->whereIn('catid', $categoryIds)->whereNotNull('imgurl')->where('imgurl', '!=', '')->limit($imgSize)->orderBy('updated_at', 'desc')->get()->toArray();
@@ -259,7 +268,10 @@ class ClientService implements ClientServiceInterface
                                         ->orWhere(function ($subQuery) {
                                             $subQuery->whereNotNull('article_ignore.article_id')
                                             ->where('article_ignore.is_ignore', 0)
-                                            ->where('article_ignore.c_show_time', '<=', date('Y-m-d H:i:s'));
+                                            ->where(function ($subSubQuery) {
+                                            $subSubQuery->where('article_ignore.c_show_time', '<=', date('Y-m-d H:i:s'))
+                                                ->orWhereNull('article_ignore.c_show_time');
+                                            });
                                         });
                                     })
                                     ->whereRaw('MATCH(level_text) AGAINST(? IN NATURAL LANGUAGE MODE)', [$level])->whereIn('catid', $categoryIds)->limit($textSize)->orderBy('updated_at', 'desc')->get()->toArray();
@@ -383,7 +395,10 @@ class ClientService implements ClientServiceInterface
                             ->orWhere(function ($subQuery) {
                                 $subQuery->whereNotNull('article_ignore.article_id')
                                 ->where('article_ignore.is_ignore', 0)
-                                ->where('article_ignore.c_show_time', '<=', date('Y-m-d H:i:s'));
+                                ->where(function ($subSubQuery) {
+                                $subSubQuery->where('article_ignore.c_show_time', '<=', date('Y-m-d H:i:s'))
+                                    ->orWhereNull('article_ignore.c_show_time');
+                                });
                             });
                         })
                         // ->select($listType)
@@ -407,7 +422,10 @@ class ClientService implements ClientServiceInterface
                             ->orWhere(function ($subQuery) {
                                 $subQuery->whereNotNull('article_ignore.article_id')
                                 ->where('article_ignore.is_ignore', 0)
-                                ->where('article_ignore.c_show_time', '<=', date('Y-m-d H:i:s'));
+                                ->where(function ($subSubQuery) {
+                                $subSubQuery->where('article_ignore.c_show_time', '<=', date('Y-m-d H:i:s'))
+                                    ->orWhereNull('article_ignore.c_show_time');
+                                });
                             });
                         })
                         ->orderBy('updated_at', 'desc')
@@ -456,7 +474,10 @@ class ClientService implements ClientServiceInterface
                                     ->orWhere(function ($subQuery) {
                                         $subQuery->whereNotNull('article_ignore.article_id')
                                         ->where('article_ignore.is_ignore', 0)
-                                        ->where('article_ignore.c_show_time', '<=', date('Y-m-d H:i:s'));
+                                        ->where(function ($subSubQuery) {
+                                        $subSubQuery->where('article_ignore.c_show_time', '<=', date('Y-m-d H:i:s'))
+                                            ->orWhereNull('article_ignore.c_show_time');
+                                        });
                                     });
                                 })
                                 ->orderBy('updated_at', 'desc')
@@ -496,7 +517,10 @@ class ClientService implements ClientServiceInterface
                                         ->orWhere(function ($subQuery) {
                                             $subQuery->whereNotNull('article_ignore.article_id')
                                             ->where('article_ignore.is_ignore', 0)
-                                            ->where('article_ignore.c_show_time', '<=', date('Y-m-d H:i:s'));
+                                            ->where(function ($subSubQuery) {
+                                            $subSubQuery->where('article_ignore.c_show_time', '<=', date('Y-m-d H:i:s'))
+                                                ->orWhereNull('article_ignore.c_show_time');
+                                            });
                                         });
                                     })
                                     ->limit($imgSize)
@@ -521,7 +545,10 @@ class ClientService implements ClientServiceInterface
                                         ->orWhere(function ($subQuery) {
                                             $subQuery->whereNotNull('article_ignore.article_id')
                                             ->where('article_ignore.is_ignore', 0)
-                                            ->where('article_ignore.c_show_time', '<=', date('Y-m-d H:i:s'));
+                                            ->where(function ($subSubQuery) {
+                                            $subSubQuery->where('article_ignore.c_show_time', '<=', date('Y-m-d H:i:s'))
+                                                ->orWhereNull('article_ignore.c_show_time');
+                                            });
                                         });
                                     })
                                     ->limit($textSize)