Ver código fonte

Merge branch 'stabble' of iqiyoo:zhuishuyun_wap into stabble

zz 6 anos atrás
pai
commit
b36245e97c

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

@@ -132,4 +132,23 @@ class AdvertiseController extends BaseController
         $ads = AdvertiseService::getOneById($id);
         return $ads;
     }
+
+    /**
+     * 点击下载按钮上报
+     * @param Request $request
+     * @return mixed
+     */
+    public function recieveUserBehavior(Request $request){
+        $uid = $request->input('uid','');
+        $bid = $request->input('bid','');
+        $uid=Hashids::decode($uid)[0];
+        $bid=Hashids::decode($bid)[0];
+        $position = $request->input('position','');
+        $params = compact('uid','bid','position');
+        $params['created_at'] = $params['updated_at'] = date('Y-m-d H:i:s');
+        $ua = $_SERVER['HTTP_USER_AGENT'];
+        $params['remark'] = $ua;
+        DB::table('advertise_access_rec')->insert($params);
+        return response()->success();
+    }
 }

+ 16 - 7
app/Http/Controllers/Wap/Order/OrdersController.php

@@ -10,6 +10,7 @@ use App\Modules\Cpa\Services\AdvertiseUsersService;
 use App\Modules\OfficialAccount\Services\ForceSubscribeService;
 use App\Modules\Statistic\Services\AdVisitStatService;
 use App\Modules\Statistic\Services\DataAnalysisSelectUserService;
+use App\Modules\User\Services\ForceSubscribeUserIService;
 use App\Modules\User\Services\UserService;
 use App\Modules\Book\Services\BookService;
 use App\Modules\Channel\Services\PayTemplateService;
@@ -739,16 +740,24 @@ class OrdersController extends BaseController
     }
 
     private function appad(){
-        if(!$this->force_subscribe_info){
-            $this->force_subscribe_info = ForceSubscribeService::forceSubscribeUsersByUid(['uid' => $this->uid]);
+        if($this->force_subscribe_info){
+            $force_subscribe_info = $this->force_subscribe_info;
+        }else{
+            $force_subscribe_info = $this->force_subscribe_info = ForceSubscribeService::forceSubscribeUsersByUid(['uid' => $this->uid]);
         }
-        if(!$this->force_subscribe_info){
+        if(!$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)) &&
+        //\Log::info('force1:'.json_encode($force_subscribe_info));
+        $force_sub_user_by_openid = ForceSubscribeUserIService::getForceSubscribeByUidOpenid($this->uid);
+        if($force_sub_user_by_openid){
+            $force_subscribe_info = $force_sub_user_by_openid;
+            //\Log::info('force:'.json_encode($force_subscribe_info));
+        }
+        if($force_subscribe_info->subscribe_time &&
+            (time()-strtotime($force_subscribe_info->subscribe_time) >=3*86400)
+            && !OrderService::isPaidUserByOpenid($force_subscribe_info->openid) &&
+            !AdvertiseUserQueueService::getUserAdvertise($this->uid) &&
             in_array($this->distribution_channel_id,explode(',',env('ADS_OPEN_SITE')))
         ){
             return 1;

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

@@ -12,6 +12,7 @@ use App\Modules\Cpa\Services\AdvertiseUsersService;
 use App\Modules\OfficialAccount\Services\ForceSubscribeService;
 use App\Modules\Statistic\Services\DataAnalysisSelectUserService;
 use App\Modules\Subscribe\Services\OrderService;
+use App\Modules\User\Services\ForceSubscribeUserIService;
 use App\Modules\User\Services\UserService;
 use Illuminate\Http\Request;
 use App\Http\Controllers\Wap\BaseController;
@@ -461,15 +462,23 @@ class WelcomeController extends BaseController
 
 
     private function appad(){
-        if(!$this->force_subscribe_info){
-            $this->force_subscribe_info = ForceSubscribeService::forceSubscribeUsersByUid(['uid' => $this->uid]);
+        if($this->force_subscribe_info){
+            $force_subscribe_info = $this->force_subscribe_info;
+        }else{
+            $force_subscribe_info = $this->force_subscribe_info = ForceSubscribeService::forceSubscribeUsersByUid(['uid' => $this->uid]);
+            //\Log::info(':'.($this->uid).'force_subs1:'.json_encode($force_subscribe_info));
         }
-        if(!$this->force_subscribe_info){
+        if(!$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) &&
+        $force_sub_user_by_openid = ForceSubscribeUserIService::getForceSubscribeByUidOpenid($this->uid);
+        if($force_sub_user_by_openid){
+            $force_subscribe_info = $force_sub_user_by_openid;
+            //\Log::info('force_subs:'.json_encode($force_subscribe_info));
+        }
+        if($force_subscribe_info->subscribe_time &&
+            (time()-strtotime($force_subscribe_info->subscribe_time) >=3*86400)
+            && !OrderService::isPaidUserByOpenid($force_subscribe_info->openid) &&
             !AdvertiseUserQueueService::getUserAdvertise($this->uid) &&
             in_array($this->distribution_channel_id,explode(',',env('ADS_OPEN_SITE')))
         ){

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

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

+ 20 - 0
app/Modules/Subscribe/Services/OrderService.php

@@ -196,4 +196,24 @@ WHERE  send_order_id = %s and order_type= 'RECHARGE' ";
         }
         return false;
     }
+    /**
+     * 是否是付费用户
+     * @param $openid
+     * @return bool
+     */
+    public static function isPaidUserByOpenid($openid){
+        if(empty($openid)){
+            return false;
+        }
+        $result = Order::join('users','users.id','=','orders.uid')
+            ->select('orders.id')
+            ->where('users.openid',$openid)
+            ->where('orders.status','PAID')
+            ->first();
+        if($result && $result->id){
+            return true;
+        }
+        return false;
+    }
+
 }

+ 15 - 0
app/Modules/User/Services/ForceSubscribeUserIService.php

@@ -83,4 +83,19 @@ class ForceSubscribeUserIService
         $all_fans = $total_fans_add_nums - $total_fans_cancel_nums;
         return compact('day_fans', 'all_fans');
     }
+
+    public static function getForceSubscribeByUidOpenid($uid) {
+        $user_info = UserService::getById($uid);
+        if($user_info) {
+           $force_subs_info = ForceSubscribeUsers::join('users','users.id','=','force_subscribe_users.uid')
+               ->select(['force_subscribe_users.uid','force_subscribe_users.subscribe_time',
+                   'force_subscribe_users.created_at','users.openid','force_subscribe_users.is_subscribed'])
+               ->where('users.openid',$user_info->openid)
+               ->where('force_subscribe_users.is_subscribed',1)
+               ->orderBy('force_subscribe_users.id','asc')
+               ->first();
+           return $force_subs_info;
+        }
+        return false;
+    }
 }

BIN
public/static/img/mask.png


+ 10 - 0
resources/views/wap/advertise.blade.php

@@ -156,6 +156,7 @@
   <img src="/static/img/mask.png" alt="" />
 </div>
 </body>
+<script src="https://cdn.staticfile.org/jquery/1.10.2/jquery.min.js"></script>
 <script>
     var u = navigator.userAgent.toLowerCase();
     var uid="{{$params['uid']}}";
@@ -176,6 +177,15 @@
             // 判断是否在微信内
             if (isWechat) {
                 mask.style.display = "block";
+                $.ajax({
+                    url:'/advertise/recieveUserBehavior',
+                    type:'post',
+                    data:{
+                        'uid':uid,
+                        'bid':bid,
+                        'position':'DOWNLOAD_BTN'
+                    }
+                })
                 return;
             }
             // 执行下载操作