/** * 通过Ajax获取数据 */ public function ajaxAction() { if ($this->_request->isXmlHttpRequest()) { $assemble = new ZtChart_Model_Assemble('Flserver'); $this->_helper->json($assemble->getAssembleData($this->_getParam('start'), $this->_getParam('end'), Zend_Date::SECOND)); } }
/** * 游戏列表 */ public function groupAction() { $this->view->request = $this->_request; $assemble = new ZtChart_Model_Assemble('Usertrade_Account'); $assemble->setFrontendFormat('group'); $this->view->todayConsume = $assemble->findPredefinedAssembleDataWithConsumeAndApaAndGroup(ZtChart_Model_Assemble_Datetime::TODAY); $this->view->yestodayConsume = $assemble->findPredefinedAssembleDataWithConsumeAndApaAndGroup(ZtChart_Model_Assemble_Datetime::YESTODAY); $this->view->todayConsumeBank = $assemble->findPredefinedAssembleDataWithConsumeAndNetbankAndGroup(ZtChart_Model_Assemble_Datetime::TODAY); $this->view->yestodayConsumeBank = $assemble->findPredefinedAssembleDataWithConsumeAndNetbankAndGroup(ZtChart_Model_Assemble_Datetime::YESTODAY); $assemble = new ZtChart_Model_Assemble('Flserver_Account'); $assemble->setFrontendFormat('group'); $this->view->todayAccount = $assemble->findPredefinedAssembleDataWithAccountAndGroup(ZtChart_Model_Assemble_Datetime::TODAY); $this->view->yestodayAccount = $assemble->findPredefinedAssembleDataWithAccountAndGroup(ZtChart_Model_Assemble_Datetime::YESTODAY); }
/** * 扩展父类功能,设置默认缓存。 */ public function getCacheManager() { if (null != ($cacheManager = parent::getCacheManager())) { // 设置图表数据的缓存 if ($cacheManager->hasCache('chart')) { ZtChart_Model_Assemble::setCache($cacheManager->getCache('chart')); } // 设置权限控制数据的缓存 if ($cacheManager->hasCache('acl')) { ZtChart_Model_Acl_Loader::setCache($cacheManager->getCache('acl')); } // 设置IP数据的缓存 if ($cacheManager->hasCache('ip')) { ZtChart_Model_Assemble_Ip::setCache($cacheManager->getCache('ip')); } } return $cacheManager; }
/** * 充值月趋势 */ public function tendencyAction() { if ($this->_hasParam('chart')) { $assemble = new ZtChart_Model_Assemble('Usertrade_Account', 'RGraph'); } else { $assemble = new ZtChart_Model_Assemble('Usertrade_Account'); } if ($this->_hasParam('gametype')) { $assemble->setGameTypes($this->_getParam('gametype')); } if (0 != ($selectDatetime = $this->_getParam('select_datetime', ZtChart_Model_Assemble_Datetime::THIS_YEAR))) { $chart = $assemble->findPredefinedAssembleDataWithPayment($selectDatetime, Zend_Date::MONTH); $chartBank = $assemble->findPredefinedAssembleDataWithPaymentAndNetbank($selectDatetime, Zend_Date::MONTH); } else { $chart = $assemble->findRangeAssembleDataWithPayment($this->_getParam('start'), $this->_getParam('end'), Zend_Date::DAY); $chartBank = $assemble->findRangeAssembleDataWithPaymentAndNetbank($this->_getParam('start'), $this->_getParam('end'), Zend_Date::DAY); } $this->view->assign($chart); $this->view->assign('chartBank', $chartBank['chart']); }
/** * 地区分布 */ public function areaAction() { if ($this->_hasParam('chart')) { $assemble = new ZtChart_Model_Assemble('Usertrade_Area', 'RGraph'); } else { $assemble = new ZtChart_Model_Assemble('Usertrade_Area'); } if ($this->_hasParam('gametype')) { $assemble->setGameTypes($this->_getParam('gametype')); } $assemble->setFrontendFormat('area'); if (0 != ($selectDatetime = $this->_getParam('select_datetime', ZtChart_Model_Assemble_Datetime::TODAY))) { $chart = $assemble->findPredefinedAssembleDataWithConsume($selectDatetime); $chartBank = $assemble->findPredefinedAssembleDataWithConsumeAndNetbank($selectDatetime); } else { $chart = $assemble->findRangeAssembleDataWithConsume($this->_getParam('start'), $this->_getParam('end'), Zend_Date::DAY); $chartBank = $assemble->findRangeAssembleDataWithConsumeAndNetbank($this->_getParam('start'), $this->_getParam('end'), Zend_Date::DAY); } $this->view->assign($chart); $this->view->assign('chartBank', $chartBank['chart']); }
/** * 取得解析后的日志数据,写入数据库。 * * @param integer $interval * @return void * @throws ZtChart_Model_Monitor_Exception */ public function extract($interval) { foreach (ZtChart_Model_Monitor_Log::getIdentifierClasses() as $identifierClass) { $logIdentifier = constant("{$identifierClass}::LOG_IDENTIFIER"); $shmIdentifier = constant("{$identifierClass}::SHM_IDENTIFIER"); $tmpfile = $this->_tmpfile($logIdentifier); if (file_put_contents($tmpfile, $this->_shmRead($shmIdentifier, true))) { $cachetime = time() - 2; // 当前服务器时间与LogServer时间可能有误差,因此设2秒冗余时间。 try { $affected = $this->_exec("LOAD DATA INFILE '{$tmpfile}' INTO TABLE {$logIdentifier} FIELDS TERMINATED BY ','"); } catch (Zend_Db_Adapter_Exception $e) { throw new ZtChart_Model_Monitor_Exception($e); } try { $assemble = new ZtChart_Model_Assemble($logIdentifier); $assemble->cacheRangeRawData($cachetime - $interval, $cachetime, Zend_Date::SECOND, 300); } catch (ZtChart_Model_Assemble_Exception $e) { $this->_logger->warn($e->getMessage()); } $this->_logger->info("{$identifierClass}: {$affected} 行数据被导入 {$logIdentifier} 表"); } @unlink($tmpfile); } }
/** * 地区分布 */ public function areaAction() { if ($this->_hasParam('chart')) { $assemble = new ZtChart_Model_Assemble('Flserver_Area', 'RGraph'); } else { $assemble = new ZtChart_Model_Assemble('Flserver_Area'); } if ($this->_hasParam('gametype')) { $assemble->setGameTypes($this->_getParam('gametype')); } $assemble->setFrontendFormat('area'); if (0 != ($selectDatetime = $this->_getParam('select_datetime', ZtChart_Model_Assemble_Datetime::TODAY))) { $chart = $assemble->getPredefinedAssembleData($selectDatetime); } else { $chart = $assemble->getRangeAssembleData($this->_getParam('start'), $this->_getParam('end'), Zend_Date::DAY); } $this->view->assign($chart); }
/** * 设置缓存对象 * * @static * @param Zend_Cache_Core $cache */ public static function setCache($cache) { self::$_cache = $cache; }
/** * 实时消耗 */ public function consumeAction() { if ($this->_hasParam('chart')) { $assemble = new ZtChart_Model_Assemble('Usertrade', 'RGraph'); if ($this->_hasParam('gametype')) { $assemble->setGameTypes($this->_getParam('gametype')); } $consume = $assemble->findRangeAssembleDataWithConsume($this->_getParam('start'), $this->_getParam('end'), Zend_Date::SECOND); $netbank = $assemble->findRangeAssembleDataWithConsumeAndNetbank($this->_getParam('start'), $this->_getParam('end'), Zend_Date::SECOND); $this->view->assign(compact('consume', 'netbank')); } else { if ($this->_hasParam('control')) { $this->render('consumeControl'); } } }
/** * 今日地区分布 */ public function areaAction() { if ($this->_hasParam('chart')) { if ('pieAccess' == $this->_getParam('chart')) { $assemble = new ZtChart_Model_Assemble('Flserver_Area', 'RGraph'); if ($this->_hasParam('gametype')) { $assemble->setGameTypes($this->_getParam('gametype')); } $assemble->setFrontendFormat('area'); $this->view->assign($assemble->getPredefinedAssembleData(ZtChart_Model_Assemble_Datetime::TODAY)); } if ('pieConsume' == $this->_getParam('chart')) { $assemble = new ZtChart_Model_Assemble('Usertrade_Area', 'RGraph'); if ($this->_hasParam('gametype')) { $assemble->setGameTypes($this->_getParam('gametype')); } $assemble->setFrontendFormat('area'); $this->view->assign($assemble->findPredefinedAssembleDataWithConsume(ZtChart_Model_Assemble_Datetime::TODAY)); } } }