123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129 |
- package activity
- import (
- "app.yhyue.com/moapp/MessageCenter/rpc/type/message"
- "app.yhyue.com/moapp/jybase/go-logger/logger"
- . "app.yhyue.com/moapp/message/config"
- "app.yhyue.com/moapp/message/db"
- "app.yhyue.com/moapp/message/handler/award"
- "app.yhyue.com/moapp/message/model"
- "app.yhyue.com/moapp/message/rpc"
- . "bp.jydev.jianyu360.cn/BaseService/pushpkg/p"
- "fmt"
- "github.com/gogf/gf/v2/frame/g"
- "github.com/gogf/gf/v2/os/gcfg"
- "github.com/gogf/gf/v2/os/gctx"
- "github.com/gogf/gf/v2/os/gtime"
- "io/ioutil"
- "log"
- "net/http"
- "strconv"
- "strings"
- "time"
- )
- /*
- 新用户注册奖励
- 活动详情
- 非邀请注册新用户可获得500剑鱼币奖励
- */
- const (
- NewUserAwardActivityName = "newUserAward"
- )
- func NewUserActivity(msg *model.Message) {
- 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)
- err := 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 + "," + PushConfig.Messages.NewUser.MobileUrl,
- Appid: PushConfig.Messages.NewUser.Appid,
- AppPushUrl: appUrl,
- WxPushUrl: PushConfig.Webdomain + wxUrl,
- IosPushUrl: appUrl,
- })
- 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(),
- Type: 1002,
- ActivityCode: NewUserAwardActivityName,
- Date: msg.E_time,
- Desc: "新用户注册奖励",
- })
- // 新注册用户赠送超级订阅
- //用户注册进行线索分配
- log.Println("用户新增参数", msg)
- if msg.E_userId != "" {
- addClue(msg.E_userId)
- }
- 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) {
- if msg.E_code != "jyapp_wx_register" {
- c := db.Mysql.CountBySql("SELECT count(1) 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)
- }
- } else {
- logger.Info("微信注册,活动不送", msg.E_userId)
- }
- }
- }
- func addClue(userId string) {
- log.Println("用户注册进线索", userId)
- client := &http.Client{}
- var data = strings.NewReader(fmt.Sprintf(`{ "position_Id":"%s", "action":"user", "source_desc":"" }`, userId))
- clueService := g.Cfg().MustGet(gctx.New(), "clueService").String()
- if clueService == "" {
- return
- }
- req, err := http.NewRequest("POST", clueService, data)
- if err != nil {
- log.Fatal(err)
- }
- req.Header.Set("Content-Type", "application/json")
- resp, err := client.Do(req)
- if err != nil {
- log.Fatal(err)
- }
- _, err = ioutil.ReadAll(resp.Body)
- if err != nil {
- log.Fatal(err)
- }
- }
|