浏览代码

Merge branch 'ad-tu' into stabble

onlinetest 6 年之前
父节点
当前提交
78c6971929

+ 33 - 4
app/Http/Controllers/Wap/Order/OrdersController.php

@@ -4,6 +4,8 @@ namespace App\Http\Controllers\Wap\Order;
 
 use App\Http\Controllers\Wap\BaseController;
 use App\Modules\Channel\Services\ChannelService;
+use App\Modules\Cpa\Services\AdvertiseUserQueueService;
+use App\Modules\OfficialAccount\Services\ForceSubscribeService;
 use App\Modules\Statistic\Services\AdVisitStatService;
 use App\Modules\Statistic\Services\DataAnalysisSelectUserService;
 use App\Modules\User\Services\UserService;
@@ -28,7 +30,7 @@ class OrdersController extends BaseController
      * @apiDefine Order 订单
      */
 
-
+    private $force_subscribe_info;
     /**
      * @apiVersion 1.0.0
      * @apiDescription 充值列表
@@ -110,6 +112,7 @@ class OrdersController extends BaseController
 
             }*/
 
+
             foreach ($res as $v) {
                 $intro = [];
                 if ($v->given > 0 && $v->type == 'TICKET_RECHARGE') {
@@ -168,6 +171,7 @@ class OrdersController extends BaseController
                     'intro' => $intro,
                     'intro2' => $intro2,
                     'is_default' => $v->is_default,
+
                 ];
             }
             return response()->success($data);
@@ -259,6 +263,11 @@ class OrdersController extends BaseController
         //yqLog('user')->info('user is ',['user'=>$user]);
         //yqLog('user')->info('user is ',['charge_count'=>$user->charge_count]);
         $data = [];
+        $appad =0;
+        if(in_array($this->distribution_channel_id,explode(',',env('ADS_OPEN_SITE')))){
+            $appad = $this->appad();
+        }
+        //\Log::info('ad-tu:uid:'.$uid.':'.$appad);
         foreach ($res as $v) {
             if ($v->type == 'NEW_USER' && $is_first_recharge) {
                 if (env('NO_NEW_USER_CHARGE') &&
@@ -276,7 +285,8 @@ class OrdersController extends BaseController
                     'first_charge' => true,
                     'today_special' => false,
                     'save_text' => round($v->given / 100, 1) . '元',
-                    'product_id' => $v->id
+                    'product_id' => $v->id,
+                    'show_free_ads'=>$appad
                 ];
                 $data[] = $temp;
             } elseif ($v->type == 'YEAR_ORDER') {
@@ -292,7 +302,8 @@ class OrdersController extends BaseController
                     'first_charge' => false,
                     'today_special' => false,
                     'save_text' => $save_text,
-                    'product_id' => $v->id
+                    'product_id' => $v->id,
+                    'show_free_ads'=>$appad
                 ];
                 $data[] = $temp;
             } else {
@@ -314,7 +325,8 @@ class OrdersController extends BaseController
                     'first_charge' => false,
                     'today_special' => $v->is_default == 1 ? true : false,
                     'save_text' => $save_text,
-                    'product_id' => $v->id
+                    'product_id' => $v->id,
+                    'show_free_ads'=>$appad
                 ];
                 $data[] = $temp;
             }
@@ -696,4 +708,21 @@ class OrdersController extends BaseController
         return 0;
     }
 
+    private function appad(){
+        if(!$this->force_subscribe_info){
+            $this->force_subscribe_info = ForceSubscribeService::forceSubscribeUsersByUid(['uid' => $this->uid]);
+        }
+        if(!$this->force_subscribe_info){
+            return 0;
+        }
+        if($this->force_subscribe_info->subscribe_time &&
+            (time()-strtotime($this->force_subscribe_info->subscribe_time) >=3*86400)
+            && !OrderService::isPaidUser($this->uid) &&
+            (!AdvertiseUserQueueService::getUserAdvertise($this->uid)) &&
+            in_array($this->distribution_channel_id,explode(',',env('ADS_OPEN_SITE')))
+        ){
+            return 1;
+        }
+        return 0;
+    }
 }

+ 39 - 1
app/Http/Controllers/Wap/Web/WelcomeController.php

@@ -7,6 +7,7 @@ use App\Jobs\SendTexts;
 use App\Modules\Activity\Services\ActivitySwitchService;
 use App\Modules\Channel\Services\ChannelActivitiesService;
 use App\Modules\Channel\Services\ChannelService;
+use App\Modules\Cpa\Services\AdvertiseUserQueueService;
 use App\Modules\OfficialAccount\Services\ForceSubscribeService;
 use App\Modules\Statistic\Services\DataAnalysisSelectUserService;
 use App\Modules\Subscribe\Services\OrderService;
@@ -29,6 +30,7 @@ use App\Http\Controllers\Wap\Book\Transformers\BookTransformer;
 class WelcomeController extends BaseController
 {
 
+    private $force_subscribe_info = null;
     /**
      * 首页
      */
@@ -120,6 +122,15 @@ class WelcomeController extends BaseController
             $yctj = true;
             $yctj_url = 'https://m.ycsd.cn/continue';
         }
+        //app广告
+        $add_ad_status=[
+            'appad'=>false,
+            'appad_banner'=>'',
+            'appad_url'=>''
+        ];
+        if(in_array($this->distribution_channel_id,explode(',',env('ADS_OPEN_SITE'))))  {
+              $add_ad_status = $this->appad();
+        }
         $options = json_encode([
             'distribution_channel_id' => (int)$this->distribution_channel_id,
             'send_order_id' => $send_order_id,
@@ -152,7 +163,10 @@ class WelcomeController extends BaseController
             'is_hide_chapter_consume' => $is_hide_chapter_consume,
         	'hide_book_name' => $hide_book_name,
             'yctj'=>$yctj,
-            'yctj_url'=>$yctj_url
+            'yctj_url'=>$yctj_url,
+            'appad'=>$add_ad_status['appad'],
+            'appad_banner'=>$add_ad_status['appad_banner'],
+            'appad_url'=>$add_ad_status['appad_url']
         ]);
         if ($this->uid == env('SPECIAL_USER_LOG', 2)) {
             myLog('special')->info('welcome --------------------------');
@@ -409,6 +423,7 @@ class WelcomeController extends BaseController
         if ($subscribe) return $subscribe;
         //强关公众号名称
         $force_subscribe = ForceSubscribeService::forceSubscribeUsersByUid(['uid' => $this->uid]);
+        $this->force_subscribe_info = $force_subscribe;
         if ($force_subscribe) {
             $force_subscribe_official = DB::table('official_accounts')->where('appid',$force_subscribe->appid)->select('nickname')->first();
             if ($force_subscribe_official) {
@@ -428,6 +443,29 @@ class WelcomeController extends BaseController
         return $title;
     }
 
+
+    private function appad(){
+        if(!$this->force_subscribe_info){
+            $this->force_subscribe_info = ForceSubscribeService::forceSubscribeUsersByUid(['uid' => $this->uid]);
+        }
+        if(!$this->force_subscribe_info){
+            return ['appad'=>false,'appad_banner'=>'','appad_url'=>''];
+        }
+        if($this->force_subscribe_info->subscribe_time &&
+            (time()-strtotime($this->force_subscribe_info->subscribe_time) >=3*86400)
+            && !OrderService::isPaidUser($this->uid) &&
+            !AdvertiseUserQueueService::getUserAdvertise($this->uid) &&
+            in_array($this->distribution_channel_id,explode(',',env('ADS_OPEN_SITE')))
+        ){
+            return [
+                'appad'=>true,
+                'appad_banner'=>'https://cdn-novel.iycdm.com/h5/app-ad-banner.jpg',
+                'appad_url'=>'/advertise/show?uid='.Hashids::encode($this->uid)
+            ];
+        }
+        return ['appad'=>false,'appad_banner'=>'','appad_url'=>''];
+    }
+
     /**
      * 获取客服图片
      */

+ 11 - 1
app/Modules/Cpa/Models/AdvertiseUserQueque.php

@@ -10,10 +10,20 @@ class AdvertiseUserQueque extends Model
     protected $fillable = ['id', 'ad_user_id', 'uid', 'bid', 'advertise_id', 'add_time','status'];
 
     public static function addToQueue($params){
-        return self::updateOrCreate($params);
+        $res = self::where('uid',$params['uid'])
+            ->where('status',1)
+            ->first();
+        if(!$res) {
+            return self::updateOrCreate($params);
+        }
+        return false;
     }
 
     public static function getUserAdvertiseSubscribe($uid,$bid){
         return self::where('uid',$uid)->where('bid',$bid)->where('status',1)->first();
     }
+
+    public static function getUserAdvertise($uid) {
+        return self::where('uid',$uid)->where('status',1)->first();
+    }
 }

+ 4 - 0
app/Modules/Cpa/Services/AdvertiseUserQueueService.php

@@ -20,4 +20,8 @@ class AdvertiseUserQueueService
     public static function getUserAdvertiseSubscribe($uid,$bid) {
         return AdvertiseUserQueque::getUserAdvertiseSubscribe($uid,$bid);
     }
+
+    public static function getUserAdvertise($uid){
+        return AdvertiseUserQueque::getUserAdvertise($uid);
+    }
 }

+ 1 - 1
resources/views/wap/advertise.blade.php

@@ -7,7 +7,7 @@
           content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no0"
   />
   <meta http-equiv="X-UA-Compatible" content="ie=edge" />
-  <title>Document</title>
+  <title>全本免费看</title>
   <style>
     html,
     body {

文件差异内容过多而无法显示
+ 4 - 27
resources/views/wap/index.blade.php