doctor = $doctorModel; $this->visit = $visitModel; $this->doctorruleModel = $doctorruleModel; } public function checkIsSet($params,$password='') { $where = []; if(empty($password)) { //为空 解密失败 则尝试base64 $where['username'] = $params['username']; $where['password'] = md5(base64_decode($params['password'])); $doctor = $this->doctor->getUser($where); if(empty($doctor)){ $this->throwError('账号或密码错误',1); } }else{ //不为空 则解密成功 $where['username'] = $params['username']; $where['password'] = $password; $doctor = $this->doctor->getUser($where); if(empty($doctor)){ $this->throwError('账号或密码错误',1); } } $institution = $this->doctor->getInstitutionData($doctor['institution_id']); $department = $this->doctor->getDepartment($doctor['department_id']); $doctor['institution'] = $institution['name']; $doctor['is_new_browser'] = $institution['is_new_browser']; $doctor['department'] = $department; if(!empty($doctor['doctor_role'])){ $doctor['doctor_role'] = explode(',',$doctor['doctor_role']); } return $doctor; } public function getDoctorByPhone($phone) { $doctor = $this->doctor->getDoctorByPhone($phone); if(empty($doctor)){ $this->throwError('无法普配手机号',1); } $institution = $this->doctor->getInstitution($doctor['institution_id']); $department = $this->doctor->getDepartment($doctor['department_id']); $doctor['institution'] = $institution; $doctor['department'] = $department; if(!empty($doctor['doctor_role'])){ $doctor['doctor_role'] = explode(',',$doctor['doctor_role']); } return $doctor; } public function saveCache($user) { $token = (time()+86400).rand(0,1000); $data = $this->setCache($token,$user); if(!$data){ $this->throwError('token信息存储失败','0009'); } return $token; } // 更新登录信息 public function saveLoginInfo($user_id) { $loginIp = request()->ip(); $update = [ 'login_ip' => $loginIp, 'login_code' => md5(getNewRand(10)) ]; return $this->doctor ->where('id', $user_id) ->update($update); } public function getInsInfo($id) { $info = $this->doctor->getInstitutionData($id); return $info; } public function getOtherRules($id) { return $this->doctorruleModel->where('doctor_id', $id)->field('institution_id as id,institution_name as name')->select(); } public function getOtherIns($ids) { $info = $this->doctor->getOtherIns($ids); return $info; } public function logout($token) { $data = $this->delCache($token); return $data; } public function out($session) { $data = $this->delCache($session); return $data; } public function saveDoctorVisit($arr) { $this->visit->insert($arr); } }