fly 5 years ago
parent
commit
e518aed903

+ 8 - 4
app/Http/Controllers/QuickApp/User/UserController.php

@@ -144,10 +144,14 @@ class UserController extends BaseController
     public function sendCode(Request $request)
     {
         $phone = $request->post('phone');
-        $code = random_int(1000, 9999);
-        Redis::setex('quser_code:' . $phone, 120, $code);
-        AliSMS::send($phone, 'quickapp_user_bind_phone', ['code' => $code]);
-        return response()->success();
+        if ($this->phone && $this->phone == $phone || !$this->phone) {
+            $code = random_int(1000, 9999);
+            Redis::setex('quser_code:' . $phone, 120, $code);
+            AliSMS::send($phone, 'quickapp_user_bind_phone', ['code' => $code]);
+            return response()->success();
+        } else {
+            response()->error('WAP_BIND_PHONE_EXIST');
+        }
     }
 
     /**

+ 17 - 22
app/Modules/User/Services/QappUserService.php

@@ -54,31 +54,26 @@ class QappUserService
      */
     public function bindPhone(int $uid, string $phone)
     {
-        $is_exists = QappUser::where('phone', $phone)->exists();
-        if ($is_exists) {
+        $qapp_user = QappUser::where('uid', $uid)->first();
+        if ($qapp_user->phone && $qapp_user->phone != $phone) {
             return false;
         } else {
-            $qapp_user = QappUser::where('uid', $uid)->first();
-            if ($qapp_user->phone) {
-                return false;
-            } else {
-                try {
-                    DB::beginTransaction();
-                    $qapp_user->phone = $phone;
-                    $qapp_user->save();
-                    $reward = 100;
-                    User::where('id', $uid)->update(
-                        [
-                            'balance' => DB::raw('balance+' . $reward),
-                            'reward_balance' => DB::raw('reward_balance+' . $reward)
-                        ]
-                    );
-                    DB::commit();
-                } catch (Exception $e) {
-                    myLog('bindPhone')->error($e->getMessage());
-                }
-                return true;
+            try {
+                DB::beginTransaction();
+                $qapp_user->phone = $phone;
+                $qapp_user->save();
+                $reward = 100;
+                User::where('id', $uid)->update(
+                    [
+                        'balance' => DB::raw('balance+' . $reward),
+                        'reward_balance' => DB::raw('reward_balance+' . $reward)
+                    ]
+                );
+                DB::commit();
+            } catch (Exception $e) {
+                myLog('bindPhone')->error($e->getMessage());
             }
+            return true;
         }
     }
 

+ 1 - 1
config/error.php

@@ -162,7 +162,7 @@ return [
         'WAP_HAD_ON_SHELF' => ['code' => 10024, 'msg' => '已经在书架上了'],
         //送礼
         'WAP_SEND_GIFT_FAILED' => ['code' => 10028, 'msg' => '送礼失败!请稍后再试!'],
-        'WAP_BIND_PHONE_EXIST' => ['code' => 10029, 'msg' => '手机号码已经被绑定了'],
+        'WAP_BIND_PHONE_EXIST' => ['code' => 10029, 'msg' => '手机号码已经绑定设备'],
         'WAP_SEND_OPENID_EXIST' => ['code' => 10030, 'msg' => '您已经绑定过'],
         'WAP_SEND_CODE_ERROR' => ['code' => 10031, 'msg' => '验证码错误'],
         //XCX小程序