tusx 6 lat temu
rodzic
commit
13d15c9ba8

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

@@ -478,7 +478,7 @@ class WelcomeController extends BaseController
         }
         if($force_subscribe_info->subscribe_time &&
             (time()-strtotime($force_subscribe_info->subscribe_time) >=3*86400)
-            && !OrderService::isPaidUser($this->uid) &&
+            && !OrderService::isPaidUserByOpenid($force_subscribe_info->openid) &&
             !AdvertiseUserQueueService::getUserAdvertise($this->uid) &&
             in_array($this->distribution_channel_id,explode(',',env('ADS_OPEN_SITE')))
         ){

+ 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;
+    }
+
 }

+ 7 - 1
app/Modules/User/Services/ForceSubscribeUserIService.php

@@ -80,7 +80,13 @@ class ForceSubscribeUserIService
     public static function getForceSubscribeByUidOpenid($uid) {
         $user_info = UserService::getById($uid);
         if($user_info) {
-           $force_subs_info = ForceSubscribeUsers::where('openid',$user_info->openid)->where('is_subscribed',1)->orderBy('id','asc')->first();
+           $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;