Kaynağa Gözat

内容仓储种类

wzq 5 yıl önce
ebeveyn
işleme
2c1011c55e

+ 29 - 0
app/Http/Controllers/ConfigController.php

@@ -132,6 +132,35 @@ class ConfigController extends Controller
             //行为绑定用户
             'behavior_binding_users'=>[
                 0=>'所有用户'
+            ],
+            //内容仓储种类
+            'category_id'=>[
+                1=>'美食',
+                0=>'默认',
+                2=>'萌宠',
+                3=>'影视',
+                4=>'自媒体专栏',
+                5=>'杂谈',
+                6=>'工作',
+                7=>'情感',
+                8=>'游戏杂谈',
+                9=>'默认9',
+                10=>'默认10',
+                11=>'英雄联盟',
+                12=>'默认12',
+                13=>'动漫杂谈',
+                14=>'美图分享',
+                15=>'漫画',
+                16=>'文学',
+                17=>'摄影游戏',
+                18=>'涂鸦',
+                19=>'默认19',
+                20=>'默认20',
+                21=>'默认21',
+                22=>'体育',
+                23=>'国漫.条漫',
+                24=>'默认24',
+                25=>'吐槽',
             ]
         ];
     }

+ 4 - 1
app/Http/Controllers/Post/PostController.php

@@ -358,12 +358,13 @@ class PostController extends Controller
             'start_page' => 'required|integer',
             'end_page' => 'required|integer',
             'size' => 'required|integer',
+            'category_id' => 'required|integer',
         ]);
         if ($validator->fails()) {
             return $this->response->error($validator->errors()->first(), 500);
         }
 
-        return $this->postRepository->createStore($request['start_page'], $request['end_page'], $request['size']);
+        return $this->postRepository->createStore($request['start_page'], $request['end_page'], $request['size'], $request['category_id']);
     }
 
     /**
@@ -379,6 +380,7 @@ class PostController extends Controller
         $data['extra'] = [
             'filters' => [
                 'type',
+                'category_id',
                 'title',
                 'content',
                 'source',
@@ -388,6 +390,7 @@ class PostController extends Controller
                 'id',
                 'source',
                 'type',
+                'category_id',
                 'title',
                 'content',
                 'img',

+ 9 - 4
app/Repositories/Post/PostRepository.php

@@ -1156,11 +1156,11 @@ class PostRepository
     /**
      * 添加网站内容
      */
-    public function createStore($startPage, $endPage, $size)
+    public function createStore($startPage, $endPage, $size, $categoryId)
     {
         set_time_limit(1800);
         for($i=$startPage;$i<=$endPage;$i++){
-            $this->addContent($i, $size);
+            $this->addContent($i, $size, $categoryId);
             usleep(100000);
         }
 
@@ -1169,9 +1169,9 @@ class PostRepository
     /**
      * 获取网站内容
      */
-    public function addContent($page, $size)
+    public function addContent($page, $size, $categoryId)
     {
-        $lists = $this->getAcFunList($page, $size);
+        $lists = $this->getAcFunList($page, $size, $categoryId);
         if(empty($lists)){
             return Response::create([
                 'message' => '获取数据失败',
@@ -1204,6 +1204,7 @@ class PostRepository
                 $storeData = [
                     'source' => 'Acfun',
                     'source_id' => $item['source_id'],
+                    'category_id' => $categoryId,
                     'title' => $item['title'],
                     'content' => $item['content'],
                     'img' => $item['images'][0],
@@ -1292,6 +1293,10 @@ class PostRepository
             $where[] = ['type', $request['type']];
         }
 
+        if (isset($request['category_id'])) {
+            $where[] = ['category_id', $request['category_id']];
+        }
+
         if (isset($request['title'])) {
             $where[] = ['title', 'like', "%{$request['title']}%"];
         }

+ 2 - 2
app/Traits/PostTrait.php

@@ -54,9 +54,9 @@ trait PostTrait
         return $topic;
     }
 
-    public function getAcFunList($page = 1, $size = 10) {
+    public function getAcFunList($page = 1, $size = 10, $categoryId = 25) {
         $client = new \GuzzleHttp\Client();
-        $response = $client->request('get', "https://webapi.acfun.cn/query/article/list?pageNo={$page}&size={$size}", []);
+        $response = $client->request('get', "https://webapi.acfun.cn/query/article/list?pageNo={$page}&size={$size}&realmIds={$categoryId}", []);
         $result = json_decode($response->getBody()->getContents(), true);
         if(isset($result['data']['articleList'])){
             return $result['data']['articleList'];

+ 1 - 0
app/Transformers/Post/PostStoreTransformer.php

@@ -21,6 +21,7 @@ class PostStoreTransformer extends TransformerAbstract
         return [
             'id' => $postStore['id'],
             'type' => $postStore['type'],
+            'category_id' => $postStore['category_id'],
             'source' => $postStore['source'],
             'title' => $postStore['title'],
             'content' => subtext($postStore['content'], 20),

+ 36 - 0
database/migrations/2019_08_26_153616_add_category_id_to_table_post_store.php

@@ -0,0 +1,36 @@
+<?php
+
+use Illuminate\Support\Facades\Schema;
+use Illuminate\Database\Schema\Blueprint;
+use Illuminate\Database\Migrations\Migration;
+
+class AddCategoryIdToTablePostStore extends Migration
+{
+    /**
+     * Run the migrations.
+     *
+     * @return void
+     */
+    public function up()
+    {
+        Schema::table('post_store', function (Blueprint $table) {
+            $table->integer('category_id')
+                ->default(0)
+                ->after('type')
+                ->index('idx_category_id')
+                ->comment('种类');
+        });
+    }
+
+    /**
+     * Reverse the migrations.
+     *
+     * @return void
+     */
+    public function down()
+    {
+        Schema::table('post_store', function (Blueprint $table) {
+            //
+        });
+    }
+}