作者 赵彬吉

Merge branch 'develop' of http://47.244.231.31:8099/zhl/globalso-v6 into develop

... ... @@ -104,23 +104,35 @@ class UserLoginLogic
$info = $this->model->read(['mobile'=>$this->param['mobile'],'password'=>$password,'status'=>$this::USER_STATUS],
['id','mobile','role_id','token','name','project_id']);
if($info === false){
//账号密码没通过时,验证验证码验证验证码是否准备
$last_sms = SmsLog::getLastLog($this->param['mobile'], SmsLog::TYPE_LOGIN);
if($this->param['password'] != $last_sms->code){
$this->fail('账号密码错误/验证码错误',Code::USER_REGISTER_ERROE);
}
$info = $this->model->read(['mobile'=>$this->param['mobile']],['id','mobile','status','role_id','token','name','project_id']);
if($info === false){
$this->fail('当前用户不存在',Code::USER_REGISTER_ERROE);
}
if($info['status'] != self::USER_STATUS){
$this->fail('当前用户被禁用',Code::USER_REGISTER_ERROE);
}
$info = $this->verifyCode($this->param['mobile'],$this->param['password']);
}
return $this->success($info);
}
/**
* @remark :验证验证码是否正确或是否过期
* @name :verifyCode
* @author :lyh
* @method :post
* @time :2023/7/25 17:17
*/
public function verifyCode($mobile,$password){
//账号密码没通过时,验证验证码
$smsModel = new SmsLog();
$smsInfo = $smsModel->formatQuery(['mobile'=>$mobile,'type'=>$smsModel::TYPE_LOGIN])->orderBy('id','desc')->first();
if(($password != $smsInfo['code']) || ($smsInfo['created_at'] < date('Y-m-d H:i:s',time() - 300))){
$this->fail('账号密码错误/验证码错误',Code::USER_REGISTER_ERROE);
}
$info = $this->model->read(['mobile'=>$this->param['mobile']],['id','mobile','status','role_id','token','name','project_id']);
if($info === false){
$this->fail('当前用户不存在',Code::USER_REGISTER_ERROE);
}
if($info['status'] != self::USER_STATUS){
$this->fail('当前用户被禁用',Code::USER_REGISTER_ERROE);
}
return $info;
}
/**
* @name :(验证角色是否禁用)verifyRole
* @author :lyh
* @method :post
... ...
... ... @@ -9,7 +9,7 @@ namespace App\Models;
use Illuminate\Database\Eloquent\Model;
class SmsLog extends Model
class SmsLog extends Base
{
//设置关联表名
protected $table = 'gl_sms_log';
... ... @@ -46,4 +46,5 @@ class SmsLog extends Model
{
return self::where(compact('type', 'mobile'))->orderBy('id', 'desc')->first();
}
}
\ No newline at end of file
}
... ...