service()->adminIndex()); } public function save(Request $request) { $id = (int)$request->input('id', 0); try { $packageId = $this->service()->save([ 'service_provider' => $request->input('service_provider', 'anxinyan'), 'package_name' => $request->input('package_name', ''), 'package_code' => $request->input('package_code', ''), 'price' => $request->input('price', ''), 'description' => $request->input('description', ''), 'is_enabled' => $request->input('is_enabled', true), 'is_default' => $request->input('is_default', false), 'sort_order' => $request->input('sort_order', 0), ], $id); } catch (\RuntimeException $e) { return api_error($e->getMessage(), 422); } catch (\Throwable $e) { return api_error('服务价格套餐保存失败', 500, [ 'detail' => $e->getMessage(), ]); } return api_success([ 'id' => $packageId, ], $id > 0 ? '服务价格套餐已更新' : '服务价格套餐已创建'); } public function updateStatus(Request $request) { $id = (int)$request->input('id', 0); if ($id <= 0) { return api_error('套餐 ID 不能为空', 422); } try { $this->service()->setEnabled($id, !empty($request->input('is_enabled', true))); } catch (\RuntimeException $e) { return api_error($e->getMessage(), 422); } catch (\Throwable $e) { return api_error('服务价格套餐状态更新失败', 500, [ 'detail' => $e->getMessage(), ]); } return api_success(['id' => $id], '套餐状态已更新'); } public function setDefault(Request $request) { $id = (int)$request->input('id', 0); if ($id <= 0) { return api_error('套餐 ID 不能为空', 422); } try { $this->service()->setDefault($id); } catch (\RuntimeException $e) { return api_error($e->getMessage(), 422); } catch (\Throwable $e) { return api_error('默认套餐设置失败', 500, [ 'detail' => $e->getMessage(), ]); } return api_success(['id' => $id], '默认套餐已更新'); } private function service(): AppraisalServicePricePackageService { return new AppraisalServicePricePackageService(); } }