فهرست منبع

新注册/绑定送7天超级订阅

Jianghan 9 ماه پیش
والد
کامیت
b4b03e5091
5فایلهای تغییر یافته به همراه103 افزوده شده و 2 حذف شده
  1. 12 0
      etc/config.yaml
  2. 27 0
      handler/activity/newUserAward.go
  3. 28 2
      handler/activity/task.go
  4. 34 0
      services/activity/getConfig.go
  5. 2 0
      services/init.go

+ 12 - 0
etc/config.yaml

@@ -91,6 +91,18 @@ shareOpenDetail: #三级页分享
     points: 5
     cycle: day
 
+newRegister: #新注册送7天超级订阅
+  startTime: 2024-11-01 00:00:00 #活动开始
+  entTime: 2024-11-12 00:00:00 #活动结束
+  supVip: 7
+  message:
+    title: 注册成功,送您七天超级订阅!
+    content: 剑鱼标讯送您七天超级订阅,默认订阅地区为北京。如需要调整订阅标讯地区,请戳此处链接前往订阅设置。
+    msgType: 2
+    appid: 10000
+    pcUrl: /page_workDesktop/work-bench/app/big/big_subscribe?vt=v
+    mobileUrl: /jy_mobile/tabbar/subscribe
+
 jyactivity: # 临时活动
   name: 剑鱼超级会员节
   code: membershipDay

+ 27 - 0
handler/activity/newUserAward.go

@@ -1,6 +1,7 @@
 package activity
 
 import (
+	"github.com/gogf/gf/v2/os/gtime"
 	"strconv"
 	"time"
 
@@ -39,6 +40,20 @@ func NewUserActivity(msg *model.Message) {
 			WxPushUrl:  PushConfig.Webdomain + wxUrl,
 			IosPushUrl: appUrl,
 		})
+		rpc.SendMsg("新用户注册", &message.MultipleSaveMsgReq{
+			UserIds: msg.E_userId,
+			Title:   gcfg.Instance().MustGet(gctx.New(), "newUserAward.message.title", nil).String(),
+			Content: gcfg.Instance().MustGet(gctx.New(), "newUserAward.message.content", nil).String(),
+			MsgType: gcfg.Instance().MustGet(gctx.New(), "newUserAward.message.msgType", nil).Int64(),
+			Appid:   gcfg.Instance().MustGet(gctx.New(), "newUserAward.message.appid", nil).String(),
+			Link: gcfg.Instance().MustGet(gctx.New(), "newUserAward.message.pcUrl", nil).String() + "," +
+				gcfg.Instance().MustGet(gctx.New(), "newUserAward.message.mobileUrl", nil).String() + "," +
+				gcfg.Instance().MustGet(gctx.New(), "newUserAward.message.mobileUrl", nil).String() + "," +
+				gcfg.Instance().MustGet(gctx.New(), "newUserAward.message.mobileUrl", nil).String(),
+			AppPushUrl: gcfg.Instance().MustGet(gctx.New(), "newUserAward.message.mobileUrl", nil).String(),
+			WxPushUrl:  gcfg.Instance().MustGet(gctx.New(), "newUserAward.message.mobileUrl", nil).String(),
+			IosPushUrl: gcfg.Instance().MustGet(gctx.New(), "newUserAward.message.mobileUrl", nil).String(),
+		})
 	}()
 	_ = award.GivenPoints(msg.E_userId, award.Points{
 		Num:          gcfg.Instance().MustGet(gctx.New(), "newUserAward.points", nil).Int64(),
@@ -47,4 +62,16 @@ func NewUserActivity(msg *model.Message) {
 		Date:         msg.E_time,
 		Desc:         "新用户注册奖励",
 	})
+	// 新注册用户赠送超级订阅
+	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
+	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天超级订阅",
+		})
+	}
 }

+ 28 - 2
handler/activity/task.go

@@ -1,7 +1,9 @@
 package activity
 
 import (
+	"app.yhyue.com/moapp/message/handler/award"
 	"fmt"
+	"github.com/gogf/gf/v2/os/gtime"
 	"log"
 	"net/rpc"
 	"strconv"
@@ -42,6 +44,31 @@ func Task(msg *model.Message) {
 		"type":    types,
 		"user_id": baseUserId,
 	}
+	// p647新绑定用户送7天超级订阅
+	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) {
+		_ = 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天超级订阅",
+		})
+		SendMsg("新用户注册", &message.MultipleSaveMsgReq{
+			UserIds: msg.E_userId,
+			Title:   gcfg.Instance().MustGet(gctx.New(), "newUserAward.message.title", nil).String(),
+			Content: gcfg.Instance().MustGet(gctx.New(), "newUserAward.message.content", nil).String(),
+			MsgType: gcfg.Instance().MustGet(gctx.New(), "newUserAward.message.msgType", nil).Int64(),
+			Appid:   gcfg.Instance().MustGet(gctx.New(), "newUserAward.message.appid", nil).String(),
+			Link: gcfg.Instance().MustGet(gctx.New(), "newUserAward.message.pcUrl", nil).String() + "," +
+				gcfg.Instance().MustGet(gctx.New(), "newUserAward.message.mobileUrl", nil).String() + "," +
+				gcfg.Instance().MustGet(gctx.New(), "newUserAward.message.mobileUrl", nil).String() + "," +
+				gcfg.Instance().MustGet(gctx.New(), "newUserAward.message.mobileUrl", nil).String(),
+			AppPushUrl: gcfg.Instance().MustGet(gctx.New(), "newUserAward.message.mobileUrl", nil).String(),
+			WxPushUrl:  gcfg.Instance().MustGet(gctx.New(), "newUserAward.message.mobileUrl", nil).String(),
+			IosPushUrl: gcfg.Instance().MustGet(gctx.New(), "newUserAward.message.mobileUrl", nil).String(),
+		})
+	}
 	//判断用户是否有任务
 	data, ok := db.Mgo.FindById("user", msg.E_userId, `{"l_registedate":1}`)
 	if data == nil || len(*data) == 0 || !ok {
@@ -177,7 +204,7 @@ func Task(msg *model.Message) {
 	}
 }
 
-//获取任务
+// 获取任务
 func GetTaskRpc(isNew bool) (p *jrpc.TaskDataResp) {
 	defer common.Catch()
 	var repl jrpc.TaskDataResp
@@ -195,7 +222,6 @@ func GetTaskRpc(isNew bool) (p *jrpc.TaskDataResp) {
 	return &repl
 }
 
-//
 func createTask(baseUserId, positionId int64, isNew bool, now string) (int64, int, string) {
 	list := db.Tidb.SelectBySql(`select id,success_status,end_time from integral_task where user_id=?`, baseUserId)
 	if list == nil {

+ 34 - 0
services/activity/getConfig.go

@@ -0,0 +1,34 @@
+package activity
+
+import (
+	"app.yhyue.com/moapp/jybase/api"
+	"app.yhyue.com/moapp/jybase/go-xweb/xweb"
+	"encoding/json"
+	"fmt"
+	"github.com/gogf/gf/v2/os/gcfg"
+	"github.com/gogf/gf/v2/os/gctx"
+	"github.com/gogf/gf/v2/util/gconv"
+	"log"
+)
+
+type ConfigRouter struct {
+	*xweb.Action
+	getConfig xweb.Mapper `xweb:"/getConfig/info"`
+}
+
+func (c *ConfigRouter) GetConfig() {
+	rData, errMsg := func() (interface{}, error) {
+		reqParam := map[string]interface{}{}
+		if err := json.Unmarshal(c.Body(), &reqParam); err != nil || len(reqParam) == 0 {
+			return nil, fmt.Errorf("请求参数异常")
+		}
+		code := gconv.String(reqParam["code"])
+		data := gcfg.Instance().MustGet(gctx.New(), code, nil).Map()
+		delete(data, "message")
+		return data, nil
+	}()
+	if errMsg != nil {
+		log.Printf("ConfigRouter GetConfig error:%s\n", errMsg.Error())
+	}
+	c.ServeJson(api.NewResult(rData, errMsg))
+}

+ 2 - 0
services/init.go

@@ -1,6 +1,7 @@
 package services
 
 import (
+	"app.yhyue.com/moapp/message/services/activity"
 	"time"
 
 	"app.yhyue.com/moapp/jybase/go-xweb/httpsession"
@@ -28,4 +29,5 @@ func init() {
 	xweb.AddAction(&award.AwardRouter{})
 	xweb.AddAction(&bidderPlan.Activity{})
 	xweb.AddAction(&task.Task{})
+	xweb.AddAction(&activity.ConfigRouter{})
 }