Kaynağa Gözat

APP小程序-注册登录功能改进-绑定邀请人

xupuyuan 11 ay önce
ebeveyn
işleme
f47ffef670
2 değiştirilmiş dosya ile 65 ekleme ve 19 silme
  1. 63 19
      app/controller/api/Auth.php
  2. 2 0
      route/api.php

+ 63 - 19
app/controller/api/Auth.php

@@ -514,12 +514,12 @@ class Auth extends BaseController
514 514
             }
515 515
         }
516 516
         // Log::info($data);
517
-        $user = $repository->registr($data['phone'], $data['password'],'APP',"","",1,$data['spread']);
517
+        $user = $repository->registr($data['phone'], $data['password'],'APP',"","",1,0);
518 518
         // $repository->registr($data['phone'], $data['password'],'APP',$data['spread']);
519 519
         $repository->addagent($user);
520 520
         $user = $repository->mainUser($user);
521 521
 
522
-        $repository->bindSpread($user, intval($data['spread']));
522
+//        $repository->bindSpread($user, intval($data['spread']));
523 523
 //        $repository->spread_log($user, intval($data['spread']));
524 524
         $tokenInfo = $repository->createToken($user);
525 525
         $repository->loginAfter($user);
@@ -538,26 +538,70 @@ class Auth extends BaseController
538 538
 //                }
539 539
 //            }
540 540
 //        }
541
-        if ($type == "marketing"){
542
-            $spread = Db::name("User") -> alias("u") -> leftjoin("MarketingUser mu","u.uid = mu.uid") ->  where("u.uid",$data['spread']) -> field("u.uid,mu.spread_list") -> find();
543
-            $spread_list = explode(',',$spread['spread_list']);
544
-            if (!empty($spread_list)){
541
+//        if ($type == "marketing"){
542
+//            $spread = Db::name("User") -> alias("u") -> leftjoin("MarketingUser mu","u.uid = mu.uid") ->  where("u.uid",$data['spread']) -> field("u.uid,mu.spread_list") -> find();
543
+//            $spread_list = explode(',',$spread['spread_list']);
544
+//            if (!empty($spread_list)){
545
+//                $spread_list[] = "[" . $spread['uid'] . "]";
546
+//            }else{
547
+//                array_push($spread_list,"[".$spread['uid']."]");
548
+//            }
549
+//            $spread_list = array_filter($spread_list);
550
+//                    $data = [
551
+//                "uid" => $user->uid,
552
+//                "spread_uid" => $spread['uid'],
553
+//                "spread_list" => implode(",",$spread_list)
554
+//            ];
555
+//            Db::name("MarketingUser") -> insert($data);
556
+//        }
557
+
558
+        return app('json')->success($repository->returnToken($user, $tokenInfo));
559
+    }
560
+    public function bindSpread(UserRepository $repository)
561
+    {
562
+        $data = $this->request->params(['spread_phone']);
563
+        $uid = $this->request->user()->uid;
564
+
565
+        // 查询推荐人
566
+        $spreadUser = $repository->accountByUser($data['spread_phone']);
567
+        if (!$spreadUser) {
568
+            return app('json')->fail('推荐人手机号不存在');
569
+        }
570
+        if ($spreadUser['uid'] == $uid) {
571
+            return app('json')->fail('不能绑定自己为邀请人');
572
+        }
573
+
574
+        // 绑定推荐人
575
+        $repository->bindSpreadByUid($uid, intval($spreadUser['uid']));
576
+
577
+        // 如果是 marketing 类型用户,执行营销关系逻辑
578
+        if ($this->source == "marketing") {
579
+            $spread = Db::name("User")
580
+                ->alias("u")
581
+                ->leftjoin("MarketingUser mu", "u.uid = mu.uid")
582
+                ->where("u.uid", $spreadUser['uid'])
583
+                ->field("u.uid,mu.spread_list")
584
+                ->find();
585
+
586
+            $spread_list = explode(',', $spread['spread_list']);
587
+            if (!empty($spread_list)) {
545 588
                 $spread_list[] = "[" . $spread['uid'] . "]";
546
-            }else{
547
-                array_push($spread_list,"[".$spread['uid']."]");
589
+            } else {
590
+                array_push($spread_list, "[" . $spread['uid'] . "]");
548 591
             }
549 592
             $spread_list = array_filter($spread_list);
550
-            $data = [
551
-                "uid" => $user->uid,
552
-                "spread_uid" => $spread['uid'],
553
-                "spread_list" => implode(",",$spread_list)
554
-            ];
555
-            Db::name("MarketingUser") -> insert($data);
593
+
594
+            Db::name("MarketingUser")->insert([
595
+                "uid"         => $uid,
596
+                "spread_uid"  => $spread['uid'],
597
+                "spread_list" => implode(",", $spread_list)
598
+            ]);
556 599
         }
557 600
 
558
-        return app('json')->success($repository->returnToken($user, $tokenInfo));
601
+        return app('json')->success('邀请人绑定成功');
559 602
     }
560 603
 
604
+
561 605
     /**
562 606
      * 手机号找回密码
563 607
      * @param UserRepository $repository
@@ -1596,11 +1640,11 @@ class Auth extends BaseController
1596 1640
         if (!$this->checkSmsCode($data['phone'], $data['sms_code'])) {
1597 1641
             return app('json')->fail('验证码不正确');
1598 1642
         }
1643
+        return app('json')->success([
1644
+            'msg' => '验证码验证通过,请填写推荐人手机号完成注册',
1645
+            'phone' => $data['phone']
1646
+        ]);
1599 1647
 
1600
-        $user = $repository->registr($data['phone'], null, 'h5', '', '', 1, $data['spread_uid']);
1601
-        $user = $repository->mainUser($user);
1602
-        $tokenInfo = $repository->loginAfter($user);
1603
-        return app('json')->success($repository->returnToken($user, $tokenInfo));
1604 1648
     }
1605 1649
 
1606 1650
 

+ 2 - 0
route/api.php

@@ -943,6 +943,8 @@ Route::group('api/', function () {
943 943
     Route::post('auth/yijianlogin', 'api.Auth/yijianlogin');
944 944
     //短信注册
945 945
     Route::post('auth/register', 'api.Auth/register');
946
+    //绑定邀请人
947
+    Route::get('auth/bindSpread', 'api.Auth/bindSpread');
946 948
     //测试账号
947 949
     Route::post('auth/register_all', 'api.Auth/register_all');
948 950
     //java商户端调用用户注册