package activity import ( "app.yhyue.com/moapp/jybase/go-logger/logger" "app.yhyue.com/moapp/jybase/redis" "app.yhyue.com/moapp/message/handler/award" "app.yhyue.com/moapp/message/model" "fmt" "github.com/gogf/gf/v2/os/gcfg" "github.com/gogf/gf/v2/os/gctx" ) /* 分享裂变活动 活动详情 邀请新用户注册可获得剑鱼币和超级订阅奖励 分享者可新用户都可获得500积分,7天超级订阅 上限:2000剑鱼币 28天超级订阅 */ const ( InviteRegisterActivityCode = "inviteRegister" ) // InviteActivity 邀请活动奖励 func InviteActivity(msg *model.Message) { // 超级订阅 subVipTimes, _ := award.GetActivityAwardDesc(msg.E_userId, InviteRegisterActivityCode, award.AwardSubVip) subVipMax := gcfg.Instance().MustGet(gctx.New(), "inviteRegister.rewardTimesMax.subvip", nil).Int64() if subVipTimes < subVipMax { _ = award.GivenSubVip(msg.E_userId, award.SubVip{ Num: gcfg.Instance().MustGet(gctx.New(), "inviteRegister.invite.subvip", nil).Int64(), ActivityCode: InviteRegisterActivityCode, Date: msg.E_time, Desc: "被邀请注册成功", }) } else { logger.Info(fmt.Sprintf("%+v", msg), msg.E_userId, "用户已达邀请奖励上限,停止赠送权益", subVipMax, "限制,不再增加超级订阅") } // 积分 pointsTimes, _ := award.GetActivityAwardDesc(msg.E_userId, InviteRegisterActivityCode, award.AwardPoints) pointsMax := gcfg.Instance().MustGet(gctx.New(), "inviteRegister.rewardTimesMax.points", nil).Int64() if pointsTimes < pointsMax { _ = award.GivenPoints(msg.E_userId, award.Points{ Num: gcfg.Instance().MustGet(gctx.New(), "inviteRegister.invite.points", nil).Int64(), Type: 1003, ActivityCode: InviteRegisterActivityCode, Date: msg.E_time, Desc: "邀请好友成功", }) } else { logger.Info(fmt.Sprintf("%+v", msg), msg.E_userId, "用户已达邀请奖励上限,停止赠送权益", pointsMax, "限制,不再增加积分") } //投标人专属免费计划-邀请任务 key := fmt.Sprintf(BidderPlanInviteMissionsStatus, msg.E_userId) if JyBidderPlan.InActivity() && redis.Get(BidderPlanRedis, key) == nil { redis.Incr(BidderPlanRedis, key) _ = redis.SetExpire(BidderPlanRedis, key, JyBidderPlan.cacheLong()) } } // InvitedActivity 被邀请奖励 func InvitedActivity(msg *model.Message) { // 超级订阅 _ = award.GivenSubVip(msg.E_userId, award.SubVip{ Num: gcfg.Instance().MustGet(gctx.New(), "inviteRegister.invited.subvip", nil).Int64(), ActivityCode: InviteRegisterActivityCode, Date: msg.E_time, Desc: "被邀请注册成功", }) // 积分 _ = award.GivenPoints(msg.E_userId, award.Points{ Num: gcfg.Instance().MustGet(gctx.New(), "inviteRegister.invited.points", nil).Int64(), Type: 1002, ActivityCode: InviteRegisterActivityCode, Date: msg.E_time, Desc: "被邀请注册成功", }) }