Browse Source

图书馆实时数据

master
wanghongjun 3 years ago
parent
commit
8d60263d12
  1. 7
      source/application/api/controller/library/Pass.php
  2. 33
      source/application/api/controller/pass/Passcc.php
  3. 41
      source/application/common/model/Pass.php

7
source/application/api/controller/library/Pass.php

@ -17,12 +17,7 @@ class Pass extends Controller
*/
public function allFlowTrends()
{
$url = 'http://balib.cn:8999/CustCount/baoan/stat.json?key=baoan';
$result = curlPost($url);
$data = json_decode($result,true);
$data = \app\common\model\Pass::getBaoAnLibData();
return $this->renderSuccess(compact('data'));
}

33
source/application/api/controller/pass/Passcc.php

@ -11,8 +11,6 @@ use think\Db;
class Passcc extends Controller
{
protected $libUrl = 'http://balib.cn:8999/CustCount/baoan/stat.json?key=baoan';
public function test() {
echo 1111;
}
@ -175,6 +173,15 @@ class Passcc extends Controller
}
$returnData['sumYear']['noRepeatInNum'] = $yearSum;
$libData = Pass::getBaoAnLibData(true);
foreach ($libData as $libRow) {
$returnData['day']['noRepeatInNum'] += $libRow['today']['incount'];
$returnData['week']['noRepeatInNum'] += $libRow['today']['incount'];
$returnData['month']['noRepeatInNum'] += $libRow['month']['incount'];
$returnData['year']['noRepeatInNum'] += $libRow['year']['incount'];
$returnData['sumYear']['noRepeatInNum'] += $libRow['year']['incount'];
}
foreach ($returnData as &$val) {
$val['noRepeatInNum'] = formatNumber($val['noRepeatInNum']);
}
@ -216,17 +223,19 @@ class Passcc extends Controller
$returnData[] = $val;
}
$result = curlPost($this->libUrl);
$libData = json_decode($result,true);
$libData = Pass::getBaoAnLibData(true);
$libProportion = $libData['today']['incount'] > 0 ? round($libData['today']['incount']/$threshold,2) : 0;
$returnData[] = [
'allEnter' => $libData['today']['incount'],
'proportion' => ($libProportion * 100) . "%",
'congestion' => Pass::getPassType($libProportion),
'groupId' => '',
'groupName' => '图书馆'
];
foreach ($libData as $libRow) {
$libProportion = $libRow['today']['incount'] > 0 ? round($libRow['today']['incount']/$threshold,2) : 0;
$returnData[] = [
'allEnter' => $libRow['today']['incount'],
'proportion' => ($libProportion * 100) . "%",
'congestion' => Pass::getPassType($libProportion),
'groupId' => $libRow['groupId'],
'groupName' => $libRow['name']
];
}
return $this->renderSuccess(compact('returnData'));
}

41
source/application/common/model/Pass.php

@ -8,6 +8,20 @@ class Pass extends BaseModel
{
public static $unit = [1 => '>', 2 => '<', 3 => '=', 4 => '≥', 5 => '<=', 6 => '!='];
public static $libUrl = 'http://balib.cn:8999/CustCount/baoan/stat.json?key=baoan';
public static $libCameraId = [
[
'groupId' => 'baz001', # 分馆代码
'name' => '宝安图书馆', # 单位名称
'cameraId' => '9,7,6,4,2,1,67,3', # 客流系统内分馆摄像头
], [
'groupId' => 'BAF055',
'name' => '1990分馆',
'cameraId' => '134,135',
]
];
/**
* 馆舍客流情况-拥挤程度
* @param $proportion // 比例
@ -80,4 +94,31 @@ class Pass extends BaseModel
$groupIdArr = array_column($groupRes,'groupId') ?: [];
return $dataType == 2 ? $groupIdArr : implode(",",$groupIdArr);
}
/**
* @param $is_group
* @return array|mixed
*/
public static function getBaoAnLibData($is_group = false)
{
if ($is_group) {
$data = [];
foreach (self::$libCameraId as $value) {
$url = self::$libUrl . '&cameraid=' . $value['cameraId'];
$result = curlPost($url);
$data[] = [
'data' => $result,
'groupId' => $value['groupId'],
'name' => $value['name']
];
}
return $data;
} else {
$result = curlPost(self::$libUrl);
return json_decode($result,true);
}
}
}
Loading…
Cancel
Save