Browse Source

当日各馆的借还量和办证量接口对接

master
wanghongjun 2 years ago
parent
commit
412749dffa
  1. 93
      tasks/LibLease.php

93
tasks/LibLease.php

@ -4,24 +4,46 @@ namespace task\tasks;
include 'Base.php'; include 'Base.php';
class LibLease extends Base class LibLease extends Base
{ {
# 获取token url
protected $accessTokenUrl = 'https://ulas1.szlib.org.cn/auth/oauth/token?grant_type=password&scope=app';
# 获取数据 url
protected $dataUrl = 'https://api.szlib.org.cn/monitor/getLibraryServiceData?access_token=';
# client_id
protected $client_id = 'baapi';
# client_secret
protected $client_secret = 'Ba2020api';
protected $username = 'balib';
protected $password = 'Ba2015lib';
protected $accessTokenFilename = 'lib_lease_access_token.txt';
public function run() public function run()
{ {
$fileData = @file_get_contents($this->accessTokenFilename);
$assess_token = $fileData ?: $this->getAccessToken();
$config = $this->config('api_config'); $config = $this->config('api_config');
$url = 'http://10.99.57.79:9999/SSBusiness/monitor/getLibraryService?library=044007'; $url = $this->dataUrl . $assess_token;
$result = $this->get_data($url,'balib','Ba2015lib'); $result = $this->sendGetCurl($url);
$result_data = json_decode($result,true); $result_data = json_decode($result,true);
if ($result_data['success'] != 1) return '失败'; # token过期重新获取
$content = $result_data['content']; if (isset($result_data['error']) && $result_data['error'] == 'invalid_token') {
if (!$content) return '数据不存在'; $assess_token = $this->getAccessToken();
$url = $this->dataUrl . $assess_token;
$result = $this->sendGetCurl($url);
$result_data = json_decode($result,true);
}
if ($result_data['result'] != 'success') return '失败';
$requestData = [ $requestData = [
[ [
'library' => $result_data['library'], 'library' => $result_data['library'],
'newreader' => $content['newreader'], 'newreader' => $result_data['newreader'],
'servcount' => $content['servcount'], 'servcount' => $result_data['servcount'],
'returncount' => $content['returncount'] 'returncount' => $result_data['returncount']
] ]
]; ];
$requestRes = $this->request_create_data($requestData,'/api/library.pass/createLibraryLease',$config['host_path'],true); $requestRes = $this->request_create_data($requestData,'/api/library.pass/createLibraryLease',$config['host_path'],true);
@ -31,6 +53,61 @@ class LibLease extends Base
return true; return true;
} }
/**
* 获取登陆token
*/
protected function getAccessToken()
{
$url = $this->accessTokenUrl;
$url .= "&client_id=".$this->client_id;
$url .= "&client_secret=".$this->client_secret;
$url .= "&username=".$this->username;
$url .= "&password=".md5($this->password);
$result = $this->curl_post($url);
$deResult = json_decode($result,true);
if (isset($deResult['error'])) {
exit($deResult['error_description']);
}
$access_token = $deResult['access_token'];
file_put_contents($this->accessTokenFilename,$access_token);
return $access_token;
}
/**
* 发送get请求
* @param $url
* @return bool|string|void
*/
protected function sendGetCurl($url)
{
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => $url,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
exit("cURL Error #:" . $err);
}
return $response;
}
} }
$lib = new LibLease(); $lib = new LibLease();
echo $lib->run(); echo $lib->run();

Loading…
Cancel
Save