Переглянути джерело

Merge branch 'kuaiyingyong' into wzq_fix

wangzq 2 роки тому
батько
коміт
f1db823d83

+ 37 - 29
app/Http/Controllers/QuickApp/Book/BookController.php

@@ -215,7 +215,7 @@ class BookController extends BaseController
         }
 
         if($isAuth){
-            $books = $this->getDefaultBanner();
+            $books = $this->getDefaultBanner($reco_banner_type);
         }else{
             $home = config('home.ycsd');
             $banner      = $home['reco_banner'];
@@ -593,8 +593,7 @@ class BookController extends BaseController
                 return response()->success($books);
             }
         }
-
-        $books = $this->getDefaultBanner();
+        $books = $this->getDefaultBanner( ['FEMALE', 'PUBLIC']);
         return response()->success($books);
     }
 
@@ -609,7 +608,8 @@ class BookController extends BaseController
         $distribution_id = $this->distribution_channel_id;
         if(empty($release_type)){
             //默认原banner
-            $banner = $this->getDefaultBanner();
+            // $recom_banner_type =  ['FEMALE', 'PUBLIC'] :  ['FEMALE', 'PUBLIC'];
+            $banner = $this->getDefaultBanner(['FEMALE','PUBLIC']);
             return response()->success($banner);
         }
 
@@ -692,8 +692,10 @@ class BookController extends BaseController
 
         //男女频,书架列表
         $banner = ChannelAdvertService::getAdvertList($distribution_id,$release_type);
+
         if($banner->isEmpty()){
-            $banner = $this->getDefaultBanner();
+            $recom_banner_type = ["PUBLIC",$release_type ==1 ? "MALE" : "FEMALE"];
+            $banner = $this->getDefaultBanner($recom_banner_type);
             return response()->success($banner);
         }
 
@@ -738,9 +740,11 @@ class BookController extends BaseController
      * 默认获取banner
      * @return mixed
      */
-    protected function getDefaultBanner()
+    protected function getDefaultBanner( $reco_banner_type = ['FEMALE', 'PUBLIC'])
     {
-        $reco_banner_type = ['FEMALE', 'PUBLIC'];
+
+
+
         $banner            = (new RecoBannerService)->getByType($reco_banner_type, 2);
         $banner->transform(function ($item) {
             $result    = $this->getBidCidFromUrl($item->redirect_url);
@@ -802,32 +806,36 @@ class BookController extends BaseController
     public function shelfRecom(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()->success([]);
-        }
-        return response()->success([]);
         $user =  (new QappUserService)->getGolableUser();
-        if(isset($user->uid) && !empty($user->uid) && $user->send_order_id  >  0){
-            $bid =  BookConfigService::getAvailableBIdsbyBids([58238,60534,63220,14500,13254,63221,63548,14022,59334,58888,63417,61701],$this->distribution_channel_id,false);
-            if (!empty($bid)){
-                $bid = array_random($bid,4);
-            }
-            $orderRecord = ChapterOrderService::hasUserRecord($user->uid);
-            if($orderRecord && count($bid) >  1){
-                $where = ['is_on_shelf' => [1,2],'bids' => $bid];
-                // $books = BookConfigService::getBooksByIds($bid,[],false);
-                $books = BookConfigService::getBookLists($where,[],false);
-                return response()->collection(new BookTransformer(), $books);
+
+        if (!empty($package) && $package == 'com.beidao.kuaiying.yueai') {
+            if(isset($user->uid) && !empty($user->uid) && $user->send_order_id  >  0){
+                $bid =  BookConfigService::getAvailableBIdsbyBids([58238,60534,63220,14500,13254,63221,63548,14022,59334,58888,63417,61701],$this->distribution_channel_id,false);
+                if (!empty($bid)){
+                    $bid = array_random($bid,4);
+                }
+                $orderRecord = ChapterOrderService::hasUserRecord($user->uid);
+                if($orderRecord && count($bid) >  1){
+                    $where = ['is_on_shelf' => [1,2],'bids' => $bid];
+                    // $books = BookConfigService::getBooksByIds($bid,[],false);
+                    $books = BookConfigService::getBookLists($where,[],false);
+                    return response()->collection(new BookTransformer(), $books);
+                }
             }
+            return response()->success([]);
         }
-        return response()->success([]);
-        $where = ['is_on_shelf' => [2]];
-        $where['channel_id'] = $request->input('distribution_channel_id',0);;
-        $books = BookConfigService::getBooks($where, [], 4);
-        return response()->collection(new BookTransformer(), $books);
+        $where = ['is_on_shelf' => [2],'channel_id' => $this->distribution_channel_id,'is_high_quality' => 1];
+        if (isset($user->uid) && $user->user->sex == 1){
+            $where['channel_name'] = "男频";
+        }else{
+            $where['channel_name'] = "女频";
+        }
+
+        $books = BookConfigService::getBooks($where, [], 3);
+
+        return response()->collection(new BookTransformer(),  $books);
     }
 
 

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

@@ -143,7 +143,7 @@ class ChapterController extends BaseController
                     //     }
                     //
                     // }
-                    $v->next_chapter_status = $v->is_need_charge == true ? 2:1;
+                    $v->next_chapter_status = $this->isSubscribe($v->id,$rules);
                     $v->next_price = $v->price;
 
                     //拆章
@@ -1085,4 +1085,25 @@ class ChapterController extends BaseController
             return  false;
         }
     }
+
+    /*****
+     * 是否订阅
+     * name: isSubscribe
+     * @param $cid
+     * @param $rules
+     * @return int
+     * date 2022/11/02 17:19
+     */
+    private function isSubscribe($cid,$rules): int
+    {
+        if($rules['check'] != 1){
+            return 1;
+        }
+
+        if (empty($rules['paycid']) || !in_array($cid,$rules['paycid'])){
+            return 2;
+        }else{
+            return  1;
+        }
+    }
 }

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

@@ -321,6 +321,7 @@ class BookConfigService
             ->where('book_configs.is_on_shelf',2)
             ->where($where)
             ->whereNotIn('book_configs.cp_source',$hidden_cp)
+            ->where('book_configs.is_high_quality',1)
             ->where('book_categories.pid',$channel)
             ->inRandomOrder()
             ->limit($supplement_count)