tusx před 6 roky
rodič
revize
bda1702dcc

+ 13 - 6
app/Http/Controllers/Wap/Order/OrdersController.php

@@ -9,6 +9,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;
@@ -727,16 +728,22 @@ 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)
+        $force_sub_user_by_openid = ForceSubscribeUserIService::getForceSubscribeByUidOpenid($this->uid);
+        if($force_sub_user_by_openid){
+            $force_subscribe_info = $force_sub_user_by_openid;
+        }
+        if($force_subscribe_info->subscribe_time &&
+            (time()-strtotime($force_subscribe_info->subscribe_time) >=3*86400)
             && !OrderService::isPaidUser($this->uid) &&
-            (!AdvertiseUserQueueService::getUserAdvertise($this->uid)) &&
+            !AdvertiseUserQueueService::getUserAdvertise($this->uid) &&
             in_array($this->distribution_channel_id,explode(',',env('ADS_OPEN_SITE')))
         ){
             return 1;

+ 12 - 5
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,14 +462,20 @@ 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]);
         }
-        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)
+        $force_sub_user_by_openid = ForceSubscribeUserIService::getForceSubscribeByUidOpenid($this->uid);
+        if($force_sub_user_by_openid){
+            $force_subscribe_info = $force_sub_user_by_openid;
+        }
+        if($force_subscribe_info->subscribe_time &&
+            (time()-strtotime($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')))

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

@@ -76,4 +76,13 @@ 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::where('openid',$user_info->openid)->orderBy('id','asc')->first();
+           return $force_subs_info;
+        }
+        return false;
+    }
 }