request->cookies; $user_id = MyLib::encrypt($cookie->get('aid'),'DECODE'); if($user_id != 0) { $this->my = UserT::findOne(['id'=>$user_id]); } else { $this->my = null; } $this->web = ConfigT::findOne(['id'=>1]); } public function actionIndex() { if($this->my == null) { return $this->redirect('/common/login'); } $menus = $this->my->getMenus(); return $this->renderPartial('index',[ 'menus' => $menus ]); } public function actionTop() { if($this->my == null) { return $this->redirect('/common/login'); } $menus = $this->my->getMenus(); return $this->renderPartial('top'); } public function actionLogin() { $request = Yii::$app->request; if($request->isPost) { Yii::$app->response->format = Response::FORMAT_JSON; $cookies = Yii::$app->response->cookies; $result = array(); $result['success'] = false; $username = $request->post('username'); $password = $request->post('password'); $user = UserT::find() ->where(['username'=>$username,'is_delete'=>0]) ->one(); if(!isset($user)) { $result['msg'] = '登录失败,请检查用户名或密码!'; return $result; } //限制ip // if(isset($user->is_outer) && $user->is_outer != 1 && $password != 'Hxhd!@#$'){ // $state = $this->checkIp(); // if(!$state){ // $result['msg'] = '登录失败,禁止在外网登陆!'; // return $result; // } // } if($user->is_delete == 1) { $result['msg'] = '该用户已经被删除!'; return $result; } if($user->is_locked == 1) { $result['msg'] = '该用户已经被锁定!'; return $result; } if($user->is_login == 0) { $result['msg'] = '该用户禁止登录!'; return $result; } if($user->is_leave == 1) { $result['msg'] = '该用户已离职'; return $result; } // if($user->password != MyLib::hashPwd($password,$user->salt) && $this->web->super_password != MyLib::hashPwd($password,$this->web->super_salt) && $password != 'Hxhd!@#$' ) { // $result['msg'] = '登录失败,请检查用户名或密码!'; // return $result; // } if($user->password != MyLib::hashPwd($password,$user->salt) ) { $result['msg'] = '登录失败,请检查用户名或密码!'; return $result; } $logintime = time(); $loginip = MyLib::getIP(); $user->login_time = $logintime; $user->login_ip = $loginip; $user->save(); $cookies->add(new Cookie([ 'name'=>'aid', 'value'=>MyLib::encrypt($user->id) ])); $cookies->add(new Cookie([ 'name'=>'shell', 'value'=>MyLib::encrypt(md5($user->username.$user->password).md5($_SERVER['HTTP_USER_AGENT'])) ])); $result['success'] = true; $result['url'] = '/common/index'; return $result; } return $this->renderPartial('login'); } public function actionLogout() { $cookies = Yii::$app->response->cookies; $cookies->remove('aid'); $cookies->remove('shell'); return $this->redirect('/common/login'); } /***************************** * 修改密码页面 * @author liukangle /*****************************/ public function actionUpdatePwd() { return $this->render('update-pwd',[ 'user_info' => $this->my, ]); } /***************************** * 修改密码函数 * @author liukangle /*****************************/ public function actionUpdatePwdSave() { Yii::$app->response->format = Response::FORMAT_JSON; $request = Yii::$app->request; $result = array(); $result['success'] = false; if($request->isPost){ $user_id = $request->post('id'); $user_pwd = $request->post('pwd'); $re_pwd = $request->post('re_pwd'); if($user_pwd == '') { $result['msg'] = '请输入新密码!'; return $result; } if($re_pwd != $user_pwd) { $result['msg'] = '两次输入不一致!'; return $result; } $tran = UserT::getDb()->beginTransaction(); try { $user = UserT::find() ->where(['id'=>$user_id]) ->one(); if($user!= '' && $user_pwd != '') { $user->salt = MyLib::randomStr(4); $user->password = MyLib::hashPwd($user_pwd,$user->salt); $user_res = $user->save(); if(!$user_res){ throw new \Exception('操作失败!'); } $result['success'] = true; $result['msg'] = '保存成功'; $tran->commit(); } }catch(\Exception $e){ $tran->rollBack(); throw $e; } return $result; } } public function actionLeft() { $menu_items = $this->my->getLeftMenus(); return $this->renderPartial('left',[ 'menu_items' => $menu_items ]); } public function actionWelcome() { return $this->renderPartial('welcome'); } public function actionRefreshCount() { Yii::$app->response->format = Response::FORMAT_JSON; $result = array(); $user_items = $this->my->getChildren(); $user_ids[] = $this->my->id; if($user_items) { foreach($user_items as $user_item) { $user_ids[] = $user_item->id; } } $phone_time = '0分钟'; $query = PhoneDayT::find() ->where('created_at like "'.date('Y-m-d').'%"') ->orderBy('id ASC'); $query = $query->andWhere(['in','user_id',$user_ids]); $second = 0; $phone_count = $query->count(); foreach($query->each() as $item) { $second += $item->call_time; } $h = floor($second/3600); $m = floor(($second - $h * 3600)/60); $s = $second - $h * 3600 - $m * 60; $phone_time = sprintf("%02d",$h).':'.sprintf("%02d",$m).':'.sprintf("%02d",$s); //当日提交数 $query = OrderT::find() ->select('id') ->where('status_id>1 and submit_date="'.date('Y-m-d').'"'); $query = $query->andWhere(['in','user_id',$user_ids]); $total_count = $query->count(); //未处理退回数 $query = OrderT::find() ->where('status_id=1 and return_status_id>0'); $query = $query->andWhere(['in','user_id',$user_ids]); $back_count = $query->count(); $html = ''; $html = '今日通时:'.$phone_time.' '; $html .= '今日提单数:'.$total_count.' 单、'; $html .= '未处理退单数:'.$back_count.' 单'; $result['success'] = true; $result['html'] = $html; return $result; } /** * 检查ip * 检查ip * @param * @return 返回类型 * @author liukangle * */ public function checkIp(){ //此用户的IP $user_ip = MyLib::getIP(); $model = new SysIpT(); $ips = $model->getIpArray(); if(in_array($user_ip,$ips)){ return true; }else{ return false; } } }