Browse Source

车牌管理接口

master
wanghongjun 8 hours ago
parent
commit
61b72efefb
  1. 45
      app/Http/Controllers/Admin/ParkingLicensePlateController.php
  2. 8
      app/Models/ParkingLicensePlate.php
  3. 5
      app/Models/ParkingSpaceAttributes.php
  4. 7
      routes/admin/api.php

45
app/Http/Controllers/Admin/ParkingLicensePlateController.php

@ -11,13 +11,10 @@ use Illuminate\Http\JsonResponse;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Validator;
use Illuminate\Validation\ValidationException;
use Psr\SimpleCache\InvalidArgumentException;
class ParkingLicensePlateController extends BaseController
{
/**
* @var ApiResponseService
*/
protected ApiResponseService $responseService;
/**
* @var ParkingLicensePlateService
*/
@ -25,16 +22,17 @@ class ParkingLicensePlateController extends BaseController
/**
* 构造函数
* @param ApiResponseService $responseService
* @param ApiResponseService $responseService
* @param ParkingLicensePlateService $LicensePlateService
*/
public function __construct(
ApiResponseService $responseService,
ParkingLicensePlateService $LicensePlateService,
ParkingLicensePlateService $LicensePlateService
) {
$this->responseService = $responseService;
parent::__construct($responseService);
$this->LicensePlateService = $LicensePlateService;
}
/**
* Display a listing of the resource.
*/
@ -52,7 +50,9 @@ class ParkingLicensePlateController extends BaseController
$perPage = $request->input('per_page', 10);
$total = $query->count();
$items = $query->latest()->forPage($page, $perPage)->get();
$items = $query->latest()->forPage($page, $perPage)->select(
['id', 'number']
)->get();
return $this->responseService->success([
'items' => $items,
@ -86,8 +86,8 @@ class ParkingLicensePlateController extends BaseController
throw $e;
} catch (Exception $e) {
return $this->responseService->systemError(
__('exception.license_plate.create_failed') . ':' . $e->getMessage(
)
__('exception.license_plate.create_failed') . ':'
. $e->getMessage()
);
}
}
@ -112,7 +112,9 @@ class ParkingLicensePlateController extends BaseController
$this->validateId($id, ParkingLicensePlate::class);
} else {
$rules['space_type_id'] = 'required';
$messages['space_type_id.required'] = __('validation.license_plate.type_empty');
$messages['space_type_id.required'] = __(
'validation.license_plate.type_empty'
);
}
$validator = Validator::make($data, $rules, $messages);
@ -141,8 +143,8 @@ class ParkingLicensePlateController extends BaseController
throw $e;
} catch (Exception $e) {
return $this->responseService->systemError(
__('exception.license_plate.update_failed') . ':' . $e->getMessage(
)
__('exception.license_plate.update_failed') . ':'
. $e->getMessage()
);
}
}
@ -171,4 +173,21 @@ class ParkingLicensePlateController extends BaseController
);
}
}
/**
* @return JsonResponse
* @throws InvalidArgumentException
*/
public function rule(): JsonResponse
{
try {
return $this->responseService->success(
$this->methodShow('licensePlate')
);
} catch (Exception $e) {
return $this->responseService->systemError(
__('exception.get_data_failed') . ':' . $e->getMessage()
);
}
}
}

8
app/Models/ParkingLicensePlate.php

@ -4,13 +4,19 @@ namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\SoftDeletes;
class ParkingLicensePlate extends Model
{
use HasFactory;
use HasFactory, SoftDeletes;
protected $table = 'parking_license_plate';
protected $fillable = [
'number',
'space_type_id'
];
protected $hidden = [
'created_at',
'updated_at',

5
app/Models/ParkingSpaceAttributes.php

@ -11,6 +11,11 @@ class ParkingSpaceAttributes extends Model
protected $table = 'parking_space_attributes';
protected $fillable = [
'attributes',
'import_diagram'
];
protected $hidden
= [
'created_at',

7
routes/admin/api.php

@ -35,8 +35,11 @@ Route::group(['prefix' => 'admin'], function () {
Route::apiResource('spaceType', ParkingSpaceTypeController::class);
Route::get('/space_type/rule', [ParkingSpaceTypeController::class, 'rule']);
//车牌管理
Route::apiResource('licensePlate', ParkingLicensePlateController::class);
Route::get('/license_plate/rule', [ParkingLicensePlateController::class, 'rule']);
Route::get('/licensePlate', [ParkingLicensePlateController::class, 'index']);
Route::post('/licensePlate', [ParkingLicensePlateController::class, 'store']);
Route::put('/licensePlate/{id}', [ParkingLicensePlateController::class, 'update']);
Route::delete('/licensePlate/{id}', [ParkingLicensePlateController::class, 'destroy']);
Route::get('/licensePlate/rule', [ParkingLicensePlateController::class, 'rule']);
// 车位属性管理
Route::get('/spaceAttr', [ParkingSpaceAttributesController::class, 'index']);
Route::post('/spaceAttr', [ParkingSpaceAttributesController::class, 'store']);

Loading…
Cancel
Save