wzq il y a 5 ans
Parent
commit
25573ebcfb

+ 18 - 0
app/Http/Controllers/Post/PostController.php

@@ -134,6 +134,24 @@ class PostController extends Controller
         return  $this->postRepository->comment($request->all());
     }
 
+    /**
+     * 增加数据
+     */
+    public function addData(Request $request)
+    {
+        $validator = Validator::make($request->all(), [
+            'post_id' => 'required|exists:post,id',
+            'add_pv' => 'required|integer|min:0',
+            'add_praise_count' => 'required|integer|min:0',
+            'add_collect_count' => 'required|integer|min:0',
+            'add_share_count' => 'required|integer|min:0',
+        ]);
+        if ($validator->fails()) {
+            return $this->response->error($validator->errors()->first(), 500);
+        }
+        return  $this->postRepository->addData($request->all());
+    }
+
     /**
      * 推荐内容
      */

+ 72 - 0
app/Repositories/Post/PostRepository.php

@@ -132,6 +132,78 @@ class PostRepository
         }
     }
 
+    /**
+     * 增加数据
+     */
+    public function addData($request)
+    {
+        $token =  JWTAuth::decode(JWTAuth::getToken());
+        if(!$token || $token['type'] != 1){
+            return Response::create([
+                'message'  => '获取登陆信息失败',
+                'status_code'   => 500
+            ]);
+        }
+        $uid = $token['user']->id;
+        $username = $token['user']->username;
+        //验证小号数量
+
+        $postData = $this->postData->where('post_id', $request['post_id'])->first();
+        if(!$postData){
+            return Response::create([
+                'message'  => '获取内容失败',
+                'status_code'   => 500
+            ]);
+        }
+
+        if($request['add_pv'] == 0 && $request['add_praise_count'] == 0 && $request['add_collect_count'] == 0 && $request['add_share_count'] == 0){
+            return Response::create([
+                'message'  => '增加数据不能同时为0',
+                'status_code'   => 500
+            ]);
+        }
+        $content = '';
+        if($request['add_pv']){
+            $postData->pv += $request['add_pv'];
+            $content .= '浏览数增加'.$request['add_pv'].';';
+        }
+        if($request['add_praise_count']){
+            $postData->praise_count += $request['add_praise_count'];
+            $content .= '点赞数增加'.$request['add_praise_count'].';';
+        }
+        if($request['add_collect_count']){
+            $postData->collect_count += $request['add_collect_count'];
+            $content .= '收藏数增加'.$request['add_collect_count'].';';
+        }
+        if($request['add_share_count']){
+            $postData->share_count += $request['add_share_count'];
+            $content .= '分享数增加'.$request['add_share_count'].';';
+        }
+        DB::beginTransaction();
+        try{
+            $postData->save();
+            $this->postLog->create([
+                'post_id' => $request['post_id'],
+                'uid' => $uid,
+                'username' => $username,
+                'log_type' => 'add_data',
+                'content' => $content
+            ]);
+
+            DB::commit();
+            return Response::create();
+
+        }catch (QueryException $exception){
+            DB::rollBack();
+            Log::debug('内容增加数据:'.$request['post_id'].$exception->getMessage());
+            return Response::create([
+                'message'  => '增加数据失败,请重试',
+                'error' => $exception->getMessage(),
+                'status_code'   => 500
+            ]);
+        }
+    }
+
     /**
      * 评论&回复
      */

+ 5 - 0
resources/lang/zh-CN/validation.php

@@ -100,6 +100,7 @@ return [
     */
 
     'attributes' => [
+        'post_id' => '内容id',
         'uid' => '用户uid',
         'type' => '类型',
         'is_suggest' => '是否推荐',
@@ -111,6 +112,10 @@ return [
         'location' => '位置',
         'imgs' => '图组',
         'imgs.*' => '图集',
+        'add_pv' => '增加浏览量',
+        'add_praise_count' => '增加点赞数',
+        'add_collect_count' => '增加收藏数',
+        'add_share_count' => '增加分享数',
     ],
 
 ];

+ 24 - 20
routes/api.php

@@ -16,29 +16,33 @@ $api = app('Dingo\Api\Routing\Router');
 $api->version('v1', [
     'namespace' => 'App\Http\Controllers',
 ], function ($api) {
-    $api->group(['namespace' => 'Post'], function ($api) {
-        //发布内容
-        $api->post('post', 'PostController@create');
-        //内容列表
-        $api->get('post', 'PostController@index');
-        //内容详情
-        $api->get('post/detail', 'PostController@detail');
-        //推荐内容
-        $api->put('post/suggest', 'PostController@suggest');
-        //删除内容
-        $api->delete('post/delete', 'PostController@delete');
-        //隐藏内容
-        $api->put('post/hide', 'PostController@hide');
-
-        //评论&回复
-        $api->post('post/comment', 'PostController@comment');
-        //删除评论
-        $api->delete('post/comment/delete', 'PostController@commentDelete');
-
-    });
 
     $api->group(['middleware' => 'jwt.chxq_auth'], function ($api) {
         //配置
         $api->get('config', 'ConfigController@index');
+
+        $api->group(['namespace' => 'Post'], function ($api) {
+            //发布内容
+            $api->post('post', 'PostController@create');
+            //内容列表
+            $api->get('post', 'PostController@index');
+            //内容详情
+            $api->get('post/detail', 'PostController@detail');
+            //推荐内容
+            $api->put('post/suggest', 'PostController@suggest');
+            //删除内容
+            $api->delete('post/delete', 'PostController@delete');
+            //隐藏内容
+            $api->put('post/hide', 'PostController@hide');
+
+            //增加数据
+            $api->put('post/addData', 'PostController@addData');
+
+            //评论&回复
+            $api->post('post/comment', 'PostController@comment');
+            //删除评论
+            $api->delete('post/comment/delete', 'PostController@commentDelete');
+
+        });
     });
 });