inviteRegister.go 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. package activity
  2. import (
  3. "app.yhyue.com/moapp/jybase/go-logger/logger"
  4. "app.yhyue.com/moapp/message/handler/award"
  5. "app.yhyue.com/moapp/message/model"
  6. "fmt"
  7. "github.com/gogf/gf/v2/os/gcfg"
  8. "github.com/gogf/gf/v2/os/gctx"
  9. )
  10. /*
  11. 分享裂变活动
  12. 活动详情
  13. 邀请新用户注册可获得剑鱼币和超级订阅奖励
  14. 分享者可新用户都可获得500积分,7天超级订阅
  15. 上限:2000剑鱼币 28天超级订阅
  16. */
  17. const (
  18. InviteRegisterActivityName = "inviteRegister"
  19. )
  20. // InviteActivity 邀请活动奖励
  21. func InviteActivity(msg *model.Message) {
  22. // 超级订阅
  23. subVipTimes, _ := award.GetActivityAwardDesc(msg.E_userId, InviteRegisterActivityName, award.AwardSubVip)
  24. subVipMax := gcfg.Instance().MustGet(gctx.New(), "inviteRegister.rewardNumMax.subvip", nil).Int64()
  25. if subVipTimes < subVipMax {
  26. award.GivenSubVip(msg, award.SubVip{
  27. Num: gcfg.Instance().MustGet(gctx.New(), "inviteRegister.invite.subvip", nil).Int64(),
  28. From: InviteRegisterActivityName,
  29. Desc: "被邀请注册成功",
  30. })
  31. } else {
  32. logger.Info(fmt.Sprintf("%+v", msg), msg.E_userId, "用户已达邀请奖励上限,停止赠送权益", subVipMax, "限制,不再增加超级订阅")
  33. }
  34. // 积分
  35. pointsTimes, _ := award.GetActivityAwardDesc(msg.E_userId, InviteRegisterActivityName, award.AwardPoints)
  36. pointsMax := gcfg.Instance().MustGet(gctx.New(), "inviteRegister.rewardNumMax.points", nil).Int64()
  37. if pointsTimes < pointsMax {
  38. award.GivenPoints(msg, award.Points{
  39. Num: gcfg.Instance().MustGet(gctx.New(), "inviteRegister.invite.points", nil).Int64(),
  40. Type: 1003,
  41. From: InviteRegisterActivityName,
  42. Desc: "邀请好友成功",
  43. })
  44. } else {
  45. logger.Info(fmt.Sprintf("%+v", msg), msg.E_userId, "用户已达邀请奖励上限,停止赠送权益", pointsMax, "限制,不再增加积分")
  46. }
  47. }
  48. // InvitedActivity 被邀请奖励
  49. func InvitedActivity(msg *model.Message) {
  50. // 超级订阅
  51. award.GivenSubVip(msg, award.SubVip{
  52. Num: gcfg.Instance().MustGet(gctx.New(), "inviteRegister.invited.subvip", nil).Int64(),
  53. From: InviteRegisterActivityName,
  54. Desc: "被邀请注册成功",
  55. })
  56. // 积分
  57. award.GivenPoints(msg, award.Points{
  58. Num: gcfg.Instance().MustGet(gctx.New(), "inviteRegister.invited.points", nil).Int64(),
  59. Type: 1002,
  60. From: InviteRegisterActivityName,
  61. Desc: "被邀请注册成功",
  62. })
  63. }