From 197eda7a449bde8c394fdad51c29f9b363d26fd4 Mon Sep 17 00:00:00 2001 From: wanghongjun <1445693971@qq.com> Date: Tue, 28 Apr 2026 14:55:11 +0800 Subject: [PATCH] =?UTF-8?q?=E8=BF=94=E5=9B=9E=E6=A5=BC=E5=B1=82=E5=9B=BE?= =?UTF-8?q?=E7=89=87=E5=AE=8C=E6=95=B4=E8=B7=AF=E5=BE=843?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Controllers/Admin/FloorController.php | 27 +++++++++++++--- app/Services/AdminFloorService.php | 32 ++++++++++++++----- 2 files changed, 47 insertions(+), 12 deletions(-) diff --git a/app/Http/Controllers/Admin/FloorController.php b/app/Http/Controllers/Admin/FloorController.php index d7dbacb..69af9ba 100644 --- a/app/Http/Controllers/Admin/FloorController.php +++ b/app/Http/Controllers/Admin/FloorController.php @@ -135,10 +135,7 @@ class FloorController extends BaseController $this->validateId($id, AdminFloor::class); $data = [ 'region_list' => AdminFloorRegion::getFloorRegion($id), - 'item' => AdminFloor::query() - ->where('id', $id) - ->get() - ->toArray() + 'item' => AdminFloorService::getFloorData($id) ]; return $this->responseService->success($data); } catch (Exception $e) { @@ -235,4 +232,26 @@ class FloorController extends BaseController ); } } + + /** + * 楼层编号查询区域 + * @param Request $request + * @return JsonResponse + */ + public function floorRegionList(Request $request): JsonResponse + { + try { + $floor_id = $request->get('floor_id', ''); + $this->validateId($floor_id, AdminFloor::class); + $data = [ + 'floor_region_list' => AdminFloorRegion::getFloorRegion($floor_id) + ]; + return $this->responseService->success($data); + } catch (Exception $e) { + $m_prefix = __('exception.exception_handler.resource'); + return $this->responseService->systemError( + $m_prefix . ':' . $e->getMessage() + ); + } + } } diff --git a/app/Services/AdminFloorService.php b/app/Services/AdminFloorService.php index bc4c334..2814d78 100644 --- a/app/Services/AdminFloorService.php +++ b/app/Services/AdminFloorService.php @@ -178,22 +178,38 @@ class AdminFloorService } // 获取楼层列表 - public static function getSelectList($building_floor): array + public static function getSelectList($building_floor, $column = []): array { - $column = [ - 'id as floor_id', - 'name as floor_name', - 'image_url as pic_url', - 'building_floor' - ]; + if (empty($column)) { + $column = [ + 'id as floor_id', + 'name as floor_name', + 'image_url as pic_url', + 'building_floor' + ]; + } $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']; + if (isset($item['pic_url'])) { + $item['pic_url'] = env('app_url') . $item['pic_url']; + } } return $list; } + // 获取单个楼层信息 + public static function getFloorData($id): array + { + $data = AdminFloor::query()->where('id', $id)->get()->toArray(); + foreach ($data as &$item) { + if (isset($item['image_url'])) { + $item['pic_url'] = env('app_url') . $item['image_url']; + } + } + return $data; + } + // 获取楼栋层 public static function getBuildingFloor(): array {