You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
103 lines
3.5 KiB
103 lines
3.5 KiB
<?php
|
|
|
|
namespace app\task\controller;
|
|
|
|
use think\Db;
|
|
|
|
class Passall
|
|
{
|
|
/**
|
|
* 执行函数
|
|
* @return bool
|
|
* @throws \think\Exception
|
|
* @throws \think\exception\PDOException
|
|
*/
|
|
public function run()
|
|
{
|
|
$config = config('api_config');
|
|
$dateData = getTargetDate();
|
|
$token = getAccessToken();
|
|
|
|
$dateArr = [
|
|
'day' => [
|
|
'startTime' => $dateData['day']['c_start_time'],// 当天开始时间
|
|
'endTime' => date("c"),// 当天结束时间
|
|
'granularity' => 'daily'
|
|
],
|
|
'week' => [
|
|
'startTime' => $dateData['week']['c_start_time'],
|
|
'endTime' => date("c"),
|
|
'granularity' => 'daily'
|
|
],
|
|
'month' =>[
|
|
'startTime' => $dateData['month']['c_start_time'],
|
|
'endTime' => date("c"),
|
|
'granularity' => 'monthly'
|
|
],
|
|
'year' =>[
|
|
'startTime' => date("c",strtotime("-10 year")),
|
|
'endTime' => date("c",time()),
|
|
'granularity' => 'yearly'
|
|
]
|
|
|
|
];
|
|
|
|
#Db::table('bt_passenger_flow_all')->where('id','>',1)->delete();
|
|
$requestData = [];
|
|
|
|
try {
|
|
$ids = \app\common\model\Pass::getGroupIds(1);
|
|
|
|
foreach ($dateArr as $date => $value) {
|
|
|
|
$url = $config['host_url'] . "/api/cfas/v2/passengerFlow/groups";
|
|
$granularity = $value['granularity'];
|
|
|
|
$dataArr = [
|
|
'granularity' => $granularity,
|
|
'startTime' => $value['startTime'],
|
|
'endTime' => $value['endTime'],
|
|
'ids' => $ids
|
|
];
|
|
|
|
$json_data = json_encode($dataArr);
|
|
$result = postToken($url,$json_data,false,[],$token);
|
|
|
|
$res_data = json_decode($result,true);
|
|
if ($res_data['code'] != 0) throw new \Exception('请求失败');
|
|
$list = (array)$res_data['data']['list'];
|
|
foreach ($list as $val) {
|
|
$insert_arr = [
|
|
'groupId' => $val['groupId'],
|
|
'groupName' => $val['groupName'],
|
|
'flowInNum' => $val['flowInNum'],
|
|
'flowOutNum' => $val['flowOutNum'],
|
|
'noRepeatInNum' => $val['noRepeatInNum'],
|
|
'noRepeatOutNum' => $val['noRepeatOutNum'],
|
|
'holdValue' => $val['holdValue'],
|
|
'createTime' => $val['createTime'],
|
|
'updateTime' => $val['updateTime'],
|
|
'netValue' => $val['netValue'],
|
|
'statTime' => $val['statTime'],
|
|
'granularity' => $granularity,
|
|
'date' => $date,
|
|
];
|
|
|
|
#Db::table('bt_passenger_flow_all')->insert($insert_arr);
|
|
$requestData[] = $insert_arr;
|
|
}
|
|
}
|
|
|
|
} catch (\Exception $e) {
|
|
exit( $e->getMessage() );
|
|
}
|
|
|
|
$requestRes = \app\common\model\Pass::requestCreateData($requestData,'/api/pass.create/createPassengerFlowAll', $config['host_path']);
|
|
|
|
if (!$requestRes['status']) {
|
|
return $requestRes['msg'];
|
|
}
|
|
|
|
return true;
|
|
}
|
|
}
|