Skip to content

Commit d840e67

Browse files
committed
fix(repo): 缓存线路列表
1 parent 3141c60 commit d840e67

File tree

1 file changed

+47
-43
lines changed

1 file changed

+47
-43
lines changed

laravel/app/Http/Repository/BusRepository.php

Lines changed: 47 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -227,52 +227,56 @@ public function getListV2($line, $refresh = false)
227227
if (empty($line)) {
228228
return [];
229229
}
230-
// 新版本直接调用接口
231-
$url = 'http://www.szjt.gov.cn/BusQu/APTSLine.aspx/GetData';
232-
$param = '{"num":"'.$line.'"}';
233-
$header = [
234-
'content-type: Application/json',
235-
'User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.142 Safari/537.36',
236-
'Accept: application/json',
237-
'Host: www.szjt.gov.cn',
238-
'Origin: http://www.szjt.gov.cn',
239-
];
240-
$data = Http::getInstent()->post($url, $param, 4, $header);
241-
242-
if ($data['content']) {
243-
$res = json_decode($data['content'], true);
244-
if (isset($res['d'])) {
245-
$arr = json_decode($res['d'], true);
246-
// 处理数组
247-
$return = [];
248-
if ($arr['Document']) {
249-
foreach ($arr['Document']['LineInfo'] as $item) {
250-
// "Guid": "921f91ad-757e-49d6-86ae-8e5f205117be",
251-
// "LName": "快线1号",
252-
// "LDirection": "星塘公交中心首末站",
253-
// "LFStdFTime": "06:00:00",
254-
// "LFStdETime": "21:00:00",
255-
// "LFStdName": "木渎公交换乘枢纽站",
256-
// "LEStdName": "星塘公交中心",
257-
// "LineType": ""
258-
$fromTo = $item['LDirection'] ?? '';
259-
$bus = $item['LName'] ?? '';
260-
$Guid = $item['Guid'] ?? '';
261-
$link = 'APTSLine.aspx?cid=&LineInfo='.$bus.'('.$fromTo.')'.'&Guid='.$Guid;
262-
$return[] = [
263-
'FromTo' => $fromTo,
264-
'bus' => $bus,
265-
'link' => $link,
266-
'start_time' => $item['LFStdFTime'] ?? '',
267-
'end_time' => $item['LFStdETime'] ?? '',
268-
'line_type' => $item['LineType'] ?? '',
269-
];
230+
if ($refresh) {
231+
Cache::forget('line_name:'.$line);
232+
}
233+
return Cache::remember('line_name:'.$line, 3600 * 24 * 30, function() use ($line) {
234+
// 新版本直接调用接口
235+
$url = 'http://www.szjt.gov.cn/BusQu/APTSLine.aspx/GetData';
236+
$param = '{"num":"'.$line.'"}';
237+
$header = [
238+
'content-type: Application/json',
239+
'User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.142 Safari/537.36',
240+
'Accept: application/json',
241+
'Host: www.szjt.gov.cn',
242+
'Origin: http://www.szjt.gov.cn',
243+
];
244+
$data = Http::getInstent()->post($url, $param, 4, $header);
245+
246+
if ($data['content']) {
247+
$res = json_decode($data['content'], true);
248+
if (isset($res['d'])) {
249+
$arr = json_decode($res['d'], true);
250+
// 处理数组
251+
$return = [];
252+
if ($arr['Document']) {
253+
foreach ($arr['Document']['LineInfo'] as $item) {
254+
// "Guid": "921f91ad-757e-49d6-86ae-8e5f205117be",
255+
// "LName": "快线1号",
256+
// "LDirection": "星塘公交中心首末站",
257+
// "LFStdFTime": "06:00:00",
258+
// "LFStdETime": "21:00:00",
259+
// "LFStdName": "木渎公交换乘枢纽站",
260+
// "LEStdName": "星塘公交中心",
261+
// "LineType": ""
262+
$fromTo = $item['LDirection'] ?? '';
263+
$bus = $item['LName'] ?? '';
264+
$Guid = $item['Guid'] ?? '';
265+
$link = 'APTSLine.aspx?cid=&LineInfo='.$bus.'('.$fromTo.')'.'&Guid='.$Guid;
266+
$return[] = [
267+
'FromTo' => $fromTo,
268+
'bus' => $bus,
269+
'link' => $link,
270+
'start_time' => $item['LFStdFTime'] ?? '',
271+
'end_time' => $item['LFStdETime'] ?? '',
272+
'line_type' => $item['LineType'] ?? '',
273+
];
274+
}
275+
return $return;
270276
}
271-
return $return;
272277
}
273278
}
274-
}
275-
return [];
279+
});
276280
}
277281

278282

0 commit comments

Comments
 (0)