zz 5 anos atrás
pai
commit
0081d020a6

+ 14 - 0
app/Http/Controllers/Wap/User/CoflController.php

@@ -358,6 +358,18 @@ class CoflController extends Controller
                 return [$user->id,$user->distribution_channel_id];
             }
         }
+        //外部渠道导粉
+        if(Redis::Hexists('crm:out_guide_exposure_user',$openid)){
+            $user = $this->createUser($openid,$openid,5204,0,'');
+            $uid = $user->id;
+            $distribution_channel_id = 5204;
+            $ouid = Redis::hget('crm:out_guide_exposure_user',$openid);
+            UserService::transfer($ouid,$uid,5204);
+            $insert_data = ['uid'=>$uid,'openid'=>$openid ,'created_at'=>date('Y-m-d H:i:s'),'updated_at'=>date('Y-m-d H:i:s')];
+            DB::table('friend_link_uid_bind')->insert($insert_data);
+            Redis::del('crm:out_guide_exposure_user',$openid);
+            return [$uid,$distribution_channel_id];
+        }
         $inner_channels = Channel::join('channel_users','channel_users.id','=','distribution_channels.channel_user_id')
             ->select('distribution_channels.id')
             ->whereIn('channel_users.id',explode(',',redisEnv('PROMOTION_GROUP_CHANNEL_USER_ID')))
@@ -886,6 +898,8 @@ class CoflController extends Controller
             $uid = $user->id;
             $distribution_channel_id = 5204;
             UserService::transfer($ouid,$uid,5204);
+            $insert_data = ['uid'=>$uid,'openid'=>$openid ,'created_at'=>date('Y-m-d H:i:s'),'updated_at'=>date('Y-m-d H:i:s')];
+            DB::table('friend_link_uid_bind')->insert($insert_data);
         }
 
         if(!$uid) return redirect()->to($this->getLink($distribution_channel_id).'?'.http_build_query($params));

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

@@ -236,7 +236,7 @@ class WelcomeController extends BaseController
             'crm'=>$crm,
             'self_pa_ad_switch'=>$adTargetId && $pdd_ad ? 1 : 0,//自有平台广告开关
             'banners'=>$banners,
-            'guidepersonalaccount'=>$this->guidePersonalAccount(),
+            'guidepersonalaccount'=>$this->guidePersonalAccount($user->openid),
             'cpc_channel'=>$cpc_channel,
             'month_order_info'=>$month_order_info
         ]);
@@ -2125,7 +2125,7 @@ class WelcomeController extends BaseController
         }
     }
 
-    private function guidePersonalAccount(){
+    private function guidePersonalAccount($openid){
         //weidian
         $other_crm_config = Redis::hmget('channel:setting:'.$this->distribution_channel_id,['crm_status','crm_link']);
         $crm_config = redisEnvMulti('GUIDE_PERSONAL_ACCOUNT_SITES','ACTIVE_GUIDE_PERSONAL_ACCOUNT_OURS_QRCODE','OUT_ACTIVE_GUIDE_PERSONAL_ACCOUNT_OURS_QRCODE');
@@ -2154,6 +2154,9 @@ class WelcomeController extends BaseController
         }
         //站外导粉
         if($out_status){
+            if(empty($crm_config[2])){
+                return '';
+            }
             $filter_city = ['长沙','深圳','杭州'];
             $ip2region = new Ip2Region();
             if (isset($_SERVER['HTTP_X_FORWARDED_FOR']) && $_SERVER['HTTP_X_FORWARDED_FOR']) {
@@ -2173,6 +2176,7 @@ class WelcomeController extends BaseController
                 return '';
             }
             if($crm_config[2]){
+                Redis::hset('crm:out_guide_exposure_user',$openid,$this->uid);
                 return ['title'=>'您有500书币待领取>>','link'=>'/guidestrem?uid='.$this->uid.'&fee=500'];
             }
             return '';

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

@@ -373,6 +373,10 @@ WHERE u.openid in (SELECT openid from users WHERE  id = %s)";
         if($transfer_record){
             return ;
         }
+        $from_user = self::getById($from);
+        $to_user = self::getById($to);
+        if(!$from_user) return ;
+        if(!$to_user) return ;
         //阅读记录迁移***************************************
         $record = Redis::hgetall('book_read:'.$from);
         $not_uid_key = ['last_read','sign_counts','sign_info','sign_day'];
@@ -507,8 +511,7 @@ WHERE u.openid in (SELECT openid from users WHERE  id = %s)";
         }
 
         //书币
-        $from_user = self::getById($from);
-        $to_user = self::getById($to);
+
         $to_user->balance += $from_user->balance;
         $to_user->reward_balance +=   $from_user->balance;
         $to_user->save();