4 changed files with 133 additions and 0 deletions
@ -0,0 +1,50 @@ |
|||||
|
<?php |
||||
|
|
||||
|
namespace App\Admin\Controllers; |
||||
|
|
||||
|
use App\Admin\Actions\Grid\CloneEquipResourceRecordAction; |
||||
|
use App\Admin\Repositories\EquipResourceRecord; |
||||
|
use App\Admin\Services\EquipInfoService; |
||||
|
use App\Http\Controllers\Controller; |
||||
|
use Dcat\Admin\Grid; |
||||
|
use Dcat\Admin\Layout\Content; |
||||
|
|
||||
|
class EquipInfoController extends Controller |
||||
|
{ |
||||
|
/** |
||||
|
* 查看数据点 |
||||
|
* @param Content $content |
||||
|
* @return Content |
||||
|
*/ |
||||
|
public function index(Content $content) |
||||
|
{ |
||||
|
return $content |
||||
|
->header('表格') |
||||
|
->description('表格功能展示') |
||||
|
->body($this->grid()); |
||||
|
} |
||||
|
/** |
||||
|
* Make a grid builder. |
||||
|
* |
||||
|
* @return Grid |
||||
|
*/ |
||||
|
protected function grid() |
||||
|
{ |
||||
|
return Grid::make(null, function (Grid $grid) { |
||||
|
$param = request()->all(); |
||||
|
|
||||
|
$grid->column('at'); |
||||
|
$grid->column('value'); |
||||
|
$grid->model()->setData(EquipInfoService::getDatapoints($param)); |
||||
|
$grid->disableCreateButton(); |
||||
|
$grid->disableActions(); |
||||
|
$grid->disableBatchDelete(); |
||||
|
$grid->disablePagination(); |
||||
|
|
||||
|
$grid->filter(function (Grid\Filter $filter) { |
||||
|
$filter->between('at', 'At')->datetime(); |
||||
|
|
||||
|
}); |
||||
|
}); |
||||
|
} |
||||
|
} |
@ -0,0 +1,40 @@ |
|||||
|
<?php |
||||
|
|
||||
|
namespace App\Admin\Services; |
||||
|
|
||||
|
use GuzzleHttp\Client; |
||||
|
use Illuminate\Support\Facades\Http; |
||||
|
|
||||
|
class EquipInfoService |
||||
|
{ |
||||
|
public static function getDatapoints($param) |
||||
|
{ |
||||
|
$query = []; |
||||
|
if (!empty($param['at']['start'])){ |
||||
|
$query['start'] = str_replace(' ', 'T', $param['at']['start']); |
||||
|
|
||||
|
} |
||||
|
if (!empty($param['at']['end'])){ |
||||
|
$query['end'] = str_replace(' ', 'T', $param['at']['end']); |
||||
|
|
||||
|
} |
||||
|
|
||||
|
$query = http_build_query($query); |
||||
|
|
||||
|
$client = new Client([ |
||||
|
'base_uri' => config('onenet.api_host'), |
||||
|
'headers' => [ |
||||
|
'api-key' => "l5KGPjSqQVuwSSjlUAuBohPNVrM=", |
||||
|
] |
||||
|
|
||||
|
]); |
||||
|
|
||||
|
$response = $client->request('GET', 'devices/984998613/datapoints?' . $query); |
||||
|
|
||||
|
$res = json_decode($response->getBody()->getContents(), true); |
||||
|
|
||||
|
$res = !empty($res['data']['datastreams'][0]['datapoints']) ? $res['data']['datastreams'][0]['datapoints'] : []; |
||||
|
|
||||
|
return $res; |
||||
|
} |
||||
|
} |
Loading…
Reference in new issue