Browse Source

车牌管理接口

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

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

@ -11,13 +11,10 @@ use Illuminate\Http\JsonResponse;
use Illuminate\Http\Request; use Illuminate\Http\Request;
use Illuminate\Support\Facades\Validator; use Illuminate\Support\Facades\Validator;
use Illuminate\Validation\ValidationException; use Illuminate\Validation\ValidationException;
use Psr\SimpleCache\InvalidArgumentException;
class ParkingLicensePlateController extends BaseController class ParkingLicensePlateController extends BaseController
{ {
/**
* @var ApiResponseService
*/
protected ApiResponseService $responseService;
/** /**
* @var ParkingLicensePlateService * @var ParkingLicensePlateService
*/ */
@ -30,11 +27,12 @@ class ParkingLicensePlateController extends BaseController
*/ */
public function __construct( public function __construct(
ApiResponseService $responseService, ApiResponseService $responseService,
ParkingLicensePlateService $LicensePlateService, ParkingLicensePlateService $LicensePlateService
) { ) {
$this->responseService = $responseService; parent::__construct($responseService);
$this->LicensePlateService = $LicensePlateService; $this->LicensePlateService = $LicensePlateService;
} }
/** /**
* Display a listing of the resource. * Display a listing of the resource.
*/ */
@ -52,7 +50,9 @@ class ParkingLicensePlateController extends BaseController
$perPage = $request->input('per_page', 10); $perPage = $request->input('per_page', 10);
$total = $query->count(); $total = $query->count();
$items = $query->latest()->forPage($page, $perPage)->get(); $items = $query->latest()->forPage($page, $perPage)->select(
['id', 'number']
)->get();
return $this->responseService->success([ return $this->responseService->success([
'items' => $items, 'items' => $items,
@ -86,8 +86,8 @@ class ParkingLicensePlateController extends BaseController
throw $e; throw $e;
} catch (Exception $e) { } catch (Exception $e) {
return $this->responseService->systemError( 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); $this->validateId($id, ParkingLicensePlate::class);
} else { } else {
$rules['space_type_id'] = 'required'; $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); $validator = Validator::make($data, $rules, $messages);
@ -141,8 +143,8 @@ class ParkingLicensePlateController extends BaseController
throw $e; throw $e;
} catch (Exception $e) { } catch (Exception $e) {
return $this->responseService->systemError( 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\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\SoftDeletes;
class ParkingLicensePlate extends Model class ParkingLicensePlate extends Model
{ {
use HasFactory; use HasFactory, SoftDeletes;
protected $table = 'parking_license_plate'; protected $table = 'parking_license_plate';
protected $fillable = [
'number',
'space_type_id'
];
protected $hidden = [ protected $hidden = [
'created_at', 'created_at',
'updated_at', 'updated_at',

5
app/Models/ParkingSpaceAttributes.php

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

7
routes/admin/api.php

@ -35,8 +35,11 @@ Route::group(['prefix' => 'admin'], function () {
Route::apiResource('spaceType', ParkingSpaceTypeController::class); Route::apiResource('spaceType', ParkingSpaceTypeController::class);
Route::get('/space_type/rule', [ParkingSpaceTypeController::class, 'rule']); Route::get('/space_type/rule', [ParkingSpaceTypeController::class, 'rule']);
//车牌管理 //车牌管理
Route::apiResource('licensePlate', ParkingLicensePlateController::class); Route::get('/licensePlate', [ParkingLicensePlateController::class, 'index']);
Route::get('/license_plate/rule', [ParkingLicensePlateController::class, 'rule']); 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::get('/spaceAttr', [ParkingSpaceAttributesController::class, 'index']);
Route::post('/spaceAttr', [ParkingSpaceAttributesController::class, 'store']); Route::post('/spaceAttr', [ParkingSpaceAttributesController::class, 'store']);

Loading…
Cancel
Save