Parcourir la source

回收站优化

wzq il y a 5 ans
Parent
commit
381998d1d5

+ 3 - 2
app/Http/Controllers/Post/PostController.php

@@ -75,8 +75,9 @@ class PostController extends Controller
      */
     public function waste(Request $request)
     {
-        return $request;
-        $productList = $this->postRepository->waste($request->all());
+        $params = $request->all();
+        $params['waste'] = 1;
+        $productList = $this->postRepository->lists($params);
         $fractal = new Manager();
         $resource = new Collection($productList, new PostTransformer());
         $resource->setPaginator(new IlluminatePaginatorAdapter($productList));

+ 5 - 63
app/Repositories/Post/PostRepository.php

@@ -286,71 +286,12 @@ class PostRepository
         if(isset($request['sort']) && in_array($request['sort'], ['praise_count', 'share_count', 'pv', 'comment_count', 'create_bean'])){
             $sort = $request['sort'];
         }
-
-        return $this->post
-            ->join('post_data', 'post_data.post_id', '=', 'post.id')
-            ->select('post.*')
-            ->where($where)
-            ->where(function($query) use ($request){
-                if(isset($request['keyword'])){
-                    $query->where('uid', '=', $request['keyword'])
-                        ->orWhere('username', 'like', "%{$request['keyword']}%")
-                        ->orWhere('mobile', 'like', "%{$request['keyword']}%");
-                }
-            })
-            ->where(function($query) use ($request){
-                if(isset($request['created_at'])){
-                    $time = explode('_', $request['created_at']);
-                    $query->whereBetween('post.created_at', $time);
-                }
-            })
-            ->where(function ($query) use ($request){
-                if(isset($request['category_ids']) || isset($request['topic_ids'])){
-                    $ids = [];
-                    if (isset($request['category_ids'])) {
-                        $categoryIds = explode('_', $request['category_ids']);
-                        $ids = $this->categoryTopic->whereIn('category_id', $categoryIds)->pluck('topic_id')->toArray();
-                    }
-                    if (isset($request['topic_ids'])) {
-                        $ids = array_merge($ids, explode('_', $request['topic_ids']));
-                    }
-                    foreach ($ids as $key=>$id) {
-                        if ($key==0) {
-                            $query = $query->whereRaw('FIND_IN_SET('.$id.',topic_ids)');
-                        } else {
-                            $query = $query->orWhereRaw('FIND_IN_SET('.$id.',topic_ids)');
-                        }
-                    }
-                }
-            })
-            ->orderBy($sort,'desc')
-            ->paginate($perPage);
-    }
-
-    /**
-     * 回收站列表
-     */
-    public function waste($request)
-    {
-        $perPage = isset($request['per_page']) ? $request['per_page'] : 20;
-        $where = [];
-        if(isset($request['content'])){
-            $where[] = ['content', 'like', "%{$request['content']}%"];
-        }
-        if(isset($request['is_suggest'])){
-            $where[] = ['is_suggest', $request['is_suggest']];
-        }
-        if(isset($request['type'])){
-            $where[] = ['type', $request['type']];
-        }
-
-        $sort = 'post.id';
-        if(isset($request['sort']) && in_array($request['sort'], ['praise_count', 'share_count', 'pv', 'comment_count', 'create_bean'])){
-            $sort = $request['sort'];
+        $post = $this->post;
+        if(isset($request['waste']) && $request['waste'] == 1){
+            $post = $post->onlyTrashed();
         }
 
-        return $this->post
-            ->onlyTrashed()
+        return $post
             ->join('post_data', 'post_data.post_id', '=', 'post.id')
             ->select('post.*')
             ->where($where)
@@ -389,6 +330,7 @@ class PostRepository
             ->orderBy($sort,'desc')
             ->paginate($perPage);
     }
+    
 
     /**
      * 内容详情