You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Laravel实现间接上线推荐奖金发放功能

Laravel 推荐系统间接奖励实现方案

你现有的用户表结构、User模型关联关系已经完全满足需求,不需要新增字段或调整关联定义,只需要修改注册后的奖励发放逻辑,沿推荐链路向上溯源1层给间接上线发奖即可。

核心实现代码

直接替换原有注册逻辑中的发奖段即可:

$referrer = User::whereUsername(session()->pull('referrer'))->first();
$user = User::create([
    'username' => $request->username,
    'name' => $request->name,
    'referrer_id' => $referrer ? $referrer->id : null,
    'email' => $request->email,
    'password' => Hash::make($request->password),
]);

// 奖励金额可根据业务自行调整
$direct_reward = 400;
$indirect_reward = 200;

if ($user->referrer !== null) {
    // 发放直接推荐奖励
    $directReferrer = $user->referrer;
    $directReferrer->deposit($direct_reward);
    // Notification::send($directReferrer, new ReferrerBonus($user));

    // 查找间接上线(直接推荐人的上级),存在则发放间接奖励
    $indirectReferrer = $directReferrer->referrer;
    if ($indirectReferrer !== null) {
        $indirectReferrer->deposit($indirect_reward);
        // 如需给间接上线发通知,可自行解开注释、新建对应通知类
        // Notification::send($indirectReferrer, new IndirectReferrerBonus($user, $directReferrer));
    }
}

逻辑匹配验证

对应你给出的推荐链路规则,验证如下:

  • 链路A→B→C(A推荐B,B推荐C):C注册时,直接推荐人B拿400直接奖励,B的上级A拿200间接奖励,符合「B成功推荐新用户时为A发放奖励」的要求
  • 链路延伸到A→B→C→D(C推荐D):D注册时,直接推荐人C拿400直接奖励,C的上级B拿200间接奖励,符合「C成功推荐新用户时为B发放奖励」的要求

扩展方案(按需选用)

如果后续业务需要支持2级以上的多级推荐奖励,不需要调整表结构,把单层溯源改成循环向上遍历即可,支持自定义最大奖励层级和每层奖励金额:

// 多级奖励配置示例:最多支持3级奖励,每层对应奖励金额
$max_reward_level = 3;
$reward_config = [
    1 => 400,
    2 => 200,
    3 => 100
];

$current_trace_user = $user;
$current_level = 1;
// 沿推荐链路向上遍历,直到达到最大层级或没有上级为止
while ($current_level <= $max_reward_level && $current_trace_user->referrer !== null) {
    $up_referrer = $current_trace_user->referrer;
    $up_referrer->deposit($reward_config[$current_level]);
    // 对应层级通知逻辑可自行添加
    $current_trace_user = $up_referrer;
    $current_level++;
}

注意:如果站点用户量级较大、推荐链路较长,建议把奖励发放逻辑放到队列中异步执行,避免注册接口响应耗时过长。

内容的提问来源于stack exchange,提问作者Hyanu Oluwa

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.26 19:51:45