fly 5 年之前
父节点
当前提交
2c44877632

+ 6 - 7
app/Http/Controllers/QuickApp/Book/BookController.php

@@ -116,8 +116,7 @@ class BookController extends BaseController
         $book_info['last_chapter_is_vip'] = $last_chapter['is_vip'];
         $book_info['is_need_charge'] = $this->isNeedCharge($bid, $last_chapter, $book_info);
         $record = ReadRecordService::getBookReadRecordStatic($this->uid, $bid);
-        if($record)
-        {
+        if ($record) {
             $book_info['record_chapter_id'] = $record['record_chapter_id'];
             $book_info['record_chapter_name'] = $record['record_chapter_name'];
         }
@@ -238,7 +237,7 @@ class BookController extends BaseController
             $reco_banner_type = ['FEMALE', 'PUBLIC'];
             $channel = 2;
         }
-        $books = RecoBannerService::getByTypeStatic($reco_banner_type);
+        $books = RecoBannerService::getByTypeStatic($reco_banner_type, 2);
         $books->transform(function ($item) {
             $result = $this->getBidCidFromUrl($item->redirect_url);
             $item->bid = $result['bid'];
@@ -252,10 +251,10 @@ class BookController extends BaseController
         });
         $result = [
             ['type' => 'reco_banner', 'lable' => '首页banner', 'books' => $books],
-            ['type' => 'hot', 'lable' => '热门推荐', 'books' => collectionTransform(new BookTransformer, BookConfigService::getBooksByIds(RecommendService::getRecommendBooksIds($channel, 'hot')))],
-            ['type' => 'zhibo', 'lable' => '神书直播', 'books' => collectionTransform(new BookTransformer, BookConfigService::getBooksByIds(RecommendService::getRecommendBooksIds($channel, 'live')))],
-            ['type' => 'recom', 'lable' => '编辑推荐', 'books' => collectionTransform(new BookTransformer, BookConfigService::getBooksByIds(RecommendService::getRecommendBooksIds($channel, 'recom')))],
-            ['type' => 'new_recom', 'lable' => '新书推荐', 'books' => collectionTransform(new BookTransformer, BookConfigService::getBooksByIds(RecommendService::getRecommendBooksIds($channel, 'new_recom')))],
+            ['type' => 'hot', 'lable' => '热门推荐', 'books' => collectionTransform(new BookTransformer, BookConfigService::getBooksByIds(RecommendService::getRecommendIdsStatic($channel, 'hot')))],
+            ['type' => 'zhibo', 'lable' => '神书直播', 'books' => collectionTransform(new BookTransformer, BookConfigService::getBooksByIds(RecommendService::getRecommendIdsStatic($channel, 'live')))],
+            ['type' => 'recom', 'lable' => '编辑推荐', 'books' => collectionTransform(new BookTransformer, BookConfigService::getBooksByIds(RecommendService::getRecommendIdsStatic($channel, 'recom')))],
+            ['type' => 'new_recom', 'lable' => '新书推荐', 'books' => collectionTransform(new BookTransformer, BookConfigService::getBooksByIds(RecommendService::getRecommendIdsStatic($channel, 'new_recom')))],
 
         ];
         return response()->success($result);

+ 4 - 3
app/Modules/Book/Services/RecoBannerService.php

@@ -13,16 +13,17 @@ use App\Modules\BaseService;
 use App\Modules\Book\Models\RecoBanner;
 
 /**
- * @method \Illuminate\Support\Collection getByTypeStatic(array $type)
+ * @method \Illuminate\Support\Collection getByTypeStatic(array $reco_type, int $type)
  */
 class RecoBannerService
 {
     use BaseService;
 
-    public function getByType(array $type)
+    public function getByType(array $reco_type, int $type)
     {
-        return RecoBanner::whereIn('reco_type', $type)->where('start_time', '<=', date('Y-m-d H:i:s'))
+        return RecoBanner::whereIn('reco_type', $reco_type)->where('start_time', '<=', date('Y-m-d H:i:s'))
             ->where('end_time', '>=', date('Y-m-d H:i:s'))
+            ->where('type', $type)
             ->select('redirect_url', 'banner_url')
             ->get();
     }

+ 6 - 16
app/Modules/RecommendBook/Models/Recommend.php

@@ -1,28 +1,18 @@
 <?php
+
 /**
  * Created by PhpStorm.
  * User: admin
  * Date: 2018/8/17
  * Time: 11:02
  */
+
 namespace App\Modules\RecommendBook\Models;
 
 use Illuminate\Database\Eloquent\Model;
 
-class Recommend extends Model {
-
+class Recommend extends Model
+{
     protected $table = 'recommend_books';
-    protected $fillable = ['id','bid','channel','sequence','version_id','subject','is_show'];
-
-    public static function getRecommendIds($channel,$type){
-        $recommends = self::where([
-                ['is_show','=',1],
-                ['channel','=',$channel],
-                ['subject','=',$type]
-            ])
-            ->select('bid')
-            ->orderBy('sequence','asc')
-            ->get();
-        return $recommends;
-    }
-}
+    protected $fillable = ['id', 'bid', 'channel', 'sequence', 'version_id', 'subject', 'is_show'];
+}

+ 20 - 11
app/Modules/RecommendBook/Services/RecommendService.php

@@ -1,23 +1,32 @@
 <?php
+
 /**
  * Created by PhpStorm.
  * User: admin
  * Date: 2018/8/20
  * Time: 10:42
  */
+
 namespace App\Modules\RecommendBook\Services;
+
+use App\Modules\BaseService;
 use App\Modules\RecommendBook\Models\Recommend;
 
-class RecommendService {
+/**
+ * @method static array getRecommendIdsStatic(int $channel, string $type)
+ */
+class RecommendService
+{
+    use BaseService;
 
-    public static function getRecommendBooksIds($channel,$type){
-        $recommends = Recommend::getRecommendIds($channel,$type);
-        $res = [];
-        if($recommends){
-            foreach ($recommends as $key=>$value){
-                $res[] =$value['bid'];
-            }
-        }
-        return $res;
+    public function getRecommendIds(int $channel, string $type)
+    {
+        return Recommend::where([
+            ['is_show', '=', 1],
+            ['channel', '=', $channel],
+            ['subject', '=', $type]
+        ])->select('bid')
+            ->orderBy('sequence', 'asc')
+            ->get();
     }
-}
+}