wesmiler 2 лет назад
Родитель
Сommit
b5f99e9d07

+ 2 - 1
app/Http/Controllers/Api/v1/MemberController.php

@@ -109,7 +109,8 @@ class MemberController extends webApp
         }
 
         if(!MemberService::make()->modify($this->userId, $params)){
-            return showJson(MemberService::make()->getError(),false);
+            $error = MemberService::make()->getError();
+            return showJson($error,false,'',$error==1040?405:0);
         }else{
             return showJson(1013,true);
         }

+ 13 - 7
app/Services/Api/MemberService.php

@@ -711,9 +711,10 @@ class MemberService extends BaseService
         $email = isset($params['email']) ? $params['email'] : '';
         $password = isset($params['password']) ? $params['password'] : '';
         $payPassword = isset($params['pay_password']) ? $params['pay_password'] : '';
+        $scene = isset($params['scene'])? trim($params['scene']) : '';
 
         // 用户验证
-        $info = $this->model->where(['id' => $userId, 'mark' => 1])->select(['id', 'status'])->first();
+        $info = $this->model->where(['id' => $userId, 'mark' => 1])->select(['id','pay_password', 'status'])->first();
         if (!$info) {
             $this->error = 2001;
             return false;
@@ -727,11 +728,17 @@ class MemberService extends BaseService
 
         // 密码校验
         $data = ['update_time' => time()];
-        if (isset($params['password']) && $password) {
-            $password = get_password($password);
-            $data['password'] = $password;
-            if ($password != $info['password']) {
-                $this->error = 2002;
+
+        // 验证交易密码
+        if(isset($params['pay_password']) && $scene != 'trade'){
+            $userPayPassword = isset($info['pay_password'])? $info['pay_password'] : '';
+            if(empty($userPayPassword)){
+                $this->error = 1040;
+                return false;
+            }
+
+            if($userPayPassword != get_password($payPassword)){
+                $this->error = 2038;
                 return false;
             }
         }
@@ -753,7 +760,6 @@ class MemberService extends BaseService
 
             // 邮箱验证码
             $code = isset($params['code'])? trim($params['code']) : '';
-            $scene = isset($params['scene'])? trim($params['scene']) : '';
             $checkEmail = $scene == 'modify_email'? $newEmail : $email;
             if (!EmailService::make()->check($checkEmail, $code, $scene)) {
                 $this->error = EmailService::make()->getError();