Browse Source

feat:挑战成功

wangchuanjin 1 year ago
parent
commit
a611b4e76c
4 changed files with 51 additions and 20 deletions
  1. 1 0
      config/config.go
  2. 8 0
      etc/push.json
  3. 15 13
      handler/activity/newUserAward.go
  4. 27 7
      handler/activity/task.go

+ 1 - 0
config/config.go

@@ -79,6 +79,7 @@ type pushConfig struct {
 	Messages    struct {
 		NewUser          *msgConf
 		ConfirmChallenge *msgConf
+		GetVip           *msgConf
 	}
 }
 

+ 8 - 0
etc/push.json

@@ -50,6 +50,14 @@
 		"appid":"10000",
 		"pcUrl":"/home/work-bench/app/points/earn",
 		"mobileUrl":"/jy_mobile/points/earn"
+	},
+	"getVip":{
+		"title":"挑战成功,获赠七天超级订阅服务",
+		"content":"恭喜挑战成功7天完成新手任务,获得7天超级订阅活动!",
+		"msgType":2,
+		"appid":"10000",
+		"pcUrl":"/page_workDesktop/work-bench/app/big/big_subscribe?vt=v",
+		"mobileUrl":"/jy_mobile/swordfish/newhistorypush"
 	}
   }
 }

+ 15 - 13
handler/activity/newUserAward.go

@@ -25,19 +25,21 @@ const (
 )
 
 func NewUserActivity(msg *model.Message) {
-	wxUrl := "/front/sess/" + Se.EncodeString(msg.E_userId+",_id,identityKeep,") + "__" + Se.EncodeString(PushConfig.Messages.NewUser.MobileUrl)
-	appUrl := "/jyapp/free/sess/" + Se.EncodeString(msg.E_userId+",_id,"+strconv.Itoa(int(time.Now().Unix()))+",") + "__" + Se.EncodeString(PushConfig.Messages.NewUser.MobileUrl)
-	go rpc.SendMsg("新用户注册", &message.MultipleSaveMsgReq{
-		UserIds:    msg.E_userId,
-		Title:      PushConfig.Messages.NewUser.Title,
-		Content:    PushConfig.Messages.NewUser.Content,
-		MsgType:    PushConfig.Messages.NewUser.MsgType,
-		Link:       PushConfig.Messages.NewUser.PcUrl + "," + PushConfig.Messages.NewUser.MobileUrl + "," + PushConfig.Messages.NewUser.MobileUrl,
-		Appid:      PushConfig.Messages.NewUser.Appid,
-		AppPushUrl: appUrl,
-		WxPushUrl:  PushConfig.Webdomain + wxUrl,
-		IosPushUrl: appUrl,
-	})
+	go func() {
+		wxUrl := "/front/sess/" + Se.EncodeString(msg.E_userId+",_id,identityKeep,") + "__" + Se.EncodeString(PushConfig.Messages.NewUser.MobileUrl)
+		appUrl := "/jyapp/free/sess/" + Se.EncodeString(msg.E_userId+",_id,"+strconv.Itoa(int(time.Now().Unix()))+",") + "__" + Se.EncodeString(PushConfig.Messages.NewUser.MobileUrl)
+		rpc.SendMsg("新用户注册", &message.MultipleSaveMsgReq{
+			UserIds:    msg.E_userId,
+			Title:      PushConfig.Messages.NewUser.Title,
+			Content:    PushConfig.Messages.NewUser.Content,
+			MsgType:    PushConfig.Messages.NewUser.MsgType,
+			Link:       PushConfig.Messages.NewUser.PcUrl + "," + PushConfig.Messages.NewUser.MobileUrl + "," + PushConfig.Messages.NewUser.MobileUrl,
+			Appid:      PushConfig.Messages.NewUser.Appid,
+			AppPushUrl: appUrl,
+			WxPushUrl:  PushConfig.Webdomain + wxUrl,
+			IosPushUrl: appUrl,
+		})
+	}()
 	_ = award.GivenPoints(msg.E_userId, award.Points{
 		Num:          gcfg.Instance().MustGet(gctx.New(), "newUserAward.points", nil).Int64(),
 		Type:         1002,

+ 27 - 7
handler/activity/task.go

@@ -5,18 +5,21 @@ import (
 	"fmt"
 	"log"
 	"net/rpc"
+	"strconv"
 	"strings"
 	"time"
 
-	"app.yhyue.com/moapp/message/config"
-
+	"app.yhyue.com/moapp/MessageCenter/rpc/type/message"
 	"app.yhyue.com/moapp/jybase/common"
 	"app.yhyue.com/moapp/jybase/date"
 	"app.yhyue.com/moapp/jybase/go-logger/logger"
 	jrpc "app.yhyue.com/moapp/jybase/rpc"
+	"app.yhyue.com/moapp/message/config"
 	"app.yhyue.com/moapp/message/db"
 	"app.yhyue.com/moapp/message/model"
+	. "app.yhyue.com/moapp/message/rpc"
 	mrpc "app.yhyue.com/moapp/message/rpc"
+	. "bp.jydev.jianyu360.cn/BaseService/pushpkg/p"
 	"github.com/gogf/gf/v2/os/gcfg"
 	"github.com/gogf/gf/v2/os/gctx"
 	"github.com/gogf/gf/v2/util/gconv"
@@ -43,7 +46,7 @@ func Task(msg *model.Message) {
 		"user_id": baseUserId,
 	}
 	//判断用户是否有任务
-	data, ok := db.Mgo.FindOne("user", map[string]interface{}{"base_user_id": baseUserId})
+	data, ok := db.Mgo.FindById("user", msg.E_userId, `{"l_registedate":1}`)
 	if data == nil || len(*data) == 0 || !ok {
 		logger.Info(fmt.Sprintf("未找到用户%s,无法增加积分%v。", msg.E_userId, code))
 		return
@@ -160,10 +163,27 @@ func Task(msg *model.Message) {
 			endtime, _ := time.Parse(date.Date_Full_Layout, end_time)
 			if finishStatus && success_status == 0 && time.Now().Before(endtime) {
 				//判断是否完成所有任务且开启确认挑战
-				mrpc.SubVipHarvest(msg.E_userId, 7, "")
-				db.Tidb.Update("integral_task", map[string]interface{}{"id": gconv.Int64(taskId)}, map[string]interface{}{
-					"success_status": 1,
-				})
+				if mrpc.SubVipHarvest(msg.E_userId, 7, "") == nil {
+					if db.Tidb.Update("integral_task", map[string]interface{}{"id": gconv.Int64(taskId)}, map[string]interface{}{
+						"success_status": 1,
+					}) {
+						go func() {
+							wxUrl := "/front/sess/" + Se.EncodeString(msg.E_userId+",_id,"+strconv.Itoa(int(time.Now().Unix()))+",") + "__" + Se.EncodeString(config.PushConfig.Messages.GetVip.MobileUrl)
+							appUrl := "/jyapp/free/sess/" + Se.EncodeString(msg.E_userId+",_id,"+strconv.Itoa(int(time.Now().Unix()))+",") + "__" + Se.EncodeString(config.PushConfig.Messages.GetVip.MobileUrl)
+							SendMsg("获赠七天超级订阅服务", &message.MultipleSaveMsgReq{
+								UserIds:    msg.E_userId,
+								Title:      config.PushConfig.Messages.GetVip.Title,
+								Content:    config.PushConfig.Messages.GetVip.Content,
+								MsgType:    config.PushConfig.Messages.GetVip.MsgType,
+								Link:       config.PushConfig.Messages.GetVip.PcUrl + "," + config.PushConfig.Messages.GetVip.MobileUrl + "," + config.PushConfig.Messages.GetVip.MobileUrl,
+								Appid:      config.PushConfig.Messages.GetVip.Appid,
+								AppPushUrl: appUrl,
+								WxPushUrl:  config.PushConfig.Webdomain + wxUrl,
+								IosPushUrl: appUrl,
+							})
+						}()
+					}
+				}
 			}
 		}
 	}