| xqd
@@ -32,6 +32,77 @@ class UserController extends Controller
|
|
|
$this->userService = new UserService();
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 设置账户
|
|
|
+ */
|
|
|
+ public function setaccount(Request $request){
|
|
|
+ $validator = Validator::make($request->all(), [
|
|
|
+ 'password' => 'required|string',
|
|
|
+ 'sex' => 'required',
|
|
|
+ 'nickname' => 'required|between:2,10',
|
|
|
+ 'birthday' => 'required',
|
|
|
+ 'avatar' => 'required',
|
|
|
+ ],[
|
|
|
+ 'password.required'=>"密码必须",
|
|
|
+ 'sex.required'=>"性别必须",
|
|
|
+ 'nickname.required'=>"昵称不能为空",
|
|
|
+ 'nickname.between'=>"昵称长度必须在2~10之间",
|
|
|
+ 'birthday.required'=>"生日不能为空",
|
|
|
+ 'avatar.required'=>"头像不能为空",
|
|
|
+ ]);
|
|
|
+ if ($validator->fails()) {
|
|
|
+ return $this->response()->errorForbidden($validator->messages()->first());
|
|
|
+ }
|
|
|
+ $user = auth('api')->user();
|
|
|
+
|
|
|
+ DB::beginTransaction();
|
|
|
+ try {
|
|
|
+ $user->password = $request->password;
|
|
|
+ $user->sex = $request->sex;
|
|
|
+
|
|
|
+ if($request->sex==2 && empty($request->video)){
|
|
|
+ throw new Exception("请上传视频");
|
|
|
+ }
|
|
|
+ if(UserInfoModel::query()->leftJoin('users','users_info.user_id','=','users.id')
|
|
|
+ ->where(['users_info.nickname'=>$request->nickname,'users.is_distory'=>0])
|
|
|
+ ->where('users_info.user_id', '!=' , $user->id)->first()){
|
|
|
+ throw new Exception("昵称已被使用");
|
|
|
+ }
|
|
|
+ //邀请码设置
|
|
|
+ $pid = 0;
|
|
|
+ if(isset($request->ycode) && $request->ycode!=""){
|
|
|
+ if(!$puser = User::where(['ycode'=>$request->ycode])->first()){
|
|
|
+ throw new Exception("邀请码不存在");
|
|
|
+ }
|
|
|
+ $pid = $puser->id;
|
|
|
+ //赠送会员天数
|
|
|
+ UserInviteLog::query()->create([
|
|
|
+ 'user_id'=>$pid,
|
|
|
+ 'invite_id'=>$user->id,
|
|
|
+ 'day'=>1,
|
|
|
+ 'status'=>0,
|
|
|
+ ]);
|
|
|
+ }
|
|
|
+ UserInfoModel::query()->where('user_id',$user->id)->update([
|
|
|
+ 'avatar' =>$request->avatar,
|
|
|
+ 'nickname' =>htmlspecialchars($request->nickname),
|
|
|
+ 'birthday' =>$request->birthday,
|
|
|
+ 'video' => !empty($request->video)?json_encode(['url'=>$request->video,'thumb'=>$request->thumb??""]) :[],
|
|
|
+ ]);
|
|
|
+ if($pid!=0){
|
|
|
+ $user->pid = $pid;
|
|
|
+ }
|
|
|
+ $user->save();
|
|
|
+ DB::commit();
|
|
|
+ }catch (\Exception $exception){
|
|
|
+ DB::rollBack();
|
|
|
+ return $this->response()->errorForbidden($exception->getMessage());
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
/**
|
|
|
* 设置密码
|
|
|
*/
|