logistics/app/api/controller/VehicleController.php

171 lines
5.8 KiB
PHP
Raw Normal View History

2023-08-19 13:30:28 +08:00
<?php
namespace app\api\controller;
use app\api\logic\VehicleLogic;
2023-08-26 14:32:07 +08:00
use app\common\model\vehicle\Vehicle;
2023-08-22 17:25:38 +08:00
use think\response\Json;
2023-08-19 13:30:28 +08:00
/**
* 车辆管理
* Class VehicleController
* @package app\api\controller
*/
class VehicleController extends BaseApiController
{
2023-08-26 17:03:09 +08:00
public array $notNeedLogin = ['checkNum','vehicleRent','companyCarList','companyCar','addVehicle','getSelfCar','carInfo','getCarLocal','getCarHistory'];
2023-08-23 15:29:10 +08:00
2023-08-25 13:55:18 +08:00
//验证租赁数量
public function checkNum() {
2023-08-23 17:26:44 +08:00
//获取参数
2023-08-25 13:55:18 +08:00
$param = $this->request->get(['num']);
if(empty($param['num'])){
return $this->fail('缺少必要参数');
2023-08-23 15:29:10 +08:00
}
2023-08-25 13:55:18 +08:00
if(!intval($param['num'])){
return $this->fail('参数格式错误');
2023-08-23 16:34:42 +08:00
}
2023-08-25 13:55:18 +08:00
$result = VehicleLogic::checkNum($param['num']);
2023-08-21 12:00:22 +08:00
//返回数据
if($result['code'] == 1){
2023-08-23 17:57:14 +08:00
return $this->success($result['msg'],$result['data']);
2023-08-21 16:16:22 +08:00
}else{
return $this->fail($result['msg']);
}
}
2023-08-25 13:55:18 +08:00
public function vehicleRent():Json {
2023-08-21 16:16:22 +08:00
//获取参数
2023-08-25 13:55:18 +08:00
$param = $this->request->post(['contract_id','car_id','company_id','company_name','company_user_id','company_user_name','company_user_phone','rent_type']);
if(empty($param['contract_id']) || empty($param['car_id']) || empty($param['company_id']) || empty($param['company_name']) || empty($param['company_user_id']) || empty($param['company_user_name']) || empty($param['company_user_phone']) || empty($param['rent_type'])){
2023-08-21 16:16:22 +08:00
return $this->fail('缺少必要参数');
}
2023-08-23 17:26:44 +08:00
//获取数据
2023-08-25 13:55:18 +08:00
$result = VehicleLogic::setRent($param);
2023-08-23 17:26:44 +08:00
//返回数据
2023-08-21 16:16:22 +08:00
if($result['code'] == 1){
2023-08-23 18:07:52 +08:00
return $this->success($result['msg']);
2023-08-21 12:00:22 +08:00
}else{
return $this->fail($result['msg']);
}
}
2023-08-23 18:58:45 +08:00
2023-08-26 11:13:14 +08:00
public function companyCarList():Json {
//获取参数
$params = $this->request->post(['company_id','is_rent','license','company_name','page_no','page_size']);
//验证参数
if(empty($params['company_id']) || empty($params['is_rent'])){
return $this->fail('缺少必要参数');
}
//获取数据
$result = VehicleLogic::companyCarList($params);
//返回数据
if($result['code'] == 1){
return $this->success($result['msg'],$result['data']);
2023-08-26 17:03:09 +08:00
}else{
return $this->fail($result['msg']);
}
}
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']);
2023-08-26 11:13:14 +08:00
}else{
return $this->fail($result['msg']);
}
}
2023-08-26 14:03:26 +08:00
public function addVehicle():Json {
//获取参数
$params = $this->request->post(['company_id','license']);
if(empty($params['company_id']) || empty($params['license'])){
return $this->fail('缺少必要参数');
}
$result = VehicleLogic::addVehicle($params);
//返回数据
if($result['code'] == 1){
return $this->success($result['msg']);
}else{
return $this->fail($result['msg']);
}
}
2023-08-26 14:32:07 +08:00
public function getSelfCar():Json {
//获取参数
$company_id = $this->request->post('company_id');
if(empty($company_id)){
return $this->fail('缺少必要参数');
}
2023-08-26 16:14:14 +08:00
$result = Vehicle::field('id')->where('company_id',$company_id)->where('type',2)->find();
if($result){
2023-08-26 14:32:07 +08:00
return $this->success('请求成功',['has_car'=>true]);
}else{
return $this->success('请求成功',['has_car'=>false]);
}
}
2023-08-26 16:14:14 +08:00
public function carInfo():Json {
//获取参数
$params = $this->request->post(['car_id','car_type']);
if(empty($params['car_id']) || empty($params['car_type'])){
return $this->fail('缺少必要参数');
}
if(!in_array($params['car_type'],[1,2])){
return $this->fail('车辆类型错误');
}
//获取数据
$result = VehicleLogic::carInfo($params);
//返回数据
if($result['code'] == 1){
return $this->success($result['msg'],$result['data']);
}else{
return $this->fail($result['msg']);
}
}
2023-08-23 19:17:01 +08:00
//获取车辆当前位置
2023-08-24 14:15:32 +08:00
public function getCarLocal():Json {
2023-08-24 15:47:33 +08:00
$params = $this->request->get(['car_id']);
if(empty($params['car_id'])){
2023-08-23 19:17:01 +08:00
return $this->fail('缺少必要参数');
}
$result = VehicleLogic::getCarLocal($params);
//返回数据
if($result['code'] == 1){
return $this->success($result['msg'],$result['data']);
}else{
return $this->fail($result['msg']);
}
}
2023-08-24 17:50:08 +08:00
public function getCarHistory():Json {
//获取参数
$params = $this->request->get(['car_id','start_time','end_time']);
//验证参数
if(empty($params['car_id']) || empty($params['start_time']) || empty($params['end_time'])){
return $this->fail('缺少必要参数');
}
//验证时间格式
if(!checkDateIsValid($params['start_time'],['Y-m-d H:i:s']) || !checkDateIsValid($params['end_time'],['Y-m-d H:i:s'])) {
return $this->fail('日期格式错误');
}
//获取数据
$result = VehicleLogic::getCarHistory($params);
//返回数据
if($result['code'] == 1){
return $this->success($result['msg'],$result['data']);
}else{
return $this->fail($result['msg']);
}
}
2023-08-19 13:30:28 +08:00
}