package activity import ( "fmt" "time" "app.yhyue.com/moapp/jybase/go-logger/logger" "app.yhyue.com/moapp/jybase/redis" "app.yhyue.com/moapp/message/handler/award" "app.yhyue.com/moapp/message/model" "github.com/gogf/gf/v2/os/gcfg" "github.com/gogf/gf/v2/os/gctx" ) const ( RedisMain = "main" ShareOpenDetailActivityName = "ShareOpenDetail" ) /* 活动详情 用户分享标讯详情或文库详情, 可获得5剑鱼币,每天上限25个 */ // ShareOpenDetail 分享打开三级页 func ShareOpenDetail(msg *model.Message) { openMax := gcfg.Instance().MustGet(gctx.New(), "shareOpenDetail.rewardTimesMax.points", nil).Int64() pointsNum := gcfg.Instance().MustGet(gctx.New(), "shareOpenDetail.openDetail.points", nil).Int64() key := fmt.Sprintf("jypoints_share_article_open_%s", msg.E_userId) if redis.Incr(RedisMain, key) <= openMax { now := time.Now() _ = redis.SetExpire(RedisMain, key, int(time.Date(now.Year(), now.Month(), now.Day()+1, 0, 0, 0, 0, time.Local).Unix()-now.Unix())) //积分奖励 _ = award.GivenPoints(msg.E_userId, award.Points{ Num: pointsNum, Type: 1005, ActivityCode: ShareOpenDetailActivityName, Date: msg.E_time, Desc: "用户分享信息", }) } else { logger.Info(fmt.Sprintf("%+v", msg), "超过一天最大次数", openMax, "限制,不再增加积分") } }