| 12345678910111213141516171819202122232425 |
- <?php
- declare(strict_types=1);
- namespace app\controller;
- use app\service\water\DeviceIngress;
- use plugin\saiadmin\exception\ApiException;
- use support\Request;
- use support\Response;
- final class WaterDeviceController
- {
- public function report(Request $request): Response
- {
- try {
- $data = (new DeviceIngress())->http($request->rawBody(),(string)$request->header('authorization',''),$request->header());
- return json(['code'=>200,'message'=>'设备报告已处理','data'=>$data]);
- } catch (ApiException $e) {
- $status = $e->getCode() >= 400 && $e->getCode() <= 599 ? $e->getCode() : 422;
- return json(['code'=>$status,'message'=>$e->getMessage(),'data'=>null])->withStatus($status);
- } catch (\Throwable $e) {
- \support\Log::error('Water device HTTP report failed.', ['type'=>get_class($e)]);
- return json(['code'=>500,'message'=>'设备报告处理失败','data'=>null])->withStatus(500);
- }
- }
- }
|