wesmiler 1 bulan lalu
induk
melakukan
9820bf0886
1 mengubah file dengan 21 tambahan dan 16 penghapusan
  1. 21 16
      app/Services/Api/MemberService.php

+ 21 - 16
app/Services/Api/MemberService.php

@@ -210,7 +210,7 @@ class MemberService extends BaseService
         if(empty($data)){
             $where = ['openid' => $openid];
             $data = $this->model->where($where)
-                ->select(['id', 'openid','unionid', 'mobile', 'user_type', 'nickname', 'avatar', 'code', 'status', 'mark'])
+                ->select(['id', 'openid','unionid', 'mobile','parent_id', 'user_type', 'nickname', 'avatar', 'code', 'status', 'mark'])
                 ->first();
         }
 
@@ -220,6 +220,7 @@ class MemberService extends BaseService
         $mobile = isset($data['mobile']) ? $data['mobile'] : '';
         $userUnionid = isset($data['unionid']) ? $data['unionid'] : '';
         $status = isset($data['status']) ? $data['status'] : 0;
+        $parentId = isset($data['parent_id']) ? $data['parent_id'] : 0;
         $mark = isset($data['mark']) ? $data['mark'] : 0;
         if ($data && $userId && $status != 1 && $mark == 1) {
             $this->error = 2011;
@@ -229,24 +230,23 @@ class MemberService extends BaseService
         $appSources = isset($system['app_sources']) && $system['app_sources'] ? $system['app_sources'] : 'ios';
         $uuid = isset($system['uuid']) ? $system['uuid'] : '';
         $version = isset($system['app_version']) ? $system['app_version'] : '';
+        // 推荐人
+        $rid = isset($params['rid']) ? intval($params['rid']) : 0;
+        $parents = '';
+        if ($rid) {
+            $inviteInfo = $this->model->where(['id' => $rid, 'mark' => 1])
+                ->select(['id', 'parent_id', 'parents', 'status'])
+                ->first();
+            $parents = isset($inviteInfo['parents']) ? $inviteInfo['parents'] : '';
+            if ($inviteInfo) {
+                $parents = $parents ? $parents . $rid . ',' : ",{$rid},";
+            }else{
+                $rid = 0;
+            }
+        }
         if (empty($data)) {
             $userId = $this->model->max('id') + 1;
 
-            // 推荐人
-            $rid = isset($params['rid']) ? intval($params['rid']) : 0;
-            $parents = '';
-            if ($rid) {
-                $inviteInfo = $this->model->where(['id' => $rid, 'mark' => 1])
-                    ->select(['id', 'parent_id', 'parents', 'status'])
-                    ->first();
-                $parents = isset($inviteInfo['parents']) ? $inviteInfo['parents'] : '';
-                if ($inviteInfo) {
-                    $parents = $parents ? $parents . $rid . ',' : ",{$rid},";
-                }else{
-                    $rid = 0;
-                }
-            }
-
             $data = [
                 'nickname' => $nickname? $nickname : '用户' . $userId,
                 'openid' => $platform!='wechat'?$openid:'',
@@ -300,6 +300,11 @@ class MemberService extends BaseService
                 $updateData['nickname'] = $nickname;
             }
 
+            if($parentId<=0){
+                $updateData['parent_id'] = $rid;
+                $updateData['parents'] = $parents;
+            }
+
             if ($mark == 0) {
                 $data['nickname'] = $nickname;
                 $data['avatar'] = $avatar;