|
|
|
@ -108,21 +108,24 @@ class Index extends BaseController |
|
|
|
if ($date_str == 'H:00') { |
|
|
|
for ($i = 9; $i < 23; $i++) { |
|
|
|
$str = strlen($i) == 1 ? '0'.$i.':00' : $i.':00'; |
|
|
|
$allTimeData[$str] = 0; |
|
|
|
$allTimeData[$str]['num'] = 0; |
|
|
|
$allTimeData[$str]['title'] = $str; |
|
|
|
} |
|
|
|
} elseif ($date_str == 'd') { |
|
|
|
$d = date('d') * 1; |
|
|
|
$date = $d - 12 > 0 ? $d - 12 : 1; |
|
|
|
for ($i = $date; $i <= $d; $i++) { |
|
|
|
$str = strlen($i) == 1 ? '0'.$i : $i; |
|
|
|
$allTimeData[$str] = 0; |
|
|
|
$allTimeData[$str]['num'] = 0; |
|
|
|
$allTimeData[$str]['title'] = $str; |
|
|
|
} |
|
|
|
} elseif ($date_str == 'm') { |
|
|
|
$m = date('m') * 1; |
|
|
|
$date = $m - 12 > 0 ? $m - 12 : 1; |
|
|
|
for ($i = $date; $i <= $m; $i++) { |
|
|
|
$str = strlen($i) == 1 ? '0'.$i : $i; |
|
|
|
$allTimeData[$str] = 0; |
|
|
|
$allTimeData[$str]['num'] = 0; |
|
|
|
$allTimeData[$str]['title'] = $str; |
|
|
|
} |
|
|
|
} |
|
|
|
$sumNoRepeatInNum = 0; |
|
|
|
@ -132,7 +135,7 @@ class Index extends BaseController |
|
|
|
$groupsData[$value['groupName']]['noRepeatInNum'] += $value['noRepeatInNum']; // 分租进馆人数 |
|
|
|
$date = date($date_str,ceil($value['createTime'] / 1000) + (8*3600)); // 各时间端进馆人数 |
|
|
|
if (!isset($allTimeData[$date])) continue; |
|
|
|
$allTimeData[$date] += $value['noRepeatInNum']; |
|
|
|
$allTimeData[$date]['num'] += $value['noRepeatInNum']; |
|
|
|
} |
|
|
|
ksort($allTimeData); |
|
|
|
|
|
|
|
@ -149,69 +152,24 @@ class Index extends BaseController |
|
|
|
|
|
|
|
/** |
|
|
|
* 总览总数据接口 <首页-中间部分总览> |
|
|
|
* @return array|void |
|
|
|
* @return false|string |
|
|
|
* @throws \think\db\exception\DataNotFoundException |
|
|
|
* @throws \think\db\exception\DbException |
|
|
|
* @throws \think\db\exception\ModelNotFoundException |
|
|
|
*/ |
|
|
|
public function allGroupNum() { |
|
|
|
|
|
|
|
$config = config('app'); |
|
|
|
|
|
|
|
$dateData = getTargetDate(); |
|
|
|
$token = getAccessToken(); |
|
|
|
|
|
|
|
$dateArr = [ |
|
|
|
'day' => [ |
|
|
|
'startTime' => $dateData['day']['c_start_time'],// 当天开始时间 |
|
|
|
'endTime' => $dateData['day']['c_end_time'],// 当天结束时间 |
|
|
|
'granularity' => 'daily' |
|
|
|
], |
|
|
|
'week' => [ |
|
|
|
'startTime' => $dateData['week']['c_start_time'], |
|
|
|
'endTime' => $dateData['week']['c_end_time'], |
|
|
|
'granularity' => 'daily' |
|
|
|
], |
|
|
|
'month' =>[ |
|
|
|
'startTime' => $dateData['month']['c_start_time'], |
|
|
|
'endTime' => $dateData['month']['c_end_time'], |
|
|
|
'granularity' => 'monthly' |
|
|
|
], |
|
|
|
'year' =>[ |
|
|
|
'startTime' => $dateData['year']['c_start_time'], |
|
|
|
'endTime' => $dateData['year']['c_end_time'], |
|
|
|
'granularity' => 'yearly' |
|
|
|
], |
|
|
|
|
|
|
|
]; |
|
|
|
$dateArr = ['day' => 'daily', 'week' => 'daily', 'month' => 'monthly']; |
|
|
|
|
|
|
|
$returnData = []; |
|
|
|
$groupIds = []; |
|
|
|
foreach ($dateArr as $date => $dateRow) { |
|
|
|
|
|
|
|
$url = $config['host_url'] . "/api/cfas/v2/passengerFlow/groups"; |
|
|
|
foreach ($dateArr as $date => $granularity) { |
|
|
|
|
|
|
|
$granularity = $dateRow['granularity']; |
|
|
|
|
|
|
|
$data = [ |
|
|
|
'granularity' => $granularity, |
|
|
|
'startTime' => $dateRow['startTime'], |
|
|
|
'endTime' => $dateRow['endTime'], |
|
|
|
'ids' => '01' // --- <replace> --- // |
|
|
|
]; |
|
|
|
|
|
|
|
$json_data = json_encode($data); |
|
|
|
$result = postToken($url,$json_data,false,[],$token); |
|
|
|
|
|
|
|
$res_data = json_decode($result,true); |
|
|
|
if ($res_data['code'] != 0) { |
|
|
|
return ['code' => 403, 'msg' => $res_data['msg']]; |
|
|
|
} |
|
|
|
|
|
|
|
$list = $res_data['data']['list']; |
|
|
|
$list = Db::table('tp_passenger_flow_all') |
|
|
|
->where(['granularity' => $granularity, 'date' => $date])->select()->toArray(); |
|
|
|
|
|
|
|
$returnData[$date]['noRepeatInNum'] = 0; |
|
|
|
foreach ($list as $value) { |
|
|
|
// $createTime = date("H",$value['createTime'] /1000 + (3600*8)); |
|
|
|
$returnData[$date]['noRepeatInNum'] += $value['noRepeatInNum']; |
|
|
|
$groupIds[] = $value['groupId']; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
@ -222,10 +180,7 @@ class Index extends BaseController |
|
|
|
$returnArr = [ |
|
|
|
'code' => 0, |
|
|
|
'msg' => '成功', |
|
|
|
'data' => [ |
|
|
|
'dataAll' => $returnData, |
|
|
|
'groupIds' => array_unique($groupIds) |
|
|
|
] |
|
|
|
'data' => $returnData |
|
|
|
]; |
|
|
|
return json_encode($returnArr); |
|
|
|
} |
|
|
|
@ -266,12 +221,14 @@ class Index extends BaseController |
|
|
|
|
|
|
|
/** |
|
|
|
* 今日各场馆人数趋势 |
|
|
|
* @return void |
|
|
|
* @return false|string |
|
|
|
* @throws \think\db\exception\DataNotFoundException |
|
|
|
* @throws \think\db\exception\DbException |
|
|
|
* @throws \think\db\exception\ModelNotFoundException |
|
|
|
*/ |
|
|
|
public function toDayGroupsEnterNum() |
|
|
|
{ |
|
|
|
$dateData = getTargetDate(); |
|
|
|
$list = $this->getGroupData('hourly',$dateData['day']['c_start_time'],$dateData['day']['c_end_time']); |
|
|
|
$list = Db::table('tp_passenger_flow')->where(['granularity' => 'hourly'])->select()->toArray(); |
|
|
|
$allTimeData = []; |
|
|
|
for ($i = 9; $i < 23; $i++) { |
|
|
|
$str = strlen($i) == 1 ? '0'.$i.':00' : $i.':00'; |
|
|
|
@ -279,11 +236,11 @@ class Index extends BaseController |
|
|
|
} |
|
|
|
$returnData = []; |
|
|
|
foreach ($list as $value) { |
|
|
|
$date = date('H:00',ceil($value['createTime'] / 1000) + (8*3600)); // 各时间端进馆人数 |
|
|
|
$date = date('H:00',ceil($value['createTime'] / 1000)); // 各时间端进馆人数 |
|
|
|
if (!isset($allTimeData[$date])) continue; |
|
|
|
if (!isset($returnData[$value['groupName']][$allTimeData[$date]])) $returnData[$value['groupName']][$date] = 0; |
|
|
|
$returnData[$value['groupName']][$date] += $value['flowInNum']; |
|
|
|
} |
|
|
|
dump($returnData); |
|
|
|
return json(['code' => 0, 'msg' => '成功', 'data' => $returnData]); |
|
|
|
} |
|
|
|
} |
|
|
|
|