newUserAward.go 4.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  1. package activity
  2. import (
  3. "app.yhyue.com/moapp/MessageCenter/rpc/type/message"
  4. "app.yhyue.com/moapp/jybase/go-logger/logger"
  5. . "app.yhyue.com/moapp/message/config"
  6. "app.yhyue.com/moapp/message/db"
  7. "app.yhyue.com/moapp/message/handler/award"
  8. "app.yhyue.com/moapp/message/model"
  9. "app.yhyue.com/moapp/message/rpc"
  10. . "bp.jydev.jianyu360.cn/BaseService/pushpkg/p"
  11. "github.com/gogf/gf/v2/os/gcfg"
  12. "github.com/gogf/gf/v2/os/gctx"
  13. "github.com/gogf/gf/v2/os/gtime"
  14. "strconv"
  15. "time"
  16. )
  17. /*
  18. 新用户注册奖励
  19. 活动详情
  20. 非邀请注册新用户可获得500剑鱼币奖励
  21. */
  22. const (
  23. NewUserAwardActivityName = "newUserAward"
  24. )
  25. func NewUserActivity(msg *model.Message) {
  26. go func() {
  27. wxUrl := "/front/sess/" + Se.EncodeString(msg.E_userId+",_id,identityKeep,") + "__" + Se.EncodeString(PushConfig.Messages.NewUser.MobileUrl)
  28. appUrl := "/jyapp/free/sess/" + Se.EncodeString(msg.E_userId+",_id,"+strconv.Itoa(int(time.Now().Unix()))+",") + "__" + Se.EncodeString(PushConfig.Messages.NewUser.MobileUrl)
  29. err := rpc.SendMsg("新用户注册", &message.MultipleSaveMsgReq{
  30. UserIds: msg.E_userId,
  31. Title: PushConfig.Messages.NewUser.Title,
  32. Content: PushConfig.Messages.NewUser.Content,
  33. MsgType: PushConfig.Messages.NewUser.MsgType,
  34. Link: PushConfig.Messages.NewUser.PcUrl + "," + PushConfig.Messages.NewUser.MobileUrl + "," + PushConfig.Messages.NewUser.MobileUrl + "," + PushConfig.Messages.NewUser.MobileUrl,
  35. Appid: PushConfig.Messages.NewUser.Appid,
  36. AppPushUrl: appUrl,
  37. WxPushUrl: PushConfig.Webdomain + wxUrl,
  38. IosPushUrl: appUrl,
  39. })
  40. if err != nil {
  41. logger.Info("SendMsg Fail ", err)
  42. }
  43. }()
  44. _ = award.GivenPoints(msg.E_userId, award.Points{
  45. Num: gcfg.Instance().MustGet(gctx.New(), "newUserAward.points", nil).Int64(),
  46. Type: 1002,
  47. ActivityCode: NewUserAwardActivityName,
  48. Date: msg.E_time,
  49. Desc: "新用户注册奖励",
  50. })
  51. // 新注册用户赠送超级订阅
  52. startTime := gtime.NewFromStrLayout(gcfg.Instance().MustGet(gctx.New(), "newRegister.startTime").String(), "2006-01-02T15:04:05Z").Time
  53. entTime := gtime.NewFromStrLayout(gcfg.Instance().MustGet(gctx.New(), "newRegister.entTime").String(), "2006-01-02T15:04:05Z").Time
  54. now := time.Now()
  55. if now.After(startTime) && now.Before(entTime) {
  56. if msg.E_code != "jyapp_wx_register" {
  57. c := db.Mysql.CountBySql("SELECT count(1) FROM dataexport_order WHERE user_id = ? AND distribution_channel = 'x054'", msg.E_userId)
  58. if c <= 0 {
  59. _ = award.GivenSubVip(msg.E_userId, award.SubVip{
  60. Num: gcfg.Instance().MustGet(gctx.New(), "newRegister.supVip", nil).Int64(),
  61. ActivityCode: "newRegister",
  62. Date: msg.E_time,
  63. Desc: "2024年新用户注册赠送7天超级订阅",
  64. })
  65. err := rpc.SendMsg("新用户注册", &message.MultipleSaveMsgReq{
  66. UserIds: msg.E_userId,
  67. Title: gcfg.Instance().MustGet(gctx.New(), "newRegister.message.title", "").String(),
  68. Content: gcfg.Instance().MustGet(gctx.New(), "newRegister.message.content", "").String(),
  69. MsgType: gcfg.Instance().MustGet(gctx.New(), "newRegister.message.msgType").Int64(),
  70. Appid: gcfg.Instance().MustGet(gctx.New(), "newRegister.message.appid", "").String(),
  71. Link: gcfg.Instance().MustGet(gctx.New(), "newRegister.message.pcUrl", "").String() + "," +
  72. gcfg.Instance().MustGet(gctx.New(), "newRegister.message.mobileUrl", "").String() + "," +
  73. gcfg.Instance().MustGet(gctx.New(), "newRegister.message.mobileUrl", "").String() + "," +
  74. gcfg.Instance().MustGet(gctx.New(), "newRegister.message.mobileUrl", "").String(),
  75. AppPushUrl: gcfg.Instance().MustGet(gctx.New(), "newRegister.message.mobileUrl", "").String(),
  76. WxPushUrl: gcfg.Instance().MustGet(gctx.New(), "newRegister.message.wxUrl", "").String(),
  77. IosPushUrl: gcfg.Instance().MustGet(gctx.New(), "newRegister.message.mobileUrl", "").String(),
  78. })
  79. if err != nil {
  80. logger.Info("SendMsg Fail ", err)
  81. }
  82. } else {
  83. logger.Info("该用户活动时间内已经注册过", msg.E_userId)
  84. }
  85. } else {
  86. logger.Info("微信注册,活动不送", msg.E_userId)
  87. }
  88. }
  89. }