宝体数据调用接口
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.3 KiB

<?php
namespace app\task\controller;
use think\Db;
class Pass
{
/**
* 执行函数
* @return bool
* @throws \think\Exception
* @throws \think\exception\PDOException
*/
public function run()
{
$config = config('api_config');
$dateData = getTargetDate();
$token = getAccessToken();
$arr = [
'hourly' => [
'startTime' => $dateData['day']['c_start_time'],
'endTime' => date('c',time()),
],
'daily' => [
'startTime' => $dateData['month']['c_start_time'],
'endTime' => date('c',time()),
],
'monthly' => [
'startTime' => $dateData['year']['c_start_time'],
'endTime' => date('c'),
]
];
$url = $config['host_url'] . "/api/cfas/v2/passengerFlow/groups";
// $delete = Db::table('bt_passenger_flow')->where('id','>',1)->delete();
$requestData = [];
try {
foreach ($arr as $granularity => $value) {
$dataArr = [
'granularity' => $granularity,
'startTime' => $value['startTime'],
'endTime' => $value['endTime'],
'ids' => '01' // --- <replace> --- //
];
$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,
];
Db::table('bt_passenger_flow')->insert($insert_arr);
$requestData[] = $insert_arr;
}
}
} catch (\Exception $e) {
exit( $e->getMessage() );
}
if (!empty($requestData)) {
$token = '9c4cb25665cf08667c815420ab383cb5';
$data = [
'data' => json_encode($requestData),
'token' => md5('9c4cb25665cf08667c815420ab383cb5' . date('Ymd'))
];
$json_data = json_encode($data);
$createUrl = $config['host_path'] . '/api/pass.create/createPassengerFlow';
$result = postToken($createUrl,$json_data,false,[],$token);
$result = json_decode($result,true);
if ($result['code'] != 1) exit($result['msg']);
}
return true;
}
}