diff --git a/app/api/controller/VehicleController.php b/app/api/controller/VehicleController.php index 5d59b23e..72f1d5c5 100644 --- a/app/api/controller/VehicleController.php +++ b/app/api/controller/VehicleController.php @@ -12,7 +12,7 @@ use think\response\Json; */ class VehicleController extends BaseApiController { - public array $notNeedLogin = ['checkNum','vehicleRent','companyCarList','addVehicle','getSelfCar','carInfo','getCarLocal','getCarHistory']; + public array $notNeedLogin = ['checkNum','vehicleRent','companyCarList','companyCar','addVehicle','getSelfCar','carInfo','getCarLocal','getCarHistory']; //验证租赁数量 @@ -67,6 +67,23 @@ class VehicleController extends BaseApiController } } + public function companyCar():Json { + //获取参数 + $company_id = $this->request->post('company_id'); + //验证参数 + if(empty($company_id)){ + return $this->fail('缺少必要参数'); + } + //获取数据 + $result = VehicleLogic::companyCar($company_id); + //返回数据 + if($result['code'] == 1){ + return $this->success($result['msg'],$result['data']); + }else{ + return $this->fail($result['msg']); + } + } + public function addVehicle():Json { //获取参数 $params = $this->request->post(['company_id','license']); diff --git a/app/api/logic/VehicleLogic.php b/app/api/logic/VehicleLogic.php index 4dad436c..3becd8d1 100644 --- a/app/api/logic/VehicleLogic.php +++ b/app/api/logic/VehicleLogic.php @@ -134,6 +134,60 @@ class VehicleLogic extends BaseLogic } } + public static function companyCar($company_id):array { + //查询是否有自有车辆 + $selfCar = Vehicle::field('id,company_id,license,type,gps_carid')->where('company_id',$company_id)->where('type',2)->find(); + if($selfCar){ + $data['id'] = $selfCar['id']; + $data['company_id'] = $selfCar['company_id']; + $data['license'] = $selfCar['license']; + $data['type'] = $selfCar['type']; + $local = (new GpsLogic()) -> status($selfCar['gps_carid']); + if($local['code'] == 1){ + $data['lat'] = $local['data']['carStatus']['latc']; + $data['lon'] = $local['data']['carStatus']['lonc']; + }else{ + $data['lat'] = ''; + $data['lon'] = ''; + } + //todo 获取里程 + $data['mileage'] = 10; + return ['code'=>1,'msg'=>'请求成功','data'=>$data]; + }else{ + //租赁车辆 + $rent = VehicleRent::field('lessee_one_company,lessee_one_user,lessee_one_phone,lessee_one_start_time,lessee_two_company_id,lessee_two_user,lessee_two_phone,lessee_two_start_time,lessee_two_flag')->where('lessee_two_company_id',$company_id)->find(); + $info = Vehicle::field('id,license,type,gps_carid')->where('id',$rent['car_id'])->find(); + if($rent && $info){ + $data['lessee_one_company'] = $rent['lessee_one_company']; + $data['lessee_one_user'] = $rent['lessee_one_user']; + $data['lessee_one_phone'] = $rent['lessee_one_phone']; + $data['lessee_one_start_time'] = $rent['lessee_one_start_time']; + $data['lessee_two_company_id'] = $rent['lessee_two_company_id']; + $data['lessee_two_company_name'] = $rent['lessee_two_company_name']; + $data['lessee_two_user'] = $rent['lessee_two_user']; + $data['lessee_two_phone'] = $rent['lessee_two_phone']; + $data['lessee_two_start_time'] = $rent['lessee_two_start_time']; + $data['lessee_two_flag'] = $rent['lessee_two_flag']; + $data['id'] = $info['id']; + $data['license'] = $info['license']; + $data['type'] = $info['type']; + $local = (new GpsLogic()) -> status($info['gps_carid']); + if($local['code'] == 1){ + $data['lat'] = $local['data']['carStatus']['latc']; + $data['lon'] = $local['data']['carStatus']['lonc']; + }else{ + $data['lat'] = ''; + $data['lon'] = ''; + } + //todo 获取里程 + $data['mileage'] = 10; + return ['code'=>1,'msg'=>'请求成功','data'=>$data]; + }else{ + return ['code'=>0,'msg'=>'请求失败']; + } + } + } + public static function addVehicle($params):array { //获取车辆 $vehicle = Vehicle::where('company_id',$params['company_id'])->where('license',$params['license'])->find(); diff --git a/app/api/route/app.php b/app/api/route/app.php index ffa92633..bb73975e 100755 --- a/app/api/route/app.php +++ b/app/api/route/app.php @@ -30,6 +30,7 @@ Route::rule('vehicleRent','Vehicle/vehicleRent','post'); Route::rule('getCarLocal','Vehicle/getCarLocal','get'); Route::rule('getCarHistory','Vehicle/getCarHistory','get'); Route::rule('companyCarList','Vehicle/companyCarList','post'); +Route::rule('companyCar','Vehicle/companyCar','post'); Route::rule('addVehicle','Vehicle/addVehicle','post'); Route::rule('getSelfCar','Vehicle/getSelfCar','post'); Route::rule('carInfo','Vehicle/carInfo','post'); \ No newline at end of file