From 3b50211baed3635c5557fdd718043e4ec9d363a9 Mon Sep 17 00:00:00 2001 From: wanghongjun <1445693971@qq,com> Date: Tue, 20 Jun 2023 17:36:01 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controller/Index.php | 89 +++++++++++----------------------------- 1 file changed, 23 insertions(+), 66 deletions(-) diff --git a/app/controller/Index.php b/app/controller/Index.php index 4e9156f..ca69fa9 100644 --- a/app/controller/Index.php +++ b/app/controller/Index.php @@ -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' // --- --- // - ]; - - $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]); } }