wangshan vor 2 Jahren
Ursprung
Commit
36b0101079
2 geänderte Dateien mit 29 neuen und 6 gelöschten Zeilen
  1. 1 1
      handler/activity/jyActivity.go
  2. 28 5
      handler/activity/jyActivityOther.go

+ 1 - 1
handler/activity/jyActivity.go

@@ -52,7 +52,7 @@ const (
 
 	BidderPlanShare     = "bidderPlanActivity_v1_ShareOk_%s" //是否分享
 	QuestionnaireSubmit = "questionnaireSubmit_%s"           //是否已提交问卷
-
+	WinnerInfoKey       = "winnerinfokey"
 )
 
 var MembershipDay *JyActivity

+ 28 - 5
handler/activity/jyActivityOther.go

@@ -4,15 +4,34 @@ import (
 	dataUtil "app.yhyue.com/moapp/jybase/date"
 	"app.yhyue.com/moapp/jybase/redis"
 	"app.yhyue.com/moapp/message/handler/award"
+	"encoding/json"
 	"fmt"
 	"github.com/gogf/gf/v2/os/gcfg"
 	"github.com/gogf/gf/v2/os/gctx"
+	"log"
 	"time"
 )
 
 //当日中奖信息
 func (BP *JyActivity) WinnerInfo() map[string]interface{} {
-	return award.GetWinnerInfo()
+	var res map[string]interface{}
+	//加个redis缓存
+	redisCache, err := redis.GetBytes(BidderPlanRedis, WinnerInfoKey)
+	if err == nil {
+		if err = json.Unmarshal(*redisCache, &res); err == nil {
+			return res
+		}
+	}
+	res = award.GetWinnerInfo()
+	if res != nil {
+		b, err := json.Marshal(res)
+		if err == nil {
+			if err = redis.PutBytes(BidderPlanRedis, WinnerInfoKey, &b, 24*60*60); err != nil {
+				log.Println("中将人信息 缓存信息有误")
+			}
+		}
+	}
+	return res
 }
 
 // 问卷提交
@@ -22,13 +41,13 @@ func (BP *JyActivity) Questionnaire(userId, phone, answers string) error {
 	}
 	//保存问卷
 	if ok := award.SaveQuestionnaire(userId, phone, answers); ok {
+		if redis.Put(BidderPlanRedis, fmt.Sprintf(QuestionnaireSubmit, userId), 1, BP.cacheLong()) != true {
+			return fmt.Errorf("redis de22q 存储异常")
+		}
 		//问卷保存后--赠送7天超级订阅
 		if err := BP.GetDailyBoonSVip(userId); err != nil {
 			return err
 		}
-		if redis.Put(BidderPlanRedis, fmt.Sprintf(QuestionnaireSubmit, userId), 1, BP.cacheLong()) != true {
-			return fmt.Errorf("redis de22q 存储异常")
-		}
 	} else {
 		return fmt.Errorf("mongodb de22q 存储异常")
 	}
@@ -94,7 +113,11 @@ func (BP *JyActivity) GetDailyBoonSVip(userId string) (err error) {
 		err = fmt.Errorf("活动没有开始")
 		return
 	}
-
+	qs := redis.GetStr(BidderPlanRedis, fmt.Sprintf(QuestionnaireSubmit, userId))
+	if MembershipDay.DoubleEleven && qs == "" {
+		err = fmt.Errorf("未提交问卷")
+		return
+	}
 	has, todayBalance, _, err = BP.GetDailyBoonDetail(userId)
 	if err != nil {
 		return