wangzq 2 éve
szülő
commit
987d95874f

+ 5 - 4
app/Http/Controllers/QuickApp/Book/BookController.php

@@ -45,11 +45,12 @@ class BookController extends BaseController
     {
         $bid       = BookService::decodeBidStatic($bid);
         $book_info = BookConfigService::getBookById($bid);
+        $package     = $request->header('x-package', '');
         if (!$book_info) {
             return response()->error('QAPP_SYS_ERROR');
         }
         //yuyuedu、xinghe  快应用这两个cp的书屏蔽下
-        if(in_array($book_info->cp_source,getHiddenCp())){
+        if(in_array($book_info->cp_source,getHiddenCp($package))){
             return response()->error('QAPP_SYS_ERROR');
         }
 
@@ -283,13 +284,13 @@ class BookController extends BaseController
      * 检测并补充不满足条件的书籍id
      * @param $bid_list
      * @param $channel : 频道
-     * @param $package : 频道
+     * @param $package : 包名
      * @return array
      */
 
     private function getCheckBooks($bid_list,$channel,$package,$is_author)
     {
-        $hidden_cp = getHiddenCp();
+        $hidden_cp = getHiddenCp($package);
 //        if(!is_public_package($package)){
 //            $hidden_cp = array_merge($hidden_cp,['lianshang']);
 //        }
@@ -371,7 +372,6 @@ class BookController extends BaseController
     {
         $package     = $request->header('x-package', '');
 
-
         if (in_array($package ,["com.app.kyy.dmzyd","com.app.kyy.tths"])){
             // return  $this->getSpecialLibrary($request);
         }
@@ -427,6 +427,7 @@ class BookController extends BaseController
             $where['cp_source'] = "ycsd";
         }
 
+
         $status = $request->input('status');
         if ($status != '') {
             $where['status'] = $status;

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

@@ -237,6 +237,7 @@ class ChapterController extends BaseController
     public function index(Request $request, $bid, $cid)
     {
         $send_order_id   = $request->header('send_order_id', '');
+        $package     = $request->header('x-package', '');
         //每次绑定用户和派单的关系
         $this->bindSendOrderId($this->uid,$send_order_id);
         $oldbid = $bid;
@@ -249,7 +250,7 @@ class ChapterController extends BaseController
         $this->book_info = $book_info;
 
         //yuyuedu、xinghe  快应用这两个cp的书屏蔽下 wutong,wutong2,wutong3下所有内容都不放快应用
-        if(in_array($book_info->cp_source,getHiddenCp())){
+        if(in_array($book_info->cp_source,getHiddenCp($package))){
             return response()->error('QAPP_OFF_SHELF');
         }
 

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

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

+ 36 - 2
app/Libs/Helpers.php

@@ -789,11 +789,30 @@ function sendNotice($message)
 
 /**
  * 获取隐藏cp
+ * @param string $package  包名/包id/站点id
+ * @param  $type 0 是包名 ;1 是包id;2是站点id
  * @return false|string[]
  */
-function getHiddenCp()
+function getHiddenCp($package = "",$type = 0)
 {
-    return array_filter(explode(',',env('HIDDEN_CP_SOURCE')));
+    if (empty($package)){
+        return array_filter(explode(',',env('HIDDEN_CP_SOURCE')));
+    }
+
+    if ($type == 0){
+        $data = \DB::table('qapp_package_info')->where('package','=',$package)->value('reject_cp');
+    }else if($type == 1){
+        $data = \DB::table('qapp_package_info')->where('id','=',$package)->value('reject_cp');
+    }else if($type == 2) {
+        $data = \DB::table('qapp_package_info')->where('channel_id','=',$package)->value('reject_cp');
+    }else{
+       $data = null;
+    }
+
+    if (empty($data)){
+        return array_filter(explode(',',env('HIDDEN_CP_SOURCE')));
+    }
+    return  explode(',',$data);
 }
 
 /**
@@ -1009,3 +1028,18 @@ if (!function_exists("get_default_public_channel_id")){
         return config("package.default");
     }
 }
+
+
+if(function_exists('get_rejcet_cp_by_package_name')){
+    function get_rejcet_cp($package = "",$isPackageId = 0){
+        if (empty($package)){
+            return  false;
+        }
+
+        if ($isPackageId == 0){
+            $data = \DB::table('qapp_package_info')->where('package','=',$package)->value('cp_author_status');
+        }else{
+            $data = \DB::table('qapp_package_info')->where('id','=',$package)->value('cp_author_status');
+        }
+    }
+}

+ 2 - 2
app/Modules/Book/Models/BookConfig.php

@@ -170,7 +170,7 @@ class BookConfig extends Model
 //        }else{
 //            $res->whereNotIn('book_configs.cp_source',array_merge(getHiddenCp(),['lianshang']));
 //        }
-        $res->whereNotIn('book_configs.cp_source',getHiddenCp());
+        $res->whereNotIn('book_configs.cp_source',getHiddenCp($where['channel_id']??0,2));
 
         return $res->orderBy($order[0], $order[1])->orderBy('book_configs.updated_at', 'desc')->paginate($page_size);
     }
@@ -301,7 +301,7 @@ class BookConfig extends Model
 //            $res->whereNotIn('book_configs.cp_source',array_merge(getHiddenCp(),['lianshang']));
 //        }
 
-        $res->whereNotIn('book_configs.cp_source',getHiddenCp());
+        $res->whereNotIn('book_configs.cp_source',getHiddenCp($where['channel_id']??0,2));
 
         return $res->limit(30)->get();
     }

+ 1 - 1
app/Modules/Book/Services/BookAuditService.php

@@ -121,7 +121,7 @@ class BookAuditService
 
     private static function getCheckBooks($bid_list,$channel,$package,$is_author)
     {
-        $hidden_cp = getHiddenCp();
+        $hidden_cp = getHiddenCp($package);
 //        if(!is_public_package($package)){
 //            $hidden_cp = array_merge($hidden_cp,['lianshang']);
 //        }

+ 2 - 2
app/Modules/Book/Services/BookConfigService.php

@@ -262,7 +262,7 @@ class BookConfigService
 //        }else{
 //            $res->whereNotIn('cp_source',array_merge(getHiddenCp(),['lianshang']));
 //        }
-        $res->whereNotIn('cp_source',getHiddenCp());
+        $res->whereNotIn('cp_source',getHiddenCp($channel_id,2));
         if ($is_external_shelf){
             $res->where('is_on_shelf',2);
         }else{
@@ -284,7 +284,7 @@ class BookConfigService
      */
     public  static  function getCheckBooks($bid_list,$channel,$package,$is_author)
     {
-        $hidden_cp = getHiddenCp();
+        $hidden_cp = getHiddenCp($package);
 //        if(!is_public_package($package)){
 //            $hidden_cp = array_merge($hidden_cp,['lianshang']);
 //        }