Skip to content

03 — 收益发放

收益发放分为个人收益团队收益两条线,均由后台定时任务自动执行。个人收益按日利率计算,团队收益按下单时预算好的分润链发放,V5–V7 用户需额外通过月度考核。


一、个人收益发放

任务执行时间

每天 00:00(凌晨) 自动执行。

计算公式

当日个人收益 = 本金 × 0.0038

例:质押 10,000 USDT,每日收益 = 10,000 × 0.0038 = 38 USDT

发放流程

发放条件(全部满足)

条件说明
订单状态已支付(state=2)、已启用(status=1)、未到期(expired=1)
发放天数已发天数(person_stage)< 总周期(days=365)
付款时间订单付款时间 < 当天 00:00(当日付款不参与当日发放)

防重保护

  • 使用 Redis 分布式锁(TTL 1 小时),防止同一任务并发重复执行

订单到期处理

订单发满 365 天后自动处理:

  1. 标记订单为已到期
  2. 从用户和团队业绩中扣减本订单贡献的业绩
  3. 关闭该订单对应的分润链

二、团队收益发放

任务执行时间

每天 07:00 自动执行(晚于个人收益,确保日志时序清晰)。

发放原理

团队收益不是实时计算,而是在用户下单时已经预算好各层节点的应得金额,存储在升级订单的 stat_relations 字段中。每日任务直接读取并发放,效率高且一致性强。

发放流程

V5–V7 发放条件(四项全部满足)

条件说明
有有效理财订单上级节点本身须有生效中的质押订单
业绩达到等级门槛个人业绩和团队业绩均达到对应等级标准
月度考核通过当前考核周期内业绩达标(见下方说明)
分润开关开启等级对应的分润开关(t_in=2)处于开启状态

满足任一豁免条件可直接发放:

  • 节点等级为 V8 或 V9(level 5、6)
  • 处于免考核保护期内(新晋级后的保护窗口期)

三、月度考核机制

设计目的

确保 V5–V7 用户保持活跃业绩,防止"躺赚"。用户每个考核周期(30 天)需完成一定新增业绩,否则停发团队收益。

考核标准

等级30 天最低新增业绩
V5(level 2)1,500
V6(level 3)3,500
V7(level 4)7,000

注意:上述数值与代码实际执行的 kaohe30Map 一致。部分历史注释中的旧版数值(20000/45000/100000)已废弃,请以此为准。

考核周期管理

免考核保护期

  • 新晋某等级时,享受一段免考核保护期
  • 保护期内:团队收益正常发放,不受考核结果影响
  • 保护期结束后:考核结果开始生效

四、发放时序总览

每日 00:00  → 个人收益发放任务
每日 07:00  → 团队收益发放任务
每月周期末  → 月度考核统计任务(通常随团队发放脚本联动)

五、关键规则汇总

规则说明
个人收益当日到账每日 0 点结算,累积在订单余额,用户申请提现后到账
团队收益按预算发放金额在下单时已确定,不因后续业绩变化而调整
当日付款不享当日发放避免刷单套利
Redis 防重锁个人和团队任务各有独立锁,互不干扰
跳过记录可追溯被跳过的节点会记录详细原因,便于运营排查

所属文件:console/controllers/invest/IncomePersonController.phpconsole/controllers/invest/IncomeTeamController.phpconsole/controllers/invest/MonthKaoheController.phpbackend/services/invest/FtgInvestIncomeService.phpbackend/services/invest/MonthKaoheService.php