xiaogang 4 years ago
parent
commit
2277bba501

+ 0 - 7
app/Http/Controllers/Api/AuthorizationsController.php

xqd
@@ -150,13 +150,6 @@ class AuthorizationsController extends Controller
 
         $ins = array();
 
-        //邀请码设置
-        if(isset($request->ycode) && $request->ycode!=""){
-            if(!$puser = User::where(['ycode'=>$request->ycode])->first()){
-                return $this->response->errorForbidden("邀请码不存在");
-            }
-            $ins['pid'] = $puser->id;
-        }
         $ins['mobile'] = $request->mobile;
         $ins['password'] = $request->password;
         if(User::create($ins)){

+ 56 - 0
app/Http/Controllers/Api/UserController.php

xqd xqd
@@ -2,7 +2,10 @@
 
 
 namespace App\Http\Controllers\Api;
+use App\Models\User;
+use App\Models\UserInfoModel;
 use Illuminate\Http\Request;
+use Illuminate\Support\Facades\DB;
 use Illuminate\Support\Facades\Validator;
 
 class UserController extends Controller
@@ -26,4 +29,57 @@ class UserController extends Controller
         }
         return $this->response->noContent();
     }
+
+    /**
+     * 设置资料
+     */
+    public function setinfo(Request $request){
+        $user = auth('api')->user();
+
+        $validator = Validator::make($request->all(), [
+            'nickname' => 'required|between:2,8',
+            'birthday' => 'required',
+            'avatar' => 'required',
+        ], [
+            'nickname.required'=>"昵称不能为空",
+            'nickname.between'=>"昵称长度必须在2~8之间",
+            'birthday.required'=>"生日不能为空",
+            'avatar.required'=>"头像不能为空",
+        ]);
+        if ($validator->fails()) {
+            return $this->response()->errorForbidden($validator->messages()->first());
+        }
+
+        if(UserInfoModel::where(['nickname'=>$request->nickname])->where('user_id', '!=' , $user->id)->first()){
+            return $this->response->errorForbidden('昵称已被使用');
+        }
+        //邀请码设置
+        $pid = 0;
+        if(isset($request->ycode) && $request->ycode!=""){
+            if(!$puser = User::where(['ycode'=>$request->ycode])->first()){
+                return $this->response->errorForbidden("邀请码不存在");
+            }
+            $pid = $puser->id;
+        }
+
+        DB::beginTransaction();
+        try {
+            $userinfo = UserInfoModel::firstOrCreate([
+                'user_id' => $user->id,
+            ]);
+            $userinfo->avatar = $request->avatar;
+            $userinfo->nickname = $request->nickname;
+            $userinfo->birthday = $request->birthday;
+            $userinfo->save();
+
+            if($pid!=0){
+               $user->pid = $pid;
+               $user->save();
+            }
+            DB::commit();
+        } catch (\Exception $e) {
+            DB::rollBack();
+            abort(403, '保存失败');
+        }
+    }
 }

+ 10 - 0
app/Models/UserInfoModel.php

xqd
@@ -0,0 +1,10 @@
+<?php
+
+
+namespace App\Models;
+
+
+class UserInfoModel extends BaseModel
+{
+    protected $table = 'users_info';
+}

+ 2 - 0
routes/api.php

xqd
@@ -57,6 +57,8 @@ $api->version('v1', [
         $api->group(['prefix' => 'user'], function ($api) {
             //设置性别
             $api->post('/checksex', 'UserController@checksex')->name('user.checksex');
+            //设置资料(初次注册进入时)
+            $api->post('/setinfo', 'UserController@setinfo')->name('user.setinfo');
 
         });