|
@@ -913,6 +913,83 @@ class MemberService extends BaseService
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
|
|
|
+ * 找回密码
|
|
|
|
|
+ * @param $userId
|
|
|
|
|
+ * @param $params
|
|
|
|
|
+ * @return bool
|
|
|
|
|
+ */
|
|
|
|
|
+ public function forget($params)
|
|
|
|
|
+ {
|
|
|
|
|
+ $email = isset($params['email']) ? $params['email'] : '';
|
|
|
|
|
+ $mobile = isset($params['mobile']) ? $params['mobile'] : '';
|
|
|
|
|
+ $password = isset($params['password']) ? $params['password'] : '';
|
|
|
|
|
+ $type = isset($params['type'])? trim($params['type']) : '';
|
|
|
|
|
+ $scene = isset($params['scene'])? trim($params['scene']) : '';
|
|
|
|
|
+ if(empty($email) && empty($mobile)){
|
|
|
|
|
+ $this->error = 1064;
|
|
|
|
|
+ return false;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ if (empty($password)){
|
|
|
|
|
+ $this->error = 1065;
|
|
|
|
|
+ return false;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ // 用户验证
|
|
|
|
|
+ if($mobile){
|
|
|
|
|
+ $info = $this->model->with(['parent'])->where(['mobile' => $mobile, 'mark' => 1])->select(['id','pay_password','parent_id','code', 'status'])->first();
|
|
|
|
|
+ }else{
|
|
|
|
|
+ $info = $this->model->with(['parent'])->where(['email' => $email, 'mark' => 1])->select(['id','pay_password','parent_id','code', 'status'])->first();
|
|
|
|
|
+ }
|
|
|
|
|
+ if (!$info) {
|
|
|
|
|
+ $this->error = 2001;
|
|
|
|
|
+ return false;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ // 使用状态校验
|
|
|
|
|
+ if ($info['status'] != 1) {
|
|
|
|
|
+ $this->error = 2009;
|
|
|
|
|
+ return false;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ // 邮箱验证
|
|
|
|
|
+ if (isset($params['email']) && $email) {
|
|
|
|
|
+ // 邮箱验证码
|
|
|
|
|
+ $code = isset($params['code'])? trim($params['code']) : '';
|
|
|
|
|
+ if (!EmailService::make()->check($email, $code, $scene)) {
|
|
|
|
|
+ $this->error = EmailService::make()->getError();
|
|
|
|
|
+ return false;
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ // 手机号验证
|
|
|
|
|
+ if (isset($params['mobile']) && $mobile) {
|
|
|
|
|
+ // 手机验证码
|
|
|
|
|
+ $code = isset($params['code'])? trim($params['code']) : '';
|
|
|
|
|
+ if (!SmsService::make()->check($mobile, $code, $scene)) {
|
|
|
|
|
+ $this->error = SmsService::make()->getError();
|
|
|
|
|
+ return false;
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ // 密码校验
|
|
|
|
|
+ $data = ['update_time' => time()];
|
|
|
|
|
+
|
|
|
|
|
+ if (isset($params['password']) && $password) {
|
|
|
|
|
+ $password = get_password($password);
|
|
|
|
|
+ $data['password'] = $password;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ if($this->model->where(['id' => $info['id']])->update($data)){
|
|
|
|
|
+ $this->error = 1013;
|
|
|
|
|
+ return true;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ $this->error = 1014;
|
|
|
|
|
+ return true;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
* 身份认证
|
|
* 身份认证
|
|
|
* @param $userId
|
|
* @param $userId
|
|
|
* @param $params
|
|
* @param $params
|