where('referrer_id', $referrerId) ->first(); if ($existingReferral) { return true; // 已存在推荐关系,直接返回成功 } TalentService::checkAndUpdateUserTalentLevel($referrerId); Log::info('添加推荐关系成功', [ 'user_id' => $userId, 'referrer_id' => $referrerId, 'indirect_referrer_id' => $indirectReferrerId ?? null ]); return true; } catch (\Exception $e) { Log::error('添加推荐关系失败', [ 'user_id' => $userId, 'referrer_id' => $referrerId, 'error' => $e->getMessage(), 'trace' => $e->getTraceAsString() ]); return false; } } /** * 获取用户的团队收益记录 * * @param int $userId * @param int $limit * @return Collection */ public function getTeamProfits(int $userId, int $limit = 100): Collection { try { return FarmTeamProfit::where('user_id', $userId) ->orderByDesc('created_at') ->limit($limit) ->get(); } catch (\Exception $e) { Log::error('获取用户团队收益记录失败', [ 'user_id' => $userId, 'limit' => $limit, 'error' => $e->getMessage(), 'trace' => $e->getTraceAsString() ]); return collect(); } } }