zhuchengjie 2 년 전
부모
커밋
bd41a4f33f

+ 39 - 15
app/Http/Controllers/QuickApp/Book/BookController.php

@@ -177,16 +177,21 @@ class BookController extends BaseController
         $brand       = $request->header('x-nbrand', '');
         $codeVersion = $request->header('x-codeversion', '');
         $isAuth = check_qapp_auth($package ,0);
-        $send_order_id = $request->header('send-order-id', 0);
         // 根据包名、平台、版本号判断是否审核
         if (Utils::checkIsAudit($package, $brand, $codeVersion) || $isAuth == false) {
             $result = BookAuditService::getHomeBooksData($sex, $package,$isAuth);
             return response()->success($result);
         }
-        if($send_order_id >  0 && $package == "com.beidao.kuaiying.yueai" && $sex == "male"){
-            $result  = BookAuditService::getYueaiHomeBooksData($sex, $package,$isAuth,1);
-            return  response()->success($result);
+        $user =  (new QappUserService)->getGolableUser();
+        if($package == "com.beidao.kuaiying.yueai" && $sex == "male" && isset($user->uid) && !empty($user->uid) &&  $user->send_order_id  >  0){
+
+            $orderRecord = ChapterOrderService::hasUserRecord($user->uid);
+            if($orderRecord){
+                $result  = BookAuditService::getYueaiHomeBooksData($sex, $package,$isAuth,1);
+                return  response()->success($result);
+            }
         }
+
         if ($sex == 'male') {
             $channel          = 1;
             $reco_banner_type = ['MALE', 'PUBLIC'];
@@ -228,7 +233,7 @@ class BookController extends BaseController
         }
 
         \Log::info('un_send_order_book:package_id1:'.$package_id.' $package:'.$package);
-        $user =  (new QappUserService)->getGolableUser();
+
         if(isset($user->uid) && !empty($user->uid)){
             if(!$this->send_order_id || $this->send_order_id == 0 ){
                 \Log::info('un_send_order_book:uid:'.$this->uid.' $package:'.$package);
@@ -602,16 +607,24 @@ class BookController extends BaseController
 
     public function yueaiBackRecom(Request $request)
     {
-
-        $category_id = $request->input('category_id');
-        $bid         = $request->input('bid');
         $package     = $request->header('x-package', '');
         if (empty($package) || $package != 'com.beidao.kuaiying.yueai') {
-            return response()->error('PARAM_ERROR');
+            return response()->success([]);
         }
-        $bid =  [58238,60534,63220,12587,63221,63548,14022,59334,58888,63417,61701];
-        $bid = array_random($bid,4);
-        $books = BookConfigService::getBooksByIds($bid,[],false);
+        $user =  (new QappUserService)->getGolableUser();
+        if(isset($user->uid) && !empty($user->uid) && $user->send_order_id >  0){
+            $orderRecord = ChapterOrderService::hasUserRecord($user->uid);
+            if($orderRecord){
+                $bid =  [58238,60534,63220,14500,13254,63221,63548,14022,59334,58888,63417,61701];
+                $bid = array_random($bid,4);
+                $books = BookConfigService::getBooksByIds($bid,[],false);
+                return response()->collection(new BookTransformer(), $books);
+            }
+        }
+        return response()->success([]);
+        $where = ['is_on_shelf' => [2]];
+        $where['channel_id'] = ($package === 'com.beidao.kuaiying.zsy') ? 7477 : 0;
+        $books = BookConfigService::getBooks($where, [], 4);
         return response()->collection(new BookTransformer(), $books);
     }
 
@@ -624,9 +637,20 @@ class BookController extends BaseController
         if (empty($package) || $package != 'com.beidao.kuaiying.yueai') {
             return response()->success([]);
         }
-        $bid =  [58238,60534,63220,12587,63221,63548,14022,59334,58888,63417,61701];
-        $bid = array_random($bid,4);
-        $books = BookConfigService::getBooksByIds($bid,[],false);
+        $user =  (new QappUserService)->getGolableUser();
+        if(isset($user->uid) && !empty($user->uid) && $user->send_order_id  >  0){
+            $orderRecord = ChapterOrderService::hasUserRecord($user->uid);
+            if($orderRecord){
+                $bid =  [58238,60534,63220,14500,13254,63221,63548,14022,59334,58888,63417,61701];
+                $bid = array_random($bid,4);
+                $books = BookConfigService::getBooksByIds($bid,[],false);
+                return response()->collection(new BookTransformer(), $books);
+            }
+        }
+        return response()->success([]);
+        $where = ['is_on_shelf' => [2]];
+        $where['channel_id'] = ($package === 'com.beidao.kuaiying.zsy') ? 7477 : 0;
+        $books = BookConfigService::getBooks($where, [], 4);
         return response()->collection(new BookTransformer(), $books);
     }
 

+ 3 - 1
app/Http/Controllers/QuickApp/Book/ChapterController.php

@@ -199,6 +199,7 @@ class ChapterController extends BaseController
         $this->book_info = $book_info;
         //获取章节信息
         $chapter = ChapterService::getChapterNameById($cid, $bid);
+
         if (!$chapter) {
             //短推长
             $combination_chapter = $this->chapterNotExists($bid,$cid);
@@ -212,6 +213,7 @@ class ChapterController extends BaseController
                 return response()->error('QAPP_SYS_ERROR');
             }
         }
+
         list($is_split,$is_change_chapter_name) = BookService::splitContent($bid);
         if($is_split && ($book_info->channel_name == '男频' || $is_change_chapter_name) ){
             $chapter->name = '第'.$chapter->sequence.'章';
@@ -246,7 +248,7 @@ class ChapterController extends BaseController
                 'uid' => $this->uid, 'bid' => $bid, 'book_name' => $book_info->book_name,
                 'cid' => $cid, 'chapter_name' => $chapter->name, 'sequence' => $chapter->sequence
             ]);
-            return response()->item(new ChapterTransformer, $this->getChapter($bid, $cid, $chapter));
+            return response()->item(new ChapterTransformer, $this->getChapter($bid, $chapter->id, $chapter));
         }
 
         // 书籍是否限免

+ 8 - 3
app/Http/Routes/QuickApp/QuickAppRoutes.php

@@ -61,6 +61,8 @@ Route::group(['domain' => env('QUICKAPP_DOMAIN'), 'namespace' => 'App\Http\Contr
 
             //阅读记录
             Route::get('readrecord', 'User\ReadRecordController@index');
+            // 最后阅读
+            Route::get('lastreadrecord', 'User\ReadRecordController@lastReadRecord');
         });
 
         //限免
@@ -75,9 +77,13 @@ Route::group(['domain' => env('QUICKAPP_DOMAIN'), 'namespace' => 'App\Http\Contr
         Route::get('books/recommen_yueai', 'Book\BookController@recommenYueAi');
         // 书籍推荐书籍
         Route::get('books/shelf_recom', 'Book\BookController@shelfRecom');
+
         //新书籍推荐
         Route::get('books/recommend_books', 'Book\BookController@recommend_books');
 
+        //阅爱小说返回推荐书单
+        Route::get('books/back_recom_yueai', 'Book\BookController@yueaiBackRecom');
+
         //阅读完后的推荐
         Route::get('books/readOverRecommend', 'Book\BookController@readOverRecommend');
         //图书详情
@@ -196,9 +202,6 @@ Route::group(['domain' => env('QUICKAPP_BACK_DOMAIN'), 'namespace' => 'App\Http\
         // 相似推荐
         Route::get('books/similar', 'Book\BookController@similarRecom');
 
-        //阅爱小说返回推荐书单
-        Route::get('books/back_recom_yueai', 'Book\BookController@yueaiBackRecom');
-
         //排行榜
         Route::get('books/rank', 'Book\BookController@rank');
     });
@@ -216,6 +219,8 @@ Route::group(['domain' => env('QUICKAPP_BACK_DOMAIN'), 'namespace' => 'App\Http\
         Route::get('books/recommen_yueai', 'Book\BookController@recommenYueAi');
         // 书籍推荐书籍
         Route::get('books/shelf_recom', 'Book\BookController@shelfRecom');
+        //阅爱小说返回推荐书单
+        Route::get('books/back_recom_yueai', 'Book\BookController@yueaiBackRecom');
         //阅读完后的推荐
         Route::get('books/readOverRecommend', 'Book\BookController@readOverRecommend');
         //图书详情

+ 25 - 2
app/Modules/Book/Services/ChapterService.php

@@ -110,8 +110,12 @@ class ChapterService
     public static function getChapterNameById($chapter_id,$bid)
     {
         $chapter = Chapter::getChapterNameById($chapter_id);
-        if($chapter && $chapter->bid == $bid){
-            return $chapter;
+        if ($chapter){
+            if ($chapter->bid == $bid){
+                return $chapter;
+            }else if (abs($chapter->bid) == $bid && $chapter->bid != $bid){
+                return  self::realChapterNameById($chapter,$bid);
+            }
         }
         return false;
     }
@@ -427,4 +431,23 @@ class ChapterService
         }
     }
 
+    /***
+     * 根据章节序号获取章节信息没有内容
+     * name: realChapterNameById
+     * @param $chapter
+     * @param $bid
+     * @return false
+     * date 2022/08/24 11:00
+     */
+    private static function realChapterNameById($chapter, $bid)
+    {
+        $sequence = $chapter['sequence'] ?? 0;
+        $new_chapter = Chapter::where('bid',$bid)->where('sequence','>=',$sequence)->orderBy('sequence','asc')->select('id','bid','name','sequence','size','is_vip','prev_cid','next_cid','recent_update_at')->first();
+        if ($new_chapter){
+            return $new_chapter;
+        }
+        return  false;
+    }
+
+
 }

+ 17 - 0
app/Modules/Subscribe/Services/ChapterOrderService.php

@@ -226,4 +226,21 @@ class ChapterOrderService
         return $count;
     }
 
+    //判断用户是否订阅过章节
+    public static function hasUserRecord($uid)
+    {
+        if ($uid <  1){
+            return  false;
+        }
+        $chapter_model = new ChapterOrder();
+        $chapter_model->setCurrentTable($uid);
+        $recode = $chapter_model->where('uid', $uid)
+            ->where('fee','>',0)->first();
+        if (!empty($recode)){
+            return true;
+        }else{
+            return  false;
+        }
+    }
+
 }