Commit 1aa21c25 by 杨昕

优化后台用户登录

parent 5ac46a41
Pipeline #14720 passed with stages
in 3 minutes 8 seconds
......@@ -47,26 +47,41 @@ class LoginController extends Controller
if (!$request->username) {
throw new ControllerException(400, '昵称必须填写');
}
$len = strlen($request->username);
if ($len < 5){
throw new \Exception('用户名称长度不能小于5个字符');
}
/**
* 用户名称是有四部分组成,姓名-新账号-旧账号-mis_uid
*/
* 用户名称是有三部分组成,姓名-新账号-旧账号
* user用户名称有两种类型的账号,早期账号用户名称只有员工旧账户,二期项目用户名称由三部分组成
**/
$user = UserModel::where('name', 'regexp', '/^.*?'.$request->username.'/')->first();
if (!empty($user)){
//1.处理二期之后新用户名称
$temp = explode("-",$user["name"]);
if (count($temp)>1){
if (!in_array($request->username,array_slice($temp,1))){
throw new \Exception("用户名或者密码有误");
}
}else{
if ($request->username != $user->name){
throw new \Exception("用户名或者密码有误");
}
}
if (md5($request->password) != $user->password ){
throw new \Exception('用户名或者密码有误');
}
//为了媒资新旧账号统一,需要以员工mis编号作为用户唯一标识符
if (!$user->mis_uid){
$request->replace(array_merge($request->all(),["staffNo"=>$request->username]));
/**
* 获取mis用户信息
*/
$userInfo = UserModel::getMisInfo($request);
#获取mis用户信息
$userInfo = UserModel::getMisInfo($request);
$userid = $userInfo['userId'];
$flag = UserModel::where("_id",$user->_id)->update(['mis_uid'=>$userid]);
......@@ -74,12 +89,11 @@ class LoginController extends Controller
LogModel::addlog(['更新用户mis_uid失败'=>json_encode(['mis_uid'=>$userid])]);
throw new \Exception("更新用户mis_uid失败");
}
}
}else{
//新用户第一次登录,直接往媒资注册
$request->replace(array_merge($request->all(),["staffNo"=>$request->username]));
$userInfo = UserModel::getMisInfo($request);
$mis_uid = $userInfo["userId"];
......@@ -92,7 +106,7 @@ class LoginController extends Controller
}
$data_arr = [
'name' => $userInfo['nickName'],
'name' => $userInfo['nickName'],//包含了三部分数据,姓名-新账号-旧账号
'password' => md5($request->password),
'organization_id' => 0,
'status' => 0,
......@@ -110,8 +124,6 @@ class LoginController extends Controller
}
Auth::login($user);
return $user;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment