From c74b01a1c84d490cbc28171f7864c16cef473fad Mon Sep 17 00:00:00 2001 From: unknown <736250432@qq.com> Date: Wed, 23 Aug 2023 19:17:01 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E8=BD=A6=E8=BE=86=E5=BD=93?= =?UTF-8?q?=E5=89=8D=E4=BD=8D=E7=BD=AE=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/api/controller/VehicleController.php | 17 ++++++++++++++++- app/api/logic/GpsLogic.php | 4 ++-- app/api/logic/VehicleLogic.php | 19 +++++++++++++++++++ app/api/route/app.php | 3 ++- 4 files changed, 39 insertions(+), 4 deletions(-) diff --git a/app/api/controller/VehicleController.php b/app/api/controller/VehicleController.php index fd04e767..7ef13d40 100644 --- a/app/api/controller/VehicleController.php +++ b/app/api/controller/VehicleController.php @@ -11,7 +11,7 @@ use think\response\Json; */ class VehicleController extends BaseApiController { - public array $notNeedLogin = ['getCompany','setContract','getRentRecord','updateRentRecord','getCompanyCars']; + public array $notNeedLogin = ['getCompany','setContract','getRentRecord','updateRentRecord','getCompanyCars','getCarLocal']; /* *获取平台公司接口 @@ -99,4 +99,19 @@ class VehicleController extends BaseApiController return $this->fail($result['msg']); } } + + //获取车辆当前位置 + public function getCarLocal() { + $params = $this->request->get(['car_id','gps_imei']); + if(empty($params['car_id']) || empty($params['gps_imei'])){ + return $this->fail('缺少必要参数'); + } + $result = VehicleLogic::getCarLocal($params); + //返回数据 + if($result['code'] == 1){ + return $this->success($result['msg'],$result['data']); + }else{ + return $this->fail($result['msg']); + } + } } diff --git a/app/api/logic/GpsLogic.php b/app/api/logic/GpsLogic.php index 37f01155..ffa82f91 100644 --- a/app/api/logic/GpsLogic.php +++ b/app/api/logic/GpsLogic.php @@ -77,7 +77,7 @@ class GpsLogic extends BaseLogic } } - public function status():array { + public function status($car_id):array { //获取token $token = $this->token(); //请求地址 @@ -85,7 +85,7 @@ class GpsLogic extends BaseLogic //请求参数 $data = [ 'token' => $token, - 'carId' => '629942', + 'carId' => $car_id, 'mapType' => 1 ]; //发起请求 diff --git a/app/api/logic/VehicleLogic.php b/app/api/logic/VehicleLogic.php index 86066346..d59cd252 100644 --- a/app/api/logic/VehicleLogic.php +++ b/app/api/logic/VehicleLogic.php @@ -198,4 +198,23 @@ class VehicleLogic extends BaseLogic return ['code'=>1,'msg'=>'请求失败']; } } + + public static function getCarLocal($params):array { + $car = Vehicle::field('gps_carid')->where('id',$params['car_id'])->where('gps_imei',$params['gps_imei'])->find(); + if(!$car){ + return ['code'=>0,'msg'=>'车辆不存在']; + } + //获取车辆当前位置 + $local = (new GpsLogic()) -> status($car['gps_carid']); + if($local['code'] == 1){ + $data = [ + 'car_id' => $params['car_id'], + 'lat' => $local['data']['carStatus']['latc'], + 'lon' => $local['data']['carStatus']['lonc'], + ]; + return ['code'=>1,'msg'=>'请求成功','data'=>$data]; + }else{ + return ['code'=>0,'msg'=>$local['msg']]; + } + } } diff --git a/app/api/route/app.php b/app/api/route/app.php index 05dc62b4..19314916 100755 --- a/app/api/route/app.php +++ b/app/api/route/app.php @@ -35,4 +35,5 @@ Route::rule('getCompany','Vehicle/getCompany','get'); Route::rule('setContract','Vehicle/setContract','post'); Route::rule('getRentRecord','Vehicle/getRentRecord','get'); Route::rule('updateRentRecord','Vehicle/updateRentRecord','post'); -Route::rule('getCompanyCars','Vehicle/getCompanyCars','get'); \ No newline at end of file +Route::rule('getCompanyCars','Vehicle/getCompanyCars','get'); +Route::rule('getCarLocal','Vehicle/getCarLocal','get'); \ No newline at end of file