inviteRegister.go 2.9 KB

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