Browse Source

Merge branch 'kuaiyingyong' of iqiyoo:zhuishuyun_wap into wzq_book_list

wangzq 2 năm trước cách đây
mục cha
commit
258fee2065

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

@@ -43,15 +43,20 @@ class BookController extends BaseController
 {
     public function index(Request $request, $bid)
     {
-        $bid       = BookService::decodeBidStatic($bid);
+        $bid       = str_decode($bid);
         $book_info = BookConfigService::getBookById($bid);
         $package     = $request->header('x-package', '');
         if (!$book_info) {
             return response()->error('QAPP_SYS_ERROR');
         }
+        $book_auth = BookConfigService::bookCopyright($bid,$this->distribution_channel_id);
+        if($book_auth == 2){
+            return response()->error('QAPP_OFF_SHELF');
+        }
+
         //yuyuedu、xinghe  快应用这两个cp的书屏蔽下
-        if(in_array($book_info->cp_source,getHiddenCp($package))){
-            return response()->error('QAPP_SYS_ERROR');
+        if(in_array($book_info->cp_source,getHiddenCp($package)) && $book_auth != 1){
+            return response()->error('QAPP_OFF_SHELF');
         }
 
         if($this->distribution_channel_id == 7477 && $bid == 13765){

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

@@ -248,9 +248,14 @@ class ChapterController extends BaseController
             return response()->error('QAPP_SYS_ERROR');
 
         $this->book_info = $book_info;
+        $book_auth = BookConfigService::bookCopyright($bid,$this->distribution_channel_id);
+
+        if($book_auth == 2){
+            return response()->error('QAPP_OFF_SHELF');
+        }
 
         //yuyuedu、xinghe  快应用这两个cp的书屏蔽下 wutong,wutong2,wutong3下所有内容都不放快应用
-        if(in_array($book_info->cp_source,getHiddenCp($package))){
+        if(in_array($book_info->cp_source,getHiddenCp($package)) && $book_auth != 1){
             return response()->error('QAPP_OFF_SHELF');
         }
 

+ 1 - 1
app/Http/Controllers/QuickApp/User/ReadRecordController.php

@@ -98,7 +98,7 @@ class ReadRecordController extends BaseController
 //                            $hidden = array_merge(getHiddenCp(),['lianshang']);
 //                        }
                         $hidden = getHiddenCp($package);
-                        if((!$year_account && !in_array($val->is_on_shelf,[1,2])) || in_array($val->cp_source,$hidden)){
+                        if((!$year_account && !in_array($val->is_on_shelf,[1,2])) || in_array($val->cp_source,$hidden) && BookConfigService::bookCopyright($val->bid,$channel_id)){
                             //获取书籍充值类型
                             $charge_type = $val->charge_type;
                             if($charge_type == 'BOOK'){

+ 20 - 0
app/Modules/Book/Models/BookCopyright.php

@@ -0,0 +1,20 @@
+<?php
+/**
+ * ${CARET} 平台版权书籍白名单
+ * @file:BookCopyright.php
+ * @Created by gnitif
+ * @Date: 2022/11/14
+ * @Time: 16:54
+ */
+
+
+namespace App\Modules\Book\Models;
+
+use Illuminate\Database\Eloquent\Model;
+
+class BookCopyright extends Model
+{
+    protected $table = 'copyright_bids';
+    protected $fillable = ['id','distribution_channel_id','bid','type','plantform','is_enabled'];
+
+}

+ 21 - 0
app/Modules/Book/Services/BookConfigService.php

@@ -11,6 +11,7 @@ namespace App\Modules\Book\Services;
 
 use App\Modules\Book\Models\BookCombinationConfig;
 use App\Modules\Book\Models\BookConfig;
+use App\Modules\Book\Models\BookCopyright;
 use App\Modules\Product\Services\ProductService;
 use App\Modules\Book\Models\Book;
 use App\Modules\Book\Models\BookKeyword;
@@ -358,4 +359,24 @@ class BookConfigService
         }
         return $bid_list->orderBy('recommend_index' ,  'desc')->orderBy("book_configs.is_high_quality",'desc')->orderBy('books.id' ,  'asc')->limit($limit)->pluck('book_configs.bid')->toArray();
     }
+
+    /***
+     * 书籍授权情况 2黑名单 1白名单 其他 无特殊添加
+     * name: bookCopyright
+     * @param mixed $bid
+     * @param mixed $distribution_channel_id
+     * date 2022/11/14 17:16
+     */
+    public static function bookCopyright($bid, $distribution_channel_id = 0)
+    {
+        if ($distribution_channel_id < 1){
+            return 0;
+        }
+        return BookCopyright::where('distribution_channel_id',$distribution_channel_id)
+                ->where('bid',$bid)
+                ->where('is_enabled',1)
+                ->where('platform',"qapp")
+                ->value('type');
+
+    }
 }