瀏覽代碼

修改申请加入的接口--(规章制度通用)

FengR 1 月之前
父節點
當前提交
67f3bc2007
共有 1 個文件被更改,包括 39 次插入37 次删除
  1. 39 37
      app/JsonRpc/WebService.php

+ 39 - 37
app/JsonRpc/WebService.php

@@ -3958,51 +3958,53 @@ class WebService implements WebServiceInterface
    */
   public function getWebsiteApplyJoin(array $data): array
   {
-    $web = Website::where('id', $data['website_id'])->first();
+    $web = Website::where('id',$data['website_id'])->first();
     if (empty($web)) {
       return Result::error("暂无相关网站信息", 0);
     }
-    $category = WebsiteCategory::where('category_id', $data['category_id'])->first();
+    $category = WebsiteCategory::where('category_id',$data['category_id'])->first();
     if (empty($category)) {
       return Result::error("暂无相关栏目信息", 0);
     }
-    $child_cate = WebsiteCategory::where('website_category.pid', $category['category_id'])
+    $child_cate = WebsiteCategory::where('website_category.website_id', $data['website_id'])
+      ->when(isset($data['is_rule']) && $data['is_rule'] == 1, function ($query) use ($data) {
+          $query->where(function ($subQuery) use ($data) {
+              $subQuery->where('website_category.pid', $data['category_id'])
+              ->orWhere('website_category.category_id', $data['category_id']);
+          });
+        })
+      ->when(!isset($data['is_rule']) || $data['is_rule'] != 1, function ($query) use ($data) {
+          $query->where('website_category.pid', $data['category_id']);
+        })
       ->with(['cate_article' => function ($query) use ($data) {
-        $query->where('article.status', 1)
-          ->leftJoinSub(function ($query) use ($data) {
-            $query->from('article_ignore')
-              ->where('website_id', $data['website_id']);
-          }, 'article_ignore', function ($join) {
-            $join->on('article_ignore.article_id', '=', 'article.id');
-          })
-          ->where(function ($query) {
-            $query->whereNull('article_ignore.article_id')
-              ->orWhere(function ($subQuery) {
-                $subQuery->whereNotNull('article_ignore.article_id')
-                  ->where('article_ignore.is_ignore', 0)
-                  ->where(function ($subSubQuery) {
-                    $subSubQuery->where('article_ignore.c_show_time', '<=', date('Y-m-d H:i:s'))
-                      ->orWhereNull('article_ignore.c_show_time');
-                  });
+          $query->where('article.status',1)
+            ->when($data['category_id'] == 'article.catid', function ($query) use ($data) {
+                $query->where('article.level','like','%8%');
               })
-              ->orderBy('article.updated_at', 'desc')
-              ->select(
-                'article.id',
-                'article.title',
-                'article.imgurl',
-                'article.author',
-                'article.updated_at',
-                'article.introduce',
-                'article.islink',
-                'article.linkurl',
-                'article.copyfrom',
-                'article.cat_arr_id',
-                'article.catid'
-              );
-          });
-      }])
-      ->select('website_category.alias', 'website_category.path', 'website_category.category_id')
-      ->orderBy('website_category.sort', 'asc')
+            ->leftJoinSub(function ($query) use ($data) {
+                $query->from('article_ignore')
+                  ->where('website_id',$data['website_id']);
+              }, 'article_ignore', function ($join) {
+                $join->on('article_ignore.article_id', '=', 'article.id');
+              })
+            ->where(function ($query) {
+              $query->whereNull('article_ignore.article_id')
+                ->orWhere(function ($subQuery) {
+                  $subQuery->whereNotNull('article_ignore.article_id')
+                    ->where('article_ignore.is_ignore', 0)
+                    ->where(function ($subSubQuery) {
+                      $subSubQuery->where('article_ignore.c_show_time', '<=', date('Y-m-d H:i:s'))
+                        ->orWhereNull('article_ignore.c_show_time');
+                    });
+                })
+                ->orderBy('article.updated_at', 'desc')
+                ->select('article.id', 'article.title', 'article.imgurl', 'article.author',
+                'article.updated_at', 'article.introduce', 'article.islink', 'article.linkurl',
+                 'article.copyfrom', 'article.cat_arr_id', 'article.catid');
+            });
+        }])
+      ->select('website_category.alias','website_category.path','website_category.category_id')
+      ->orderBy('website_category.sort','asc')
       ->get()->all();
     if (empty($child_cate)) {
       return Result::error("暂无相关子栏目信息", 0);