Browse Source

优化接口

master
wanghongjun 3 years ago
parent
commit
3b50211bae
  1. 89
      app/controller/Index.php

89
app/controller/Index.php

@ -108,21 +108,24 @@ class Index extends BaseController
if ($date_str == 'H:00') { if ($date_str == 'H:00') {
for ($i = 9; $i < 23; $i++) { for ($i = 9; $i < 23; $i++) {
$str = strlen($i) == 1 ? '0'.$i.':00' : $i.':00'; $str = strlen($i) == 1 ? '0'.$i.':00' : $i.':00';
$allTimeData[$str] = 0; $allTimeData[$str]['num'] = 0;
$allTimeData[$str]['title'] = $str;
} }
} elseif ($date_str == 'd') { } elseif ($date_str == 'd') {
$d = date('d') * 1; $d = date('d') * 1;
$date = $d - 12 > 0 ? $d - 12 : 1; $date = $d - 12 > 0 ? $d - 12 : 1;
for ($i = $date; $i <= $d; $i++) { for ($i = $date; $i <= $d; $i++) {
$str = strlen($i) == 1 ? '0'.$i : $i; $str = strlen($i) == 1 ? '0'.$i : $i;
$allTimeData[$str] = 0; $allTimeData[$str]['num'] = 0;
$allTimeData[$str]['title'] = $str;
} }
} elseif ($date_str == 'm') { } elseif ($date_str == 'm') {
$m = date('m') * 1; $m = date('m') * 1;
$date = $m - 12 > 0 ? $m - 12 : 1; $date = $m - 12 > 0 ? $m - 12 : 1;
for ($i = $date; $i <= $m; $i++) { for ($i = $date; $i <= $m; $i++) {
$str = strlen($i) == 1 ? '0'.$i : $i; $str = strlen($i) == 1 ? '0'.$i : $i;
$allTimeData[$str] = 0; $allTimeData[$str]['num'] = 0;
$allTimeData[$str]['title'] = $str;
} }
} }
$sumNoRepeatInNum = 0; $sumNoRepeatInNum = 0;
@ -132,7 +135,7 @@ class Index extends BaseController
$groupsData[$value['groupName']]['noRepeatInNum'] += $value['noRepeatInNum']; // 分租进馆人数 $groupsData[$value['groupName']]['noRepeatInNum'] += $value['noRepeatInNum']; // 分租进馆人数
$date = date($date_str,ceil($value['createTime'] / 1000) + (8*3600)); // 各时间端进馆人数 $date = date($date_str,ceil($value['createTime'] / 1000) + (8*3600)); // 各时间端进馆人数
if (!isset($allTimeData[$date])) continue; if (!isset($allTimeData[$date])) continue;
$allTimeData[$date] += $value['noRepeatInNum']; $allTimeData[$date]['num'] += $value['noRepeatInNum'];
} }
ksort($allTimeData); 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() { public function allGroupNum() {
$config = config('app'); $dateArr = ['day' => 'daily', 'week' => 'daily', 'month' => 'monthly'];
$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'
],
];
$returnData = []; $returnData = [];
$groupIds = []; foreach ($dateArr as $date => $granularity) {
foreach ($dateArr as $date => $dateRow) {
$url = $config['host_url'] . "/api/cfas/v2/passengerFlow/groups";
$granularity = $dateRow['granularity']; $list = Db::table('tp_passenger_flow_all')
->where(['granularity' => $granularity, 'date' => $date])->select()->toArray();
$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'];
$returnData[$date]['noRepeatInNum'] = 0; $returnData[$date]['noRepeatInNum'] = 0;
foreach ($list as $value) { foreach ($list as $value) {
// $createTime = date("H",$value['createTime'] /1000 + (3600*8));
$returnData[$date]['noRepeatInNum'] += $value['noRepeatInNum']; $returnData[$date]['noRepeatInNum'] += $value['noRepeatInNum'];
$groupIds[] = $value['groupId'];
} }
} }
@ -222,10 +180,7 @@ class Index extends BaseController
$returnArr = [ $returnArr = [
'code' => 0, 'code' => 0,
'msg' => '成功', 'msg' => '成功',
'data' => [ 'data' => $returnData
'dataAll' => $returnData,
'groupIds' => array_unique($groupIds)
]
]; ];
return json_encode($returnArr); 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() public function toDayGroupsEnterNum()
{ {
$dateData = getTargetDate(); $list = Db::table('tp_passenger_flow')->where(['granularity' => 'hourly'])->select()->toArray();
$list = $this->getGroupData('hourly',$dateData['day']['c_start_time'],$dateData['day']['c_end_time']);
$allTimeData = []; $allTimeData = [];
for ($i = 9; $i < 23; $i++) { for ($i = 9; $i < 23; $i++) {
$str = strlen($i) == 1 ? '0'.$i.':00' : $i.':00'; $str = strlen($i) == 1 ? '0'.$i.':00' : $i.':00';
@ -279,11 +236,11 @@ class Index extends BaseController
} }
$returnData = []; $returnData = [];
foreach ($list as $value) { 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($allTimeData[$date])) continue;
if (!isset($returnData[$value['groupName']][$allTimeData[$date]])) $returnData[$value['groupName']][$date] = 0; if (!isset($returnData[$value['groupName']][$allTimeData[$date]])) $returnData[$value['groupName']][$date] = 0;
$returnData[$value['groupName']][$date] += $value['flowInNum']; $returnData[$value['groupName']][$date] += $value['flowInNum'];
} }
dump($returnData); return json(['code' => 0, 'msg' => '成功', 'data' => $returnData]);
} }
} }

Loading…
Cancel
Save