复制'; /** * 处理请求 * * @param Request $request * @return mixed */ public function handle(Request $request) { try { $id = $this->getKey(); // 查找原始活动及其条件 $activity = ActivityConfig::with('conditions')->findOrFail($id); // 复制活动基本信息 $newActivity = $activity->replicate(); $newActivity->name = $activity->name . ' (复制)'; $newActivity->status = ACTIVITY_STATUS::NOT_STARTED; $newActivity->save(); // 复制活动条件 foreach ($activity->conditions as $condition) { $newCondition = $condition->replicate(); $newCondition->activity_id = $newActivity->id; $newCondition->save(); } return $this->response() ->success("已成功复制活动 [{$newActivity->name}]") ->refresh(); } catch (\Exception $e) { return $this->response() ->error('复制失败: ' . $e->getMessage()); } } /** * 确认信息 * * @return array|string|void */ public function confirm() { return ['确定要复制此活动吗?', '复制操作将创建一个新的活动记录,包括所有条件配置']; } }