diff --git a/app/Http/Controllers/Admin/ParkingManagementController.php b/app/Http/Controllers/Admin/ParkingManagementController.php index ae74c09..6542bc3 100644 --- a/app/Http/Controllers/Admin/ParkingManagementController.php +++ b/app/Http/Controllers/Admin/ParkingManagementController.php @@ -48,12 +48,12 @@ class ParkingManagementController extends BaseController 1 ); $item['name'] = $tr_name ?: $item['name']; - $open_time_res = $this->service->optionTime( + $open_time_res = option_time( $item['open_time'] ); $item['open_time'] = $open_time_res['time']; $item['open_time_str'] = $open_time_res['str']; - $close_time_res = $this->service->optionTime( + $close_time_res = option_time( $item['close_time'] ); $item['close_time'] = $close_time_res['time']; diff --git a/app/Models/AdminFloor.php b/app/Models/AdminFloor.php index 6d84d46..ffee0dd 100644 --- a/app/Models/AdminFloor.php +++ b/app/Models/AdminFloor.php @@ -17,16 +17,22 @@ class AdminFloor extends Model = [ 'name', 'image_url', - 'building_floor' + 'building_floor', + 'open_time', + 'close_time' ]; protected $hidden = [ 'updated_at', - 'created_at', 'deleted_at' ]; + public function getCreatedAtAttribute($value): string + { + return $value ? date("Y-m-d H:i:s", strtotime($value)) : $value; + } + public static function getName($id) { return self::query()->where('id', $id)->value('name') ?? ''; diff --git a/app/Services/AdminFloorService.php b/app/Services/AdminFloorService.php index 7bc8494..fd0bb17 100644 --- a/app/Services/AdminFloorService.php +++ b/app/Services/AdminFloorService.php @@ -12,6 +12,20 @@ class AdminFloorService { private static array $buildingFloor = [1 => 'MSCP', 2 => 'GSCP']; + private static array $statusArr = ['disabled', 'enable']; + + /** + * @return array|string[] + */ + public static function getStatus(): array + { + $statusArr = self::$statusArr; + foreach ($statusArr as $key => $value) { + $statusArr[$key] = __('admin.' . $value); + } + return $statusArr; + } + /** * @var OperationLogService */ @@ -36,7 +50,6 @@ class AdminFloorService { try { DB::beginTransaction(); - $region_data = $data['region_data'] ?? []; if (AdminFloor::query()->where('name', $data['name'])->exists()) { throw new Exception(__('service.admin_floor.name_exists')); @@ -45,15 +58,21 @@ class AdminFloorService $model = AdminFloor::query()->create([ 'name' => $data['name'], 'image_url' => $data['image_url'], + 'open_time' => $data['open_time'], + 'close_time' => $data['close_time'], 'building_floor' => $data['building_floor'] ?? 1, 'created_at' => get_datetime() ]); $this->logService->logCreated($model, 'admin_floor.create'); - if ($region_data) { - $this->addAdminFloorRegion($model->id, $region_data); - } + AdminTranslationService::saveTranslation( + $data['name'], + $data['en_name'] ?? '', + $data['tw_name'] ?? '', + $model->id, + 4 + ); DB::commit(); return $model; @@ -97,7 +116,6 @@ class AdminFloorService { try { DB::beginTransaction(); - $region_data = $data['region_data'] ?? []; // 验证 $existsWhere = [ @@ -115,20 +133,21 @@ class AdminFloorService $model->update([ 'name' => $data['name'], 'image_url' => $data['image_url'], + 'open_time' => $data['open_time'], + 'close_time' => $data['close_time'], 'building_floor' => $data['building_floor'] ?? 1, 'updated_at' => get_datetime() ]); $this->logService->logUpdated($model, $oldValues, 'admin_floor.update'); - // 删除再创建关联 - $nameArr = array_column($region_data, 'name'); - if (AdminFloorRegion::existsRoleMenu($id, $nameArr)) { - $this->delAdminFloorRegion($id); - if ($region_data) { - $this->addAdminFloorRegion($id, $region_data); - } - } + AdminTranslationService::saveTranslation( + $data['name'], + $data['en_name'] ?? '', + $data['tw_name'] ?? '', + $id, + 4 + ); DB::commit(); return $model; @@ -166,8 +185,6 @@ class AdminFloorService $model->delete(); - $this->delAdminFloorRegion($id); - DB::commit(); return true; } catch (Exception $e) { diff --git a/app/Services/ParkingManagementService.php b/app/Services/ParkingManagementService.php index b8be86d..4b64591 100644 --- a/app/Services/ParkingManagementService.php +++ b/app/Services/ParkingManagementService.php @@ -133,19 +133,4 @@ class ParkingManagementService extends BaseService } return $count; } - - public function optionTime($time): array - { - $str = 'AM'; - $end_str = 'PM'; - $arr = explode(':', $time); - if ($arr[0] > 12) { - $time = ($arr[0] - 12) . ':' . $arr[1]; - $str = $end_str; - } - return [ - 'time' => $time, - 'str' => $str - ]; - } } diff --git a/app/common.php b/app/common.php index dfdc928..7f47f0e 100644 --- a/app/common.php +++ b/app/common.php @@ -182,3 +182,20 @@ if (!function_exists('get_year_month_days')) { return $dayArr; } } + +if (!function_exists('option_time')) { + function option_time($time): array + { + $str = 'AM'; + $end_str = 'PM'; + $arr = explode(':', $time); + if ($arr[0] > 12) { + $time = ($arr[0] - 12) . ':' . $arr[1]; + $str = $end_str; + } + return [ + 'time' => $time, + 'str' => $str + ]; + } +} diff --git a/database/migrations/2026_02_10_173627_create_admin_floor_table.php b/database/migrations/2026_02_10_173627_create_admin_floor_table.php index b43bc82..18af61c 100644 --- a/database/migrations/2026_02_10_173627_create_admin_floor_table.php +++ b/database/migrations/2026_02_10_173627_create_admin_floor_table.php @@ -17,6 +17,8 @@ return new class extends Migration $table->string('image_url')->comment('图片路径'); $table->integer('building_floor')->default(1)->comment('所属楼'); $table->tinyInteger('status')->default(1)->comment('状态'); + $table->char('open_time', 5)->comment('开门时间'); + $table->char('close_time', 5)->comment('关门时间'); $table->timestamps(); $table->softDeletes(); $table->innoDb();