field('user_avatar, google_secret')->where('id', $uid)->find(); // 获取管理员的权限 $menu_list = $this->getAdminMeunList(); $pay_money = 0; if ($this->role_name == '平台管理员') { $paltform = db('groups')->where('admin_id', $uid)->field('money')->find(); $pay_money = isset($paltform['money']) ? $paltform['money'] : 0; } if ($this->role_name == '组长') { $organize = db('organize')->where('admin_id', $uid)->field('money')->find(); $pay_money = isset($organize['money']) ? $organize['money'] : 0; } $this->assign([ 'admin_img' => $admin_data['user_avatar'], 'admin_name' => session('user_name'), 'menu_one' => $menu_list['menu_one'], 'menu_two' => $menu_list['menu_two'], 'role_name' => session('role_name'), 'pay_money' => $pay_money, 'ga_android' => config('ga_android'), 'ga_ios' => config('ga_ios'), 'google_secret' => $admin_data['google_secret'] ? 1 : 0, ]); return $this->fetch('/index'); } // 后台默认首页 public function indexPage() { if ($this->role_name == '组长') { $this->redirect(url('Users/index')); } $now_date = date('Y-m-d'); //获取当日咨询信息 if ($this->is_root) { $data = db('now_data')->where('now_date', $now_date)->select(); $data['is_talking'] = 0; $data['in_queue'] = 0; $data['online_kf'] = 0; $data['success_in'] = 0; $data['total_in'] = 0; $data['order_num'] = 0; $data['money_total'] = 0; foreach ($data as $vo) { $data['is_talking'] += $vo['is_talking']; $data['in_queue'] += $vo['in_queue']; $data['online_kf'] += $vo['online_kf']; $data['success_in'] += $vo['success_in']; $data['total_in'] += $vo['total_in']; $data['order_num'] += $vo['order_num']; $data['money_total'] += $vo['money_total']; } } elseif($this->role_name == '平台管理员') { $data = db('now_data')->where('now_date', $now_date)->where($this->where)->find(); } //无当日信息 初始化数据 if (empty($data)) { $data['is_talking'] = 0; $data['in_queue'] = 0; $data['online_kf'] = 0; $data['success_in'] = 0; $data['total_in'] = 0; $data['order_num'] = 0; $data['money_total'] = 0; } // dump($this->where);return; // 生成从 8点 到 22点的时间数组 $dateLine = array_map(function ($vo) { if ($vo < 10) { return '0'.$vo; } else { return $vo; } }, range(8, 22)); // 初始化数据 $line = []; foreach ($dateLine as $key => $vo) { $line[$vo] = [ 'is_talking' => 0, 'in_queue' => 0, 'success_in' => 0, 'order_num' => 0, 'money_total' => 0, ]; } // 对时间线进行赋值 $dbData = db('service_data')->where('add_date', $now_date)->where($this->where)->group('add_hour')->select(); // var_dump($line); foreach ($dbData as $k => $v) { $check_is_time_line = array_key_exists($v['add_hour'], $line); if (!$check_is_time_line) { continue; } $line[$v['add_hour']]['is_talking'] = $v['is_talking']; $line[$v['add_hour']]['in_queue'] = $v['in_queue']; $line[$v['add_hour']]['success_in'] = $v['success_in']; $line[$v['add_hour']]['total_in'] = $v['total_in']; $line[$v['add_hour']]['order_num'] = $v['order_num']; $line[$v['add_hour']]['money_total'] = $v['money_total']; } // dump($dbData); $showData = []; foreach ($line as $key => $vo) { $showData['is_talking'][] = $vo['is_talking']; // $showData['in_queue'][] = $vo['in_queue']; $showData['success_in'][] = $vo['success_in']; // $showData['total_in'][] = $vo['total_in']; $showData['order_num'][] = $vo['order_num']; $showData['money_total'][] = $vo['money_total']; } // dump($showData);return; $this->assign([ 'data' => $data, 'show_data' => json_encode($showData), ]); return $this->fetch('index'); } // 清除缓存 public function clear() { if (false === removeDir(RUNTIME_PATH)) { return json(['code' => -1, 'data' => '', 'msg' => '清除缓存失败']); } return json(['code' => 1, 'data' => '', 'msg' => '清除缓存成功']); } // 修改管理员密码 public function changePassword() { if (request()->isPost()) { $param = input('post.'); $reLogin = false; if (empty($param['old_pwd']) && !empty($param['password'])) { return json(['code' => -2, 'data' => '', 'msg' => '请输入旧密码']); } if (!empty($param['old_pwd']) && empty($param['password'])) { return json(['code' => -3, 'data' => '', 'msg' => '请输入新密码']); } if ($param['password'] != $param['password_c']) { return json(['code' => -3, 'data' => '', 'msg' => '两次密码不一致']); } if (!empty($param['old_pwd']) && !empty($param['password'])) { $rule = '/^(?![0-9]+$)(?![a-zA-Z]+$)[0-9A-Za-z]{6,15}$/'; if (!preg_match($rule, $param['password'])) { return json(['code' => -2, 'data' => '', 'msg' => '密码必须是6-15位的字母和数字组成!']); } $userInfo = db('admins')->where('id', session('user_id'))->find(); if (empty($userInfo)) { return json(['code' => -4, 'data' => '', 'msg' => '管理员不存在']); } if (!password_verify($param['old_pwd'], $userInfo['password'])) { return json(['code' => -1, 'data' => '', 'msg' => '旧密码错误']); } $info['password'] = password_hash($param['password'], PASSWORD_DEFAULT); $reLogin = true; } db('admins')->where('id', session('user_id'))->setField('password', $info['password']); return json(['code' => 1, 'data' => $reLogin, 'msg' => '修改信息成功']); } } //修改管理员头像 public function changeImg() { if (request()->isPost()) { $param = input('post.'); if (empty($param['user_avatar'])) { return json(['code' => 0, 'data' => $param, 'msg' => '上传头像不能为空']); } $result = db('admins')->where('id', session('user_id'))->setField('user_avatar', $param['user_avatar']); if (!$result) { return json(['code' => 1, 'data' => '', 'msg' => '头像修改失败,请重新上传']); } return json(['code' => 2, 'data' => '', 'msg' => '修改头像成功']); } } // 上传管理员头像 public function upAvatar() { if (request()->isAjax()) { $file = request()->file('file'); if (!empty($file)) { $fileInfo = $file->getInfo(); /*if($fileInfo['size'] > 1024 * 1024 * 2){ // 上传失败获取错误信息 return json( ['code' => -2, 'data' => '', 'msg' => '文件超过2M'] ); }*/ //检测图片格式 $ext = explode('.', $fileInfo['name']); $ext = array_pop($ext); $extArr = explode('|', 'jpg|png|gif|jpeg'); if(!in_array($ext, $extArr)){ return json(['code' => -3, 'data' => '', 'msg' => '只能上传jpg|png|gif|jpeg的文件']); } // 移动到框架应用根目录/public/uploads/ 目录下 $info = $file->move(ROOT_PATH.'public'.DS.'uploads'.DS.'avatar'); if ($info) { $src = config('img_take_prefix').'/uploads/avatar'.'/'.date('Ymd').'/'.$info->getFilename(); return json(['code' => 0, 'data' => ['src' => $src], 'msg' => 'ok']); } else { // 上传失败获取错误信息 return json(['code' => -1, 'data' => '', 'msg' => $file->getError()]); } } } } }