zilong 4 years ago
parent
commit
f1508d34a6

+ 6 - 1
app/Http/Controllers/Api/V1/CommonController.php

xqd
@@ -201,12 +201,17 @@ class CommonController extends Controller
             'phone|手机号' => 'required',
         ]);
 
-        if($req['type'] == 3){
+        if($req['type'] == 3 || $req['type'] == 4){
             $user = User::getUserByToken();
             if ($user['phone'] != $req['phone']){
                 return out(null, 30007, '该手机号不是注册时的手机号');
             }
         }
+        if ($req['type'] == 5) {
+            if (User::where('phone', $req['phone'])->exists()) {
+                return out(null, 30008, '此手机号已经被占用');
+            }
+        }
 
         $verify_code = generate_code();
         $result = send_sms($req['phone'], 'verify_template_code', ['code' => $verify_code]);

+ 35 - 0
app/Http/Controllers/Api/V1/UserController.php

xqd
@@ -113,4 +113,39 @@ class UserController extends AuthController
         $data = UserMessage::where('user_id', $user['id'])->orderBy('id', 'desc')->paginate();
         return out($data);
     }
+
+    public function changeUserPhone()
+    {
+        $req = request()->post();
+        $this->validate(request(), [
+            'old_verify_code' => 'required|integer',
+            'new_verify_code' => 'required|integer',
+            'new_phone' => 'required'
+        ]);
+        $user = $this->user;
+
+        $verify_code = Cache::get($user['phone'].'-4');
+        if($verify_code != $req['old_verify_code']){
+            if (env('APP_ENV') == 'online' || $req['old_verify_code'] != '111111') {
+                return out(null, 10001, '老手机验证码错误');
+            }
+        }
+        Cache::delete($user['phone'].'-4');
+
+        $verify_code = Cache::get($req['new_phone'].'-5');
+        if($verify_code != $req['new_verify_code']){
+            if (env('APP_ENV') == 'online' || $req['new_verify_code'] != '111111') {
+                return out(null, 10002, '新验证码错误');
+            }
+        }
+        Cache::delete($req['new_phone'].'-5');
+
+        if (User::where('phone', $req['new_phone'])->exists()) {
+            return out(null, 30008, '新手机号已经被占用');
+        }
+
+        User::where('id', $user['id'])->update(['phone' => $req['new_phone']]);
+
+        return out();
+    }
 }