Browse Source

vip进出记录接口

master
wanghongjun 1 week ago
parent
commit
7306df1c96
  1. 89
      app/Http/Controllers/Admin/VipAccessRecordController.php
  2. 4
      routes/admin/api.php

89
app/Http/Controllers/Admin/VipAccessRecordController.php

@ -5,6 +5,7 @@ namespace App\Http\Controllers\Admin;
use App\Http\Controllers\Controller; use App\Http\Controllers\Controller;
use App\Models\AdminVipAccessRecord; use App\Models\AdminVipAccessRecord;
use App\Models\AdminVipList; use App\Models\AdminVipList;
use App\Models\ParkingSpaceType;
use App\Services\ApiResponseService; use App\Services\ApiResponseService;
use Exception; use Exception;
use Illuminate\Http\JsonResponse; use Illuminate\Http\JsonResponse;
@ -34,24 +35,30 @@ class VipAccessRecordController extends Controller
if ($request->has('space')) { if ($request->has('space')) {
$space = $request->input('space'); $space = $request->input('space');
$query->where('parking_space_id', 'like', "%{$space}%"); if (!empty($space)) {
$query->where('parking_space_id', 'like', "%{$space}%");
}
} }
if ($request->has('space_number')) { if ($request->exists('space_number')) {
// $space_number = $request->input('space_number'); $space_number = $request->input('space_number');
if (!empty($space_number)) {
}
} }
if ($request->has('license')) { if ($request->has('license')) {
$license = $request->input('license'); $license = $request->input('license');
$vipIds = AdminVipList::query()->where( if (!empty($license)) {
'license', $vipIds = AdminVipList::query()->where(
'like', 'license',
"%{$license}%" 'like',
)->pluck('id'); "%{$license}%"
if ($vipIds) { )->pluck('id');
$query->whereIn('vip_list_id', $vipIds); if ($vipIds) {
} else { $query->whereIn('vip_list_id', $vipIds);
$query->where('id', 0); } else {
$query->where('id', 0);
}
} }
} }
@ -62,10 +69,12 @@ class VipAccessRecordController extends Controller
) { ) {
$enter_start_time = $request->input('enter_start_time'); $enter_start_time = $request->input('enter_start_time');
$enter_end_time = $request->input('enter_end_time'); $enter_end_time = $request->input('enter_end_time');
$query->whereBetween( if (!empty($enter_start_time) && !empty($enter_end_time)) {
'enter_time', $query->whereBetween(
[$enter_start_time, $enter_end_time] 'enter_time',
); [$enter_start_time, $enter_end_time]
);
}
} }
if ($request->has('leave_start_time') if ($request->has('leave_start_time')
@ -75,10 +84,12 @@ class VipAccessRecordController extends Controller
) { ) {
$leave_start_time = $request->input('leave_start_time'); $leave_start_time = $request->input('leave_start_time');
$leave_end_time = $request->input('leave_end_time'); $leave_end_time = $request->input('leave_end_time');
$query->whereBetween( if (!empty($leave_start_time) && !empty($leave_end_time)) {
'enter_time', $query->whereBetween(
[$leave_start_time, $leave_end_time] 'enter_time',
); [$leave_start_time, $leave_end_time]
);
}
} }
// 分页 // 分页
@ -88,11 +99,7 @@ class VipAccessRecordController extends Controller
$total = $query->count(); $total = $query->count();
$items = $query->latest()->forPage($page, $perPage)->get()->each( $items = $query->latest()->forPage($page, $perPage)->get()->each(
function ($item) { function ($item) {
$item['license_number'] = AdminVipList::query()->where( return $this->optionItem($item);
'id',
$item['vip_list_id']
)->value('license');
return $item;
} }
); );
@ -110,4 +117,36 @@ class VipAccessRecordController extends Controller
); );
} }
} }
protected function optionItem(array $item): array
{
$item['license_number'] = AdminVipList::query()->where(
'id',
$item['vip_list_id']
)->value('license');
$item['space_type'] = ParkingSpaceType::query()->where(
'id',
$item
['parking_space_id']
)->value('name');
$item['space_number'] = "";
unset(
$item['vip_list_id'],
$item['parking_space_id'],
$item['parking_number_id']
);
return $item;
}
public function show(string $id): JsonResponse
{
try {
$data = AdminVipAccessRecord::query()->find($id)->toArray();
return $this->responseService->success($this->optionItem($data));
} catch (Exception $e) {
return $this->responseService->systemError(
__('exception.get_data_failed') . ':' . $e->getMessage()
);
}
}
} }

4
routes/admin/api.php

@ -4,6 +4,7 @@ use App\Http\Controllers\Admin\AuthController;
use App\Http\Controllers\Admin\ConfigController; use App\Http\Controllers\Admin\ConfigController;
use App\Http\Controllers\Admin\FloorController; use App\Http\Controllers\Admin\FloorController;
use App\Http\Controllers\Admin\IndexController; use App\Http\Controllers\Admin\IndexController;
use App\Http\Controllers\Admin\VipAccessRecordController;
use App\Http\Controllers\Admin\VipListController; use App\Http\Controllers\Admin\VipListController;
use App\Http\Controllers\Admin\OperationLogController; use App\Http\Controllers\Admin\OperationLogController;
use App\Http\Controllers\Admin\ParkingLicensePlateController; use App\Http\Controllers\Admin\ParkingLicensePlateController;
@ -44,6 +45,9 @@ Route::group(['prefix' => 'admin'], function () {
Route::apiResource('vipList', VipListController::class); Route::apiResource('vipList', VipListController::class);
Route::get('vip_list/rule', [VipListController::class, 'rule']); Route::get('vip_list/rule', [VipListController::class, 'rule']);
Route::post('vip_list/import', [VipListController::class, 'import']); Route::post('vip_list/import', [VipListController::class, 'import']);
// VIP进出记录
Route::get('vipAccessRecord', [VipAccessRecordController::class, 'index']);
Route::get('vipAccessRecord/{id}', [VipAccessRecordController::class, 'show']);
// 系统日志 // 系统日志
Route::get('/operationLog/index', [OperationLogController::class, 'index']); Route::get('/operationLog/index', [OperationLogController::class, 'index']);

Loading…
Cancel
Save