Bladeren bron

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

xupuyuan 11 maanden geleden
bovenliggende
commit
658f96052c
1 gewijzigde bestanden met toevoegingen van 24 en 33 verwijderingen
  1. 24 33
      app/controller/api/Auth.php

+ 24 - 33
app/controller/api/Auth.php

@@ -557,51 +557,42 @@ class Auth extends BaseController
557 557
 
558 558
         return app('json')->success($repository->returnToken($user, $tokenInfo));
559 559
     }
560
+    /**
561
+     * 绑定邀请人
562
+     */
560 563
     public function bindSpread(UserRepository $repository)
561 564
     {
562 565
         $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('推荐人手机号不存在');
566
+        $user = $this->request->user();
567
+        if (!$user || empty($user->uid)) {
568
+            return app('json')->fail('用户未登录');
569 569
         }
570
-        if ($spreadUser['uid'] == $uid) {
571
-            return app('json')->fail('不能绑定自己为邀请人');
572
-        }
573
-
574
-        // 绑定推荐人
575
-        $repository->bindSpreadByUid($uid, intval($spreadUser['uid']));
570
+        $uid = $user->uid;
576 571
 
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();
572
+        // 检查推荐人手机号是否传入
573
+        if (empty($data['spread_phone'])) {
574
+            return app('json')->fail('推荐人手机号不能为空');
575
+        }
585 576
 
586
-            $spread_list = explode(',', $spread['spread_list']);
587
-            if (!empty($spread_list)) {
588
-                $spread_list[] = "[" . $spread['uid'] . "]";
589
-            } else {
590
-                array_push($spread_list, "[" . $spread['uid'] . "]");
591
-            }
592
-            $spread_list = array_filter($spread_list);
577
+        // 查找推荐人用户
578
+        $spread_user = $repository->accountByUser($data['spread_phone']);
579
+        if (!$spread_user) {
580
+            return app('json')->fail('推荐人手机号不存在');
581
+        }
593 582
 
594
-            Db::name("MarketingUser")->insert([
595
-                "uid"         => $uid,
596
-                "spread_uid"  => $spread['uid'],
597
-                "spread_list" => implode(",", $spread_list)
598
-            ]);
583
+        // 防止绑定自己为推荐人
584
+        if ($spread_user['uid'] == $uid) {
585
+            return app('json')->fail('不能绑定自己为推荐人');
599 586
         }
600 587
 
601
-        return app('json')->success('邀请人绑定成功');
588
+        // 执行绑定
589
+        $repository->bindSpread($user, intval($spread_user['uid']));
590
+
591
+        return app('json')->success('绑定成功');
602 592
     }
603 593
 
604 594
 
595
+
605 596
     /**
606 597
      * 手机号找回密码
607 598
      * @param UserRepository $repository