浏览代码

注册/绑定 重复限制

Jianghan 8 月之前
父节点
当前提交
db1c7342f0
共有 2 个文件被更改,包括 43 次插入39 次删除
  1. 30 28
      handler/activity/newUserAward.go
  2. 13 11
      handler/activity/task.go

+ 30 - 28
handler/activity/newUserAward.go

@@ -1,6 +1,7 @@
 package activity
 
 import (
+	"app.yhyue.com/moapp/message/db"
 	"strconv"
 	"time"
 
@@ -45,28 +46,6 @@ func NewUserActivity(msg *model.Message) {
 		if err != nil {
 			logger.Info("SendMsg Fail ", err)
 		}
-		mtype := gcfg.Instance().MustGet(gctx.New(), "newRegister.message.msgType").Int64()
-		if mtype == 0 {
-			logger.Info(msg.E_userId, "SendMsg Fail 获取配置文件失败")
-		} else {
-			err = rpc.SendMsg("新用户注册", &message.MultipleSaveMsgReq{
-				UserIds: msg.E_userId,
-				Title:   gcfg.Instance().MustGet(gctx.New(), "newRegister.message.title", "").String(),
-				Content: gcfg.Instance().MustGet(gctx.New(), "newRegister.message.content", "").String(),
-				MsgType: mtype,
-				Appid:   gcfg.Instance().MustGet(gctx.New(), "newRegister.message.appid", "").String(),
-				Link: gcfg.Instance().MustGet(gctx.New(), "newRegister.message.pcUrl", "").String() + "," +
-					gcfg.Instance().MustGet(gctx.New(), "newRegister.message.mobileUrl", "").String() + "," +
-					gcfg.Instance().MustGet(gctx.New(), "newRegister.message.mobileUrl", "").String() + "," +
-					gcfg.Instance().MustGet(gctx.New(), "newRegister.message.mobileUrl", "").String(),
-				AppPushUrl: gcfg.Instance().MustGet(gctx.New(), "newRegister.message.mobileUrl", "").String(),
-				WxPushUrl:  gcfg.Instance().MustGet(gctx.New(), "newRegister.message.wxUrl", "").String(),
-				IosPushUrl: gcfg.Instance().MustGet(gctx.New(), "newRegister.message.mobileUrl", "").String(),
-			})
-		}
-		if err != nil {
-			logger.Info("SendMsg Fail ", err)
-		}
 	}()
 	_ = award.GivenPoints(msg.E_userId, award.Points{
 		Num:          gcfg.Instance().MustGet(gctx.New(), "newUserAward.points", nil).Int64(),
@@ -80,11 +59,34 @@ func NewUserActivity(msg *model.Message) {
 	entTime := gtime.NewFromStrLayout(gcfg.Instance().MustGet(gctx.New(), "newRegister.entTime").String(), "2006-01-02T15:04:05Z").Time
 	now := time.Now()
 	if now.After(startTime) && now.Before(entTime) {
-		_ = award.GivenSubVip(msg.E_userId, award.SubVip{
-			Num:          gcfg.Instance().MustGet(gctx.New(), "newRegister.supVip", nil).Int64(),
-			ActivityCode: "newRegister",
-			Date:         msg.E_time,
-			Desc:         "2024年新用户注册赠送7天超级订阅",
-		})
+		c := db.Mysql.CountBySql("SELECT * FROM dataexport_order WHERE user_id = ? AND distribution_channel = 'x054'", msg.E_userId)
+		if c <= 0 {
+			_ = award.GivenSubVip(msg.E_userId, award.SubVip{
+				Num:          gcfg.Instance().MustGet(gctx.New(), "newRegister.supVip", nil).Int64(),
+				ActivityCode: "newRegister",
+				Date:         msg.E_time,
+				Desc:         "2024年新用户注册赠送7天超级订阅",
+			})
+			err := rpc.SendMsg("新用户注册", &message.MultipleSaveMsgReq{
+				UserIds: msg.E_userId,
+				Title:   gcfg.Instance().MustGet(gctx.New(), "newRegister.message.title", "").String(),
+				Content: gcfg.Instance().MustGet(gctx.New(), "newRegister.message.content", "").String(),
+				MsgType: gcfg.Instance().MustGet(gctx.New(), "newRegister.message.msgType").Int64(),
+				Appid:   gcfg.Instance().MustGet(gctx.New(), "newRegister.message.appid", "").String(),
+				Link: gcfg.Instance().MustGet(gctx.New(), "newRegister.message.pcUrl", "").String() + "," +
+					gcfg.Instance().MustGet(gctx.New(), "newRegister.message.mobileUrl", "").String() + "," +
+					gcfg.Instance().MustGet(gctx.New(), "newRegister.message.mobileUrl", "").String() + "," +
+					gcfg.Instance().MustGet(gctx.New(), "newRegister.message.mobileUrl", "").String(),
+				AppPushUrl: gcfg.Instance().MustGet(gctx.New(), "newRegister.message.mobileUrl", "").String(),
+				WxPushUrl:  gcfg.Instance().MustGet(gctx.New(), "newRegister.message.wxUrl", "").String(),
+				IosPushUrl: gcfg.Instance().MustGet(gctx.New(), "newRegister.message.mobileUrl", "").String(),
+			})
+			if err != nil {
+				logger.Info("SendMsg Fail ", err)
+			}
+		} else {
+			logger.Info("该用户活动时间内已经注册过", msg.E_userId)
+		}
+
 	}
 }

+ 13 - 11
handler/activity/task.go

@@ -49,21 +49,20 @@ func Task(msg *model.Message) {
 	startTime := gtime.NewFromStrLayout(gcfg.Instance().MustGet(gctx.New(), "newRegister.startTime").String(), "2006-01-02T15:04:05Z").Time
 	entTime := gtime.NewFromStrLayout(gcfg.Instance().MustGet(gctx.New(), "newRegister.entTime").String(), "2006-01-02T15:04:05Z").Time
 	if time.Now().After(startTime) && time.Now().Before(entTime) && gconv.Bool(msg.E_body["isOnlyBind"]) {
-		_ = award.GivenSubVip(msg.E_userId, award.SubVip{
-			Num:          gcfg.Instance().MustGet(gctx.New(), "newRegister.supVip", nil).Int64(),
-			ActivityCode: "newRegister",
-			Date:         msg.E_time,
-			Desc:         "2024年新用户注册赠送7天超级订阅",
-		})
-		mtype := gcfg.Instance().MustGet(gctx.New(), "newRegister.message.msgType").Int64()
-		if mtype == 0 {
-			logger.Info(msg.E_userId, "SendMsg Fail 获取配置文件失败")
-		} else {
+		//  查询该用户活动时间内是否赠送过
+		c := db.Mysql.CountBySql("SELECT * FROM dataexport_order WHERE user_id = ? AND distribution_channel = 'x054'", msg.E_userId)
+		if c <= 0 {
+			_ = award.GivenSubVip(msg.E_userId, award.SubVip{
+				Num:          gcfg.Instance().MustGet(gctx.New(), "newRegister.supVip", nil).Int64(),
+				ActivityCode: "newRegister",
+				Date:         msg.E_time,
+				Desc:         "2024年新用户注册赠送7天超级订阅",
+			})
 			err := SendMsg("新绑定手机号用户", &message.MultipleSaveMsgReq{
 				UserIds: msg.E_userId,
 				Title:   gcfg.Instance().MustGet(gctx.New(), "newRegister.message.title", "").String(),
 				Content: gcfg.Instance().MustGet(gctx.New(), "newRegister.message.content", "").String(),
-				MsgType: mtype,
+				MsgType: gcfg.Instance().MustGet(gctx.New(), "newRegister.message.msgType").Int64(),
 				Appid:   gcfg.Instance().MustGet(gctx.New(), "newRegister.message.appid", "").String(),
 				Link: gcfg.Instance().MustGet(gctx.New(), "newRegister.message.pcUrl", "").String() + "," +
 					gcfg.Instance().MustGet(gctx.New(), "newRegister.message.mobileUrl", "").String() + "," +
@@ -76,7 +75,10 @@ func Task(msg *model.Message) {
 			if err != nil {
 				logger.Info("SendMsg Fail ", err)
 			}
+		} else {
+			logger.Info("该用户活动时间内已经绑定过手机号", msg.E_userId)
 		}
+
 	}
 	//判断用户是否有任务
 	data, ok := db.Mgo.FindById("user", msg.E_userId, `{"l_registedate":1}`)