$ursUserId, 'farm_user_id' => $farmUserId ]); $logic = new UrsBackfillRewardLogic(); $result = $logic->backfillPromotionReward($ursUserId, $farmUserId); Log::info('URS推荐奖励补发处理完成', [ 'urs_user_id' => $ursUserId, 'farm_user_id' => $farmUserId, 'result' => $result ]); return $result; } catch (\Exception $e) { Log::error('URS推荐奖励补发失败', [ 'urs_user_id' => $ursUserId, 'farm_user_id' => $farmUserId, 'error' => $e->getMessage(), 'trace' => $e->getTraceAsString() ]); return [ 'success' => false, 'error' => $e->getMessage(), 'backfilled_count' => 0, 'total_subordinates' => 0, 'talent_level' => 0, 'reward_details' => [] ]; } } /** * 检查用户是否需要补发推荐奖励 * * @param int $ursUserId URS用户ID * @return bool */ public static function needsBackfillReward(int $ursUserId): bool { try { $logic = new UrsBackfillRewardLogic(); return $logic->needsBackfillReward($ursUserId); } catch (\Exception $e) { Log::error('检查是否需要补发奖励失败', [ 'urs_user_id' => $ursUserId, 'error' => $e->getMessage() ]); return false; } } /** * 获取用户的下级统计信息 * * @param int $ursUserId URS用户ID * @return array */ public static function getSubordinateStats(int $ursUserId): array { try { $logic = new UrsBackfillRewardLogic(); return $logic->getSubordinateStats($ursUserId); } catch (\Exception $e) { Log::error('获取下级统计信息失败', [ 'urs_user_id' => $ursUserId, 'error' => $e->getMessage() ]); return [ 'direct_count' => 0, 'indirect_count' => 0, 'third_count' => 0, 'total_count' => 0 ]; } } }