Procházet zdrojové kódy

qapp vip sequence and price

zz před 2 roky
rodič
revize
9fe35949cb

+ 13 - 0
app/Http/Controllers/QuickApp/BaseController.php

@@ -2,6 +2,7 @@
 
 namespace App\Http\Controllers\QuickApp;
 
+use App\Modules\SendOrder\Models\QappSendOrder;
 use App\Modules\User\Models\User;
 use App\Modules\User\Services\QappUserService;
 use App\Modules\User\Services\ReadRecordService;
@@ -20,6 +21,7 @@ use Illuminate\Routing\Controller;
 class BaseController extends Controller
 {
     private $field = [];
+    protected $account_send_order;
 
     public function __get($name)
     {
@@ -55,4 +57,15 @@ class BaseController extends Controller
         }
         return  $this->field[$name];
     }
+
+    protected function getNowSendOrderInfo(){
+        $send_order_id =   $this->send_order_id;
+        if(!$send_order_id){
+           return null;
+        }
+        if(!$this->account_send_order){
+            $this->account_send_order = QappSendOrder::getSendOrderById($send_order_id);
+        }
+        return $this->account_send_order;
+    }
 }

+ 7 - 7
app/Http/Controllers/QuickApp/Book/ChapterController.php

@@ -63,8 +63,10 @@ class ChapterController extends BaseController
     {
         // 查询书籍是否限免
         $isFree = BookConfigService::judgeBookIsFree($bid);
+
         //渠道自定义vip章节
-        $vip_sequence = Redis::hget('channel:chapterfee:setting:' . $this->distribution_channel_id, $bid);
+        //$vip_sequence = Redis::hget('channel:chapterfee:setting:' . $this->distribution_channel_id, $bid);
+        $vip_sequence = BookService::getVipSequence($bid,$this->distribution_channel_id,$this->send_order_id);
         list($is_split,$is_change_chapter_name) = BookService::splitContent($bid);
         $change_chapter_name = 0;
         if($is_split && ($book_info->channel_name == '男频' || $is_change_chapter_name) ){
@@ -199,7 +201,8 @@ class ChapterController extends BaseController
             dispatch($job)->onConnection('rabbitmq')->onQueue('user_rentention_queue');
         }
         //自定义vip章节
-        $vip_sequence = Redis::hget('channel:chapterfee:setting:' . $this->distribution_channel_id, $bid);
+        //$vip_sequence = Redis::hget('channel:chapterfee:setting:' . $this->distribution_channel_id, $bid);
+        $vip_sequence = BookService::getVipSequence($bid,$this->distribution_channel_id,$this->send_order_id);
         if($vip_sequence){
             if($chapter->sequence >= $vip_sequence){
                 $chapter->is_vip = 1;
@@ -706,13 +709,10 @@ class ChapterController extends BaseController
         } else {
             // 获取投放后台账号, 
             $account = '';
-            if(isset($this->user_info->send_order_id) && $this->user_info->send_order_id){
-                $account_send_order = QappSendOrder::getSendOrderById($this->user_info->send_order_id);
+            $account_send_order = $this->getNowSendOrderInfo();
+            if($account_send_order){
                 $account = isset($account_send_order['account'])?$account_send_order['account']:'';
-                
-                //\Log::info('getPrice:'.$this->uid.' account:'.$account.' send_order_id:'.$this->user_info->send_order_id);
             }
-            
             $fee = BookService::getPrice($book_info, $this->distribution_channel_id, $chapter_size,$account);
             return $fee;
         }

+ 4 - 1
app/Modules/Book/Services/BookService.php

@@ -80,7 +80,10 @@ class BookService
         $account_send_order = QappSendOrder::getSendOrderById($send_order_id);
         $key = 'channel:chapterfee:setting:' . $distribution_channel_id;
         if($account_send_order){
-            $key = 'channel:chapterfee:setting:' . $distribution_channel_id.':'.$account_send_order->account;
+            $account = isset($account_send_order['account'])?$account_send_order['account']:'';
+            if($account){
+                $key = 'channel:chapterfee:setting:' . $distribution_channel_id.':'.$account;
+            }
         }
         return Redis::hget($key, $bid);
     }