فهرست منبع

Merge branch 'stabble' into order_times

zz 6 سال پیش
والد
کامیت
83fc6b86b6

+ 15 - 0
app/Http/Controllers/Wap/Advertises/AdvertiseController.php

@@ -151,4 +151,19 @@ class AdvertiseController extends BaseController
         DB::table('advertise_access_rec')->insert($params);
         return response()->success();
     }
+
+    
+    public function pddAd(Request $request){
+        if($this->uid){
+            try{
+                Redis::sadd('pddad:uv:'.date('Y-m-d'),$this->uid);
+            }catch (\Exception $e){}
+        }
+        $links = [
+            '2019041501'=>'https://mobile.yangkeduo.com/duo_brand_sales.html?pid=8571127_60403841&cpsSign=CM8571127_60403841_29e8aa97a487aa94a63fd31f45da38cf&duoduo_type=2',
+            '2019041502'=>'https://mobile.yangkeduo.com/duo_nine_nine.html?pid=8571127_60403841&cpsSign=CM8571127_60403841_d766485b4f32d85c227b4cefd604a02d&duoduo_type=2'
+        ];
+        $link_key = $request->get('link','2019041501');
+        return redirect()->to($links[$link_key]);
+    }
 }

+ 4 - 3
app/Http/Controllers/Wap/Advertises/ShareController.php

@@ -94,6 +94,7 @@ class ShareController extends BaseController
 
     public function jump(Request $request){
         $distribution_channel_id = $request->input('distribution_channel_id',0);
+        //$distribution_channel_id = decodeDistributionChannelId($distribution_channel_id);
         $uid = $request->input('uid','');
         $cid = $request->input('cid','');
         $bid_encode = $request->input('bid','');
@@ -106,9 +107,9 @@ class ShareController extends BaseController
         $bid=$bid_encode;
         $sign_str = arr_to_url(compact('distribution_channel_id','uid','cid','bid','share_user_id','timestamp'));
         $my_sign = md5($sign_str);
-        if($sign != $my_sign) {
+        /*if($sign != $my_sign) {
             return response()->error('WAP_SIGN_ERROR');
-        }
+        }*/
         $bid = Hashids::decode($bid_encode)[0];
         $buid = $this->uid;
         $data = compact('uid','bid','cid','share_user_id','buid');
@@ -158,7 +159,7 @@ class ShareController extends BaseController
             $url_format,
             env('PROTOCOL'),
             //TODO 上线时改成加密
-            $distribution_channel_id,//encodeDistributionChannelId($distribution_channel_id),
+            encodeDistributionChannelId($distribution_channel_id),
             env('CUSTOM_HOST')
         );
         $link .= 'share/jump?'.$sign_str.'&sign='.$sign;

+ 8 - 8
app/Http/Controllers/Wap/Book/ChapterController.php

@@ -778,7 +778,7 @@ class ChapterController extends BaseController
         //#短篇推送长篇需求#
         //$this->shortPushLong();
         //#短推长、短推短对比
-        $this->shortPushshort();
+        //$this->shortPushshort();
         //阅读器分享
         $this->share();
         //广告
@@ -812,7 +812,8 @@ class ChapterController extends BaseController
         //阅读底部强关图片 只有123有
         $this->chapter->is_had_subscribe = 0;
         //广告
-        $this->chapter->is_show_ad = 0;
+        $this->chapter->is_show_ad = 0;//可不可点击
+        $this->chapter->is_visiable_ad = 0;//可不可显示
     }
 
     private function sign()
@@ -871,10 +872,6 @@ class ChapterController extends BaseController
         return false;
     }
 
-    private function getOfficialAccountForceReadNotice()
-    {
-
-    }
 
     //强关页面的统计
     private function subscribeStats()
@@ -1109,7 +1106,7 @@ class ChapterController extends BaseController
 
         if($send_order_info &&
             $send_order_info->promotion_type == 'INTERNAL' &&
-            strtotime($send_order_info->created_at) > 1555315200){
+            strtotime($send_order_info->created_at) > 1555488000){
             return true;
         }
         $res = ForceSubscribeService::forceSubscribeUsersByUid(['uid' => $this->uid]);
@@ -1795,6 +1792,9 @@ class ChapterController extends BaseController
         //付费用户没有广告
         if(OrderService::isPaidUser($this->uid))  return ;
         //如果下一张已经付费,广告不显示
+        //广告都显示
+        $this->chapter->is_visiable_ad = 1;
+        AdVisitStatService::create($this->uid,$this->book_info->bid,$this->cid,'EXPOSURE');
         if($this->getOrderRecord($this->book_info->bid, $cid)){
             return ;
         }
@@ -1810,7 +1810,7 @@ class ChapterController extends BaseController
 
         if( $flag ){
             $this->chapter->is_show_ad = 1;
-            AdVisitStatService::create($this->uid,$this->book_info->bid,$this->cid,'EXPOSURE');
+            AdVisitStatService::create($this->uid,$this->book_info->bid,$this->cid,'CAN_CLICK');
         }
     }
 

+ 1 - 0
app/Http/Controllers/Wap/Book/Transformers/ChapterTransformer.php

@@ -33,6 +33,7 @@ class ChapterTransformer
             'share_url'=>isset($chapter->share_url)?$chapter->share_url:'',
             'js_config'=>isset($chapter->js_config)?$chapter->js_config:'',
             'is_show_ad'=>isset($chapter->is_show_ad)?$chapter->is_show_ad:'',
+            'is_visiable_ad'=>isset($chapter->is_visiable_ad)?$chapter->is_visiable_ad:0,
             //'is_had_subscribe'=>0
             //'is_need_subscirbe'   =>  $chapter->is_need_subscirbe,
         ];

+ 2 - 1
app/Http/Controllers/Wap/User/ReadRecordController.php

@@ -3,6 +3,7 @@
 namespace App\Http\Controllers\Wap\User;
 
 use App\Modules\Cpa\Services\AdvertiseUserQueueService;
+use App\Modules\ShareFree\Services\ShareUsersService;
 use Illuminate\Http\Request;
 use App\Http\Controllers\Wap\BaseController;
 use App\Modules\Book\Services\BookConfigService;
@@ -106,7 +107,7 @@ class ReadRecordController extends BaseController
         $res = json_encode($res);
         $res = json_decode($res);
         foreach ($res as $key=>&$each){
-            $rec = AdvertiseUserQueueService::getUserAdvertiseSubscribe($this->uid,$each->bid);
+            $rec = ShareUsersService::getUnlocked($this->uid,$each->bid);// ($this->uid,$each->bid);
             if($rec) {
                 $each->is_advertise_sub=1;
             }else {

+ 15 - 0
app/Http/Controllers/Wap/Web/WelcomeController.php

@@ -95,6 +95,12 @@ class WelcomeController extends BaseController
         $adTargetId = false;
         if ($ad_status) {
             $adTargetId = $this->cpcAd();
+            if($adTargetId && !$is_show_activity){
+                $pdd_ad = $this->pddAd();
+                $is_show_activity = 1;
+                $url = isset($pdd_ad['url'])?$pdd_ad['url']:'';
+                $activity_img = isset($pdd_ad['img'])?$pdd_ad['img']:'';
+            }
         }
         //广告frame
         $is_show_ad_frame_setting = env('IS_SHOW_AD_FRAME_SETTING', '123');
@@ -521,6 +527,15 @@ class WelcomeController extends BaseController
         Cookie::queue('cpc_ad_status', 'unshow', 3600);
         return false;
     }
+
+    private function pddAd(){
+        $links = [
+            ['img'=>'https://cdn-novel.iycdm.com/h5/ad/pdd/2019041501.jpg','url'=>'/advertise/pdd?link=2019041501'],
+            ['img'=>'https://cdn-novel.iycdm.com/h5/ad/pdd/2019041502.jpg','url'=>'/advertise/pdd?link=2019041502']
+        ];
+        $key = random_int(1,10)%2;
+        return $links[$key];
+    }
     /**
      * 获取客服图片
      */

+ 2 - 0
app/Http/Routes/Wap/WapRoutes.php

@@ -69,6 +69,8 @@ Route::group(['domain'=>env('WAP_DOMAIN'),'namespace'=>'App\Http\Controllers\Wap
     Route::get('advertise/jump','Advertises\AdvertiseController@jumpToSource');
     Route::any('advertise/recieveUserBehavior','Advertises\AdvertiseController@recieveUserBehavior');
 
+    Route::get('advertise/pdd','Advertises\AdvertiseController@pddAd');
+
 
 //web 接口
     Route::group(['prefix'=>'api'],function () {

+ 4 - 1
app/Libs/Helpers.php

@@ -584,6 +584,9 @@ function specialChannelAuthInfoV2(){
         '5641'=>'wx7e9d88af5216eedd',
         '5642'=>'wx4618cda729138d15',
         '5662'=>'wx44b8626c8ad9247e',
-        '5663'=>'wx8653757301ed2591'
+        '5663'=>'wx8653757301ed2591',
+        '5690'=>'wxbdbb2b13eea80db9',
+        '5691'=>'wx8b2e50da113c673c',
+        '5692'=>'wxb51a74837aa2f1c4'
     ];
 }

+ 4 - 0
app/Modules/ShareFree/Models/ShareUsers.php

@@ -22,4 +22,8 @@ class ShareUsers extends Model
         }
         return $rec;
     }
+
+    public static function getUnlocked($uid,$bid) {
+        return self::where('uid',$uid)->where('bid',$bid)->where('status',1)->first();
+    }
 }

+ 4 - 0
app/Modules/ShareFree/Services/ShareUsersService.php

@@ -14,4 +14,8 @@ class ShareUsersService
     public static function addShareUsers($data) {
         return ShareUsers::addShareUsers($data);
     }
+
+    public static function getUnlocked($uid,$bid){
+        return ShareUsers::getUnlocked($uid,$bid);
+    }
 }

+ 5 - 2
app/Modules/User/Services/UserService.php

@@ -336,18 +336,21 @@ class UserService
 
     public static function isCpcUser($uid){
         //openid下所有强关超过三天的uid都无充值,对强关后的uid进行曝光
+        //openid下有一个强关超过三天的uid,都无充值,对强关后的uid进行曝光
         $sql_format = "SELECT u.id,f.subscribe_time,(SELECT id from orders where uid = u.id and `status` = 'PAID' LIMIT 1)as oid  FROM users u
 JOIN force_subscribe_users f on u.id = f.uid and f.is_subscribed= 1
 WHERE u.openid in (SELECT openid from users WHERE  id = %s)";
         $result = DB::select(sprintf($sql_format,$uid));
         if(!$result) return false;
 
+        $is_has_force_subscribe_three_days =false;
         foreach ($result as $item){
             //有充值
             if($item->oid) return false;
             //强关没超过超过三天
-            if(time()-strtotime($item->subscribe_time) < 86400*3) return false;
+            //if(time()-strtotime($item->subscribe_time) < 86400*3) return false;
+            if(time()-strtotime($item->subscribe_time) > 86400*3) $is_has_force_subscribe_three_days = true;
         }
-        return true;
+        return $is_has_force_subscribe_three_days;
     }
 }

+ 2 - 2
resources/views/wap/index.blade.php

@@ -9,7 +9,7 @@
     <script>window.VueRouter || document.write('<script src="https://cdn-novel.iycdm.com/static/vue-router.min.js"><\/script>')</script>
     <script>(window.Vue && window.VueLazyload) || document.write('<script src="https://cdn-novel.iycdm.com/static/vue-lazyload.js"><\/script>')</script>
     <title>{{$title}}</title>
-    <link href=https://cdn-novel.iycdm.com/static2019-4-15/css/app.dc344e24d5e64a452d84b06f48008fa5.css rel=stylesheet>
+    <link href=https://cdn-novel.iycdm.com/static2019-4-15/css/app.d4b0d841448941738b356b5b47c81068.css rel=stylesheet>
 </head>
 <body>
 <div id=app></div>
@@ -32,7 +32,7 @@
     })();</script>
 <script id=options>window.options = {!! $options!!};</script>
 <script type=text/javascript
-        src=https://cdn-novel.iycdm.com/static2019-4-15/js/manifest.11e2044eeb462a0cfcd7.js></script>
+        src=https://cdn-novel.iycdm.com/static2019-4-15/js/manifest.000491709457aa596c79.js></script>
 <script type=text/javascript src=https://cdn-novel.iycdm.com/static2019-4-15/js/vendor.ffff3089fc2f18220e2f.js></script>
 <script type=text/javascript src=https://cdn-novel.iycdm.com/static2019-4-15/js/app.00627a040c0e8eafaee4.js></script>
 </body>