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;
}
}
}