/** * app或者游戏下载概况数据 * @return json */ public function downappdataAction() { $data = reqstr('data'); if (!$data) { return; } $page = reqnum('page', 1); $pagesize = 10; $data = urldecode($data); $info = array(); parse_str($data, $info); $date = (int) $info['date'] ? (int) $info['date'] : 7; //默认是查出7天的数据 $sdate = trim($info['sdate']) ? trim($info['sdate']) : ''; $edate = trim($info['edate']) ? trim($info['edate']) : ''; $station = (int) $info['station'] ? (int) $info['station'] : 0; // 0 表示查询出所有车站 $type = (int) $info['type'] ? (int) $info['type'] : 1; //默认是游戏 if (!$sdate || !$edate) { $edate = date('Y-m-d'); $sdate = date('Y-m-d', strtotime("-{$date} day")); } //如果时间区间大于30天则按照30天计算 $date_area = abs(strtotime($edate) - strtotime($sdate)) / 86400; if ($date_area > 30) { $sdate = date('Y-m-d', strtotime("-30 day")); } $sdate = str_replace('-', '_', $sdate); $edate = str_replace('-', '_', $edate); $nt = new Psys_ResourceModel(); $data = $nt->DownAppData($sdate, $edate, $station, $type, $page, $pagesize); $data_graph = $nt->DownAppData($sdate, $edate, $station, $type, $page, $pagesize, 1); $paging = $this->paging($data['allnum'], $page, $pagesize, count($data['allrow'])); $stations = $nt->station(); $total = 0; foreach ($data['allrow'] as &$v) { if ($station) { $v['stationname'] = $this->getstationname($stations, $v['stationid']); } else { $v['stationname'] = 'ALL'; } $total += $v['num']; } $datas[0]['type'] = 'pie'; $datas[0]['name'] = '下载占比'; foreach ($data_graph['allrow'] as $v1) { $datas[0]['data'][] = array($v1['appname'], (double) round($v1['num'] / $total * 100, 2)); } $result['y_cat'] = $datas; return array('table' => $data['allrow'], 'paging' => $paging, 'graph' => $result); }