protected function get_area_data() { foreach ($this->_area_list as $v) { $arr = $this->_redis->lRange($v, 0, 500); $reg = 0; $reg_in = 0; $auth = 0; $auth_in = 0; //获得认证总数 $remote = new maindb(); foreach ($arr as $row) { $num1 = $remote->count('p_user', '*', array('school' => $row)); $reg += $num1; $num2 = $remote->count('p_user', '*', array('AND' => array('school' => $row, 'invite[!]' => ''))); $reg_in += $num2; $num3 = $remote->count('p_user', '*', array('AND' => array('school' => $row, 'auth' => 1))); $auth += $num3; $num4 = $remote->count('p_user', '*', array('AND' => array('school' => $row, 'auth' => 1, 'invite[!]' => ''))); $auth_in += $num4; } $result = array('register_all' => $reg, 'authority_all' => $auth, 'register_invite' => $reg_in, 'authority_invite' => $auth_in, 'register_nature' => $reg - $reg_in, 'authority_nature' => $auth - $auth_in); $this->_redis->hMset('_' . $v, $result); echo $v . '成功!'; } // $this->_redis->hMset('_安徽',array( // 'name'=>'keensting', // 'age'=>23, // 'school'=>'wwwww', // )); // // $list=$this->_redis->hGetAll('_安徽'); // print_r($list); }
protected function performance_data() { $remote = new maindb(); $num = $remote->count('p_user', '*', array('invite' => $this->key)); $re = $remote->select('p_user', array('nickname', 'phone', 'auth'), array('invite' => $this->key, 'LIMIT' => 20)); if ($num != 0) { $pages = ceil($num / 20); //分多少页 } else { $pages = 0; } //推送总数和数据 $this->assign('data', array('num' => $num, 'list' => $re, 'pages' => $pages, 'index' => 1, 'key' => $this->key)); }
static function manager_area_data_load($area, $start = 0, $end = 9999999999) { $result = array(); if ($start == 0 && $end == 9999999999) { //缓存中寻找数据 try { $redis = new Redis(); } catch (Exception $e) { echo $e->getMessage(); } $redis->connect('127.0.0.1', 6379); $result = $redis->hGetAll('_' . $area); } //缓存中没有,去数据库查找 if (empty($result)) { $list = self::through_area_get_school($area); $reg = 0; $reg_in = 0; $auth = 0; $auth_in = 0; //获得认证总数 $remote = new maindb(); foreach ($list as $v) { $num1 = $remote->count('p_user', '*', array('AND' => array('school' => $v, 'reg_time[>]' => $start, 'reg_time[<]' => $end))); $reg += $num1; $num2 = $remote->count('p_user', '*', array('AND' => array('school' => $v, 'reg_time[>]' => $start, 'reg_time[<]' => $end, 'invite[!]' => ''))); $reg_in += $num2; $num3 = $remote->count('p_user', '*', array('AND' => array('school' => $v, 'auth_time[>]' => $start, 'auth' => 1, 'auth_time[<]' => $end))); $auth += $num3; $num4 = $remote->count('p_user', '*', array('AND' => array('school' => $v, 'auth_time[>]' => $start, 'auth' => 1, 'auth_time[<]' => $end, 'invite[!]' => ''))); $auth_in += $num4; } $result = array('register_all' => $reg, 'authority_all' => $auth, 'register_invite' => $reg_in, 'authority_invite' => $auth_in, 'register_nature' => $reg - $reg_in, 'authority_nature' => $auth - $auth_in); } unset($redis); return $result; }
$begin = gmmktime(0, 0, 0, $arr[0], $arr[1], $arr[2]); } if ($end != 9999999999) { $arr = explode('/', substr($end, 0, 10)); $end = gmmktime(0, 0, 0, $arr[0], $arr[1], $arr[2]); } $re = $local->select('ambassador', '*', array('AND' => array('ekey' => $key, 'auth[!]' => 0))); if (empty($re[0])) { echo 'error'; } else { if ($re[0]['province'] != $_SESSION['userinfo']['province'] && $_SESSION['userinfo']['auth'] == 1) { echo 'unauthrized'; exit; } //key拥有者所在学校的数据 $reg = $remote->count('p_user', '*', array('school' => $re[0]['school'])); $aut = $remote->count('p_user', '*', array("AND" => array('school' => $re[0]['school'], 'auth' => 1))); $reg_in = $remote->count('p_user', '*', array("AND" => array('school' => $re[0]['school'], 'invite[!]' => ''))); $aut_in = $remote->count('p_user', '*', array("AND" => array('school' => $re[0]['school'], 'invite[!]' => '', 'auth' => 1))); $school_data = array('reg' => $reg, 'aut' => $aut, 'reg_in' => $reg_in, 'aut_in' => $aut_in, 'reg_na' => $reg - $reg_in, 'aut_na' => $aut - $aut_in); $re[0]['reg'] = $remote->count('p_user', '*', array('AND' => array('invite' => $re[0]['ekey'], 'reg_time[>]' => $begin, 'reg_time[<]' => $end))); $re[0]['aut'] = $remote->count('p_user', '*', array('AND' => array('invite' => $re[0]['ekey'], 'auth_time[>]' => $begin, 'auth' => 1, 'auth_time[<]' => $end))); $re[0]['my_auth'] = $_SESSION['userinfo']['auth']; $re[0]['ord'] = $local->count('orders', '*', array('AND' => array('ekey' => $re[0]['ekey'], 'u_time[>]' => $begin, 'u_time[<]' => $end))); echo json_encode(array('info' => $re[0], 'data' => $school_data)); } exit; } elseif ($type == 'school') { //按照学校查询 $name = $_POST['name']; $begin = $_POST['begin'];
/** *获得自身的注册数和认证数&订单数,如果我是主管,将学校列表写入session */ protected function get_self_counter() { $local = new medoo(); $db = new maindb(); $register = $db->count('p_user', '*', array('invite' => $_SESSION['userinfo']['ekey'])); $authority = $db->count('p_user', '*', array('AND' => array('invite' => $_SESSION['userinfo']['ekey'], 'auth' => 1))); $orders = $local->count('orders', '*', array('ekey' => $_SESSION['userinfo']['ekey'])); unset($db); unset($local); if ($_SESSION['userinfo']['auth'] == 1) { //主管,写入学校列表 $_SESSION['school'] = school_handler::through_area_get_school($_SESSION['userinfo']['province']); } $_SESSION['userinfo']['register'] = $register; $_SESSION['userinfo']['authority'] = $authority; $_SESSION['userinfo']['orders'] = $orders; }
/** * Created by PhpStorm. * User: KeenSting * Date: 2015/10/15 * Time: 17:09 */ require_once '../../../medoo/medoo.php'; require_once '../../../medoo/maindb.php'; $type = $_POST['type']; $begin = ($_POST['index'] - 1) * 20; $local = new medoo(); $remote = new maindb(); //管理员查全部的 if ($type == 'admin') { $re = $local->select('ambassador', '*', array('auth[>]' => 0, 'LIMIT' => [$begin, 20])); } elseif ($type == 'manager') { $province = $_POST['province']; $re = $local->select('ambassador', '*', array('AND' => array('province' => $province, 'auth' => 2), 'LIMIT' => [$begin, 20])); } //统一去远端数据库匹配数据 foreach ($re as &$v) { $reg = $remote->count('p_user', '*', array('invite' => $v['ekey'])); $aut = $remote->count('p_user', '*', array('AND' => array('invite' => $v['ekey'], 'auth' => 1))); $orders = $local->count('orders', '*', array('ekey' => $v['ekey'])); $v['reg'] = $reg; $v['aut'] = $aut; $v['ord'] = $orders; } unset($remote); unset($local); echo json_encode(array('index' => $_POST['index'], 'list' => $re));