package com.xuekairui.common.activity; /** * 邀请有礼活动门面(可选实现,由活动模块提供)。 *

* 邀请模块不直接发放邀请奖励,而是通过该接口委托给活动模块统一处理。 * 被邀请人入驻审核通过后触发发奖。已入驻用户补填邀请码时通过 {@link #grantRewardForApprovedUser} 发放。 *

* 默认无实现时:邀请模块保持兼容,不发放奖励(活动模块未加载)。 */ public interface ActivityInviteGate { /** * 已入驻用户补填邀请码时发放奖励(依赖活动配置,活动未开启则不发放)。 *

* 场景:被邀请人已通过入驻审核,后补填邀请码 → 邀请人应获得奖励。 * 幂等由 uk_invitee 唯一索引保障。 * * @param inviterId 邀请人ID * @param inviteeId 被邀请人ID(已入驻) */ void grantRewardForApprovedUser(Long inviterId, Long inviteeId); /** * 获取邀请人奖励天数(从活动配置,默认30天=1个月) */ default int getInviterRewardDays() { return 30; } /** * 获取邀请人总邀请上限(从活动配置,默认30人) */ default int getMaxTotalInvites() { return 30; } }