复制'; /** * 处理请求 * * @param Request $request * @return \Dcat\Admin\Actions\Response */ public function handle(Request $request) { // 获取当前行ID $id = $this->getKey(); // 查找原消耗项 $originalItem = GameConsumeItem::find($id); if (!$originalItem) { return $this->response()->error('消耗项不存在'); } // 开启事务 DB::beginTransaction(); try { // 创建新消耗项 $newItem = new GameConsumeItem(); $newItem->group_id = $originalItem->group_id; $newItem->consume_type = $originalItem->consume_type; $newItem->target_id = $originalItem->target_id; $newItem->param1 = $originalItem->param1; $newItem->param2 = $originalItem->param2; $newItem->quantity = $originalItem->quantity; $newItem->extra_data = $originalItem->extra_data; $newItem->save(); DB::commit(); return $this->response() ->success('复制成功') ->refresh(); } catch (\Exception $e) { DB::rollBack(); return $this->response()->error('复制失败: ' . $e->getMessage()); } } /** * 确认信息 * * @return string */ public function confirm() { return '确定要复制这个消耗项吗?'; } }