Kaynağa Gözat

Merge remote-tracking branch 'origin/kuaiyingyong' into kuaiyingyong

zz 3 yıl önce
ebeveyn
işleme
1b422a74af

+ 51 - 8
app/Http/Controllers/QuickApp/Book/BookController.php

@@ -6,6 +6,7 @@ use App\Libs\Utils;
 use App\Modules\Book\Services\BookAuditService;
 use App\Modules\RecommendBook\Services\RecommendService;
 use App\Modules\Book\Services\RecoBannerService;
+use App\Modules\User\Services\QappUserService;
 use Illuminate\Http\Request;
 use App\Http\Controllers\QuickApp\BaseController;
 use App\Http\Controllers\QuickApp\Book\Transformers\BookTransformer;
@@ -192,20 +193,62 @@ class BookController extends BaseController
             }
             return $item;
         });
+        $user =  (new QappUserService)->getGolableUser();
+        if(isset($user->uid) && !empty($user->uid)){
 
-        $hotBids   = RecommendService::getRecommendIdsStatic($channel, 'hot');
-        $liveBids  = RecommendService::getRecommendIdsStatic($channel, 'live');
-        $recomBids = RecommendService::getRecommendIdsStatic($channel, 'recom');
-        $newBids   = RecommendService::getRecommendIdsStatic($channel, 'new_recom');
+            if(!$this->send_order_id || $this->send_order_id == 0 ){
+                \Log::info('un_send_order_book:uid:'.$this->uid);
+                $result = $this->getCheckBids($channel,$books);
+                return response()->success($result);
+            }
+            $hotBids   = RecommendService::getRecommendIdsStatic($channel, 'hot');
+            $liveBids  = RecommendService::getRecommendIdsStatic($channel, 'live');
+            $recomBids = RecommendService::getRecommendIdsStatic($channel, 'recom');
+            $newBids   = RecommendService::getRecommendIdsStatic($channel, 'new_recom');
+
+            $result = [
+                ['type' => 'reco_banner', 'lable' => '首页banner', 'books' => $books],
+                ['type' => 'hot', 'lable' => '热门推荐', 'books' => collectionTransform(new BookTransformer, BookConfigService::getBooksByIds($hotBids))],
+                ['type' => 'zhibo', 'lable' => '神书直播', 'books' => collectionTransform(new BookTransformer, BookConfigService::getBooksByIds($liveBids))],
+                ['type' => 'recom', 'lable' => '编辑推荐', 'books' => collectionTransform(new BookTransformer, BookConfigService::getBooksByIds($recomBids))],
+                ['type' => 'new_recom', 'lable' => '新书推荐', 'books' => collectionTransform(new BookTransformer, BookConfigService::getBooksByIds($newBids))],
+            ];
+            return response()->success($result);
+        }
+
+        $result = $this->getCheckBids($channel,$books);
+        return response()->success($result);
+
+    }
 
-        $result = [
+    /**
+     *
+     * @param $channel
+     * @param $books
+     * @return array
+     */
+    private function getCheckBids($channel,$books)
+    {
+        if($channel == 1){
+            $hotBids = [13577,16712,13336,12717,15103,13928];
+            $liveBids = [14793,12708,13286,13002,14004,13073];
+            $recomBids = [15121,13929,13275,13254,14072,10313];
+            $newBids = [3483,13278,12693,4098,10378,3526];
+        }else{
+            $hotBids   = RecommendService::getRecommendIdsStatic($channel, 'hot');
+            $liveBids  = RecommendService::getRecommendIdsStatic($channel, 'live');
+            $recomBids = RecommendService::getRecommendIdsStatic($channel, 'recom');
+            $newBids   = RecommendService::getRecommendIdsStatic($channel, 'new_recom');
+            $newBids   = array_replace($newBids,[array_search('13563',$newBids) => 10721]);
+        }
+        return array_filter([
             ['type' => 'reco_banner', 'lable' => '首页banner', 'books' => $books],
             ['type' => 'hot', 'lable' => '热门推荐', 'books' => collectionTransform(new BookTransformer, BookConfigService::getBooksByIds($hotBids))],
             ['type' => 'zhibo', 'lable' => '神书直播', 'books' => collectionTransform(new BookTransformer, BookConfigService::getBooksByIds($liveBids))],
             ['type' => 'recom', 'lable' => '编辑推荐', 'books' => collectionTransform(new BookTransformer, BookConfigService::getBooksByIds($recomBids))],
-            ['type' => 'new_recom', 'lable' => '新书推荐', 'books' => collectionTransform(new BookTransformer, BookConfigService::getBooksByIds($newBids))],
-        ];
-        return response()->success($result);
+            ['type' => 'new_recom', 'lable' => '新书推荐', 'books' => collectionTransform(new BookTransformer, BookConfigService::getBooksByIds($newBids))]
+        ]);
+
     }
 
 

+ 2 - 1
app/Http/Kernel.php

@@ -48,6 +48,7 @@ class Kernel extends HttpKernel
     protected $routeMiddleware = [
         'throttle'  => \Illuminate\Routing\Middleware\ThrottleRequests::class,
         'checkSign' => \App\Http\Middleware\CheckSign::class,
-        'userstatus'=> \App\Http\Middleware\QuickAppUserStatus::class
+        'userstatus'=> \App\Http\Middleware\QuickAppUserStatus::class,
+        'userrefresh'=> \App\Http\Middleware\QuickAppUserInfoRefresh::class
     ];
 }

+ 45 - 0
app/Http/Middleware/QuickAppUserInfoRefresh.php

@@ -0,0 +1,45 @@
+<?php
+
+namespace App\Http\Middleware;
+
+use App\Modules\SendOrder\Services\SendOrderService;
+use App\Modules\User\Services\QappUserService;
+use App\Modules\User\Services\UserService;
+use Closure;
+use Exception;
+use Tymon\JWTAuth\Middleware\BaseMiddleware;
+
+class QuickAppUserInfoRefresh extends BaseMiddleware
+{
+    /**
+     * Handle an incoming request.
+     *
+     * @param  \Illuminate\Http\Request  $request
+     * @param  \Closure  $next
+     * @return mixed
+     */
+    public function handle($request, Closure $next)
+    {
+        // 获取头部信息
+        $package     = $request->header('x-package', '');
+
+        // 判断是否登录
+        $token = $this->auth->setRequest($request)->getToken();
+        if ($token) {
+
+            try {
+                //获取用户信息
+                $user = $this->auth->authenticate($token);
+
+                // 设置全局信息
+                (new QappUserService)->setGolableUser($user->id, $package);
+            } catch (\Exception $e) {
+                \Log::info('book_list_user_info_error:');
+                \Log::info($e->getMessage());
+            }
+
+        }
+
+        return $next($request);
+    }
+}

+ 4 - 2
app/Http/Routes/QuickApp/QuickAppRoutes.php

@@ -21,8 +21,10 @@ Route::group(['domain' => env('QUICKAPP_DOMAIN'), 'namespace' => 'App\Http\Contr
     // 无需登录的接口
     Route::group(['prefix' => 'api'], function () {
 
-        // 首页
-        Route::get('books/{sex}/index', 'Book\BookController@getBookLists');
+        Route::middleware(['userrefresh'])->group(function (){
+            // 首页
+            Route::get('books/{sex}/index', 'Book\BookController@getBookLists');
+        });
 
         // 书库
         Route::get('books/library', 'Book\BookController@library');

+ 2 - 0
app/Modules/User/Services/QappUserService.php

@@ -134,6 +134,7 @@ class QappUserService
 
     public function setGolableUser(int $uid, string $package)
     {
+        \Log::info('setGolableUser:'.$uid);
         $user_info                     = $this->getQAppUserByUid($uid, $package);
         $qapp_user                     = app()->make('qapp_user');
         $qapp_user->id                 = $user_info->id;
@@ -147,6 +148,7 @@ class QappUserService
         $qapp_user->h5_pay_merchat_id  = $user_info->h5_pay_merchat_id;
         $qapp_user->ali_pay_merchat_id = $user_info->ali_pay_merchat_id;
         $qapp_user->status             = $user_info->status;
+//        \Log::info('setGolableUser_uid:'.$uid.' data:'.json_encode($this->getGolableUser()));
     }
 
     /**