Browse Source

楼层栋

master
wanghongjun 5 days ago
parent
commit
727315bf39
  1. 28
      app/Http/Controllers/Admin/FloorController.php
  2. 5
      app/Http/Controllers/Admin/IndexController.php
  3. 28
      app/Http/Controllers/Admin/ParkingElectronicMapController.php
  4. 3
      app/Models/AdminFloor.php
  5. 14
      app/Services/AdminFloorService.php
  6. 1
      database/migrations/2026_02_10_173627_create_admin_floor_table.php
  7. 2
      routes/admin/api.php

28
app/Http/Controllers/Admin/FloorController.php

@ -43,6 +43,13 @@ class FloorController extends BaseController
try {
$query = AdminFloor::query();
if ($request->has('building_floor')) {
$building_floor = $request->input('building_floor');
if ($building_floor) {
$query->where('building_floor', $building_floor);
}
}
// 分页
$page = $request->input('page', 1);
$perPage = $request->input('per_page', 10);
@ -207,4 +214,25 @@ class FloorController extends BaseController
);
}
}
/**
* 列表搜索数据
* @return JsonResponse
*/
public function search(): JsonResponse
{
try {
$data = [
'building_floor_list' => get_select_data(
AdminFloorService::getBuildingFloor()
)
];
return $this->responseService->success($data);
} catch (Exception $e) {
$m_prefix = __('exception.exception_handler.resource');
return $this->responseService->systemError(
$m_prefix . ':' . $e->getMessage()
);
}
}
}

5
app/Http/Controllers/Admin/IndexController.php

@ -4,10 +4,9 @@ namespace App\Http\Controllers\Admin;
use App\Services\AdminMenuService;
use App\Services\ApiResponseService;
use App\Services\OperationLogService;
use Exception;
use Illuminate\Http\JsonResponse;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
class IndexController extends BaseController
{
@ -39,7 +38,7 @@ class IndexController extends BaseController
public function menu(): JsonResponse
{
try {
$data = (new AdminMenuService())->getUserMenuTreeList(
$data = (new AdminMenuService(new OperationLogService()))->getUserMenuTreeList(
$this->adminUserId
);
return $this->responseService->success($data);

28
app/Http/Controllers/Admin/ParkingElectronicMapController.php

@ -2,7 +2,6 @@
namespace App\Http\Controllers\Admin;
use App\Models\ParkingElectronicMap;
use App\Services\AdminFloorService;
use App\Services\ApiResponseService;
use App\Services\ParkingElectronicMapService;
@ -33,13 +32,36 @@ class ParkingElectronicMapController extends BaseController
/**
* 查询楼层
* @param Request $request
* @return JsonResponse
*/
public function floorList(): JsonResponse
public function floorList(Request $request): JsonResponse
{
try {
$building_floor = $request->get('building_floor', '1');
$data = [
'floor_list' => AdminFloorService::getSelectList()
'floor_list' => AdminFloorService::getSelectList($building_floor)
];
return $this->responseService->success($data);
} catch (Exception $e) {
$m_prefix = __('exception.exception_handler.resource');
return $this->responseService->systemError(
$m_prefix . ':' . $e->getMessage()
);
}
}
/**
* 楼层栋
* @return JsonResponse
*/
public function buildingFloorList(): JsonResponse
{
try {
$data = [
'building_floor_list' => get_select_data(
AdminFloorService::getBuildingFloor()
)
];
return $this->responseService->success($data);
} catch (Exception $e) {

3
app/Models/AdminFloor.php

@ -15,7 +15,8 @@ class AdminFloor extends Model
protected $fillable
= [
'name',
'image_url'
'image_url',
'building_floor'
];
protected $hidden = [

14
app/Services/AdminFloorService.php

@ -11,6 +11,7 @@ use Illuminate\Support\Facades\DB;
class AdminFloorService
{
private static array $buildingFloor = [1 => 'MSCP', 2 => 'GSCP'];
/**
* @var OperationLogService
@ -177,18 +178,25 @@ class AdminFloorService
}
// 获取楼层列表
public static function getSelectList(): array
public static function getSelectList($building_floor): array
{
$column = [
'id as floor_id',
'name as floor_name',
'image_url as pic_url'
'image_url as pic_url',
'building_floor'
];
$list = AdminFloor::query()->whereNull('deleted_at')->select($column)
$list = AdminFloor::query()->where('building_floor', $building_floor)->whereNull('deleted_at')->select($column)
->get()->toArray();
foreach ($list as &$item) {
$item['pic_url'] = env('app_url') . $item['pic_url'];
}
return $list;
}
// 获取楼栋层
public static function getBuildingFloor(): array
{
return self::$buildingFloor;
}
}

1
database/migrations/2026_02_10_173627_create_admin_floor_table.php

@ -15,6 +15,7 @@ return new class extends Migration
$table->id();
$table->string('name')->comment('楼层名称');
$table->string('image_url')->comment('图片路径');
$table->integer('building_floor')->default(1)->comment('所属楼');
$table->timestamps();
$table->softDeletes();
$table->innoDb();

2
routes/admin/api.php

@ -70,6 +70,7 @@ Route::group(['prefix' => 'admin'], function () {
// 绘制电子地图
Route::get('/map/index', [ParkingElectronicMapController::class, 'index']);
Route::get('/map/floorList', [ParkingElectronicMapController::class, 'floorList']);
Route::get('/map/buildingFloorList', [ParkingElectronicMapController::class, 'buildingFloorList']);
Route::get('/map/parkingSpaceList/{id}', [ParkingElectronicMapController::class, 'getParkingSpaceList']);
Route::post('/map/save', [ParkingElectronicMapController::class, 'save']);
@ -99,6 +100,7 @@ Route::group(['prefix' => 'admin'], function () {
Route::put('/floors/{id}', [FloorController::class, 'update']);
Route::delete('/floors/{id}', [FloorController::class, 'destroy']);
Route::get('/floors/rule', [FloorController::class, 'rule']);
Route::get('/floors/search', [FloorController::class, 'search']);
// 图片上传
Route::post('/uploadImage', [UploadController::class, 'uploadImage']);
// 翻译

Loading…
Cancel
Save