|
|
|
|
@ -636,7 +636,7 @@ func ActivityFirstRechargeBackInfo(c *gin.Context) { |
|
|
|
|
conf := call.GetConfigActivityFirstRechargeBack() |
|
|
|
|
a.Data = resp |
|
|
|
|
data := call.GetUserFirstRechargeBackData(a.UID) |
|
|
|
|
resp.NeedRechargeAmount = conf.MinRecharge |
|
|
|
|
resp.NeedRechargeAmount = conf.MinRecharge / common.DecimalDigits |
|
|
|
|
resp.ProductList = call.GetConfigPayProductByActivityID(common.ActivityIDFirstRechargeBack) |
|
|
|
|
resp.Recharge = data.Amount |
|
|
|
|
resp.PayAmount = data.Amount |
|
|
|
|
@ -655,7 +655,7 @@ func ActivityFirstRechargeBackInfo(c *gin.Context) { |
|
|
|
|
} |
|
|
|
|
val = val * conf.MaxBack / 100 |
|
|
|
|
now := time.Now().Unix() |
|
|
|
|
if p.Birth+conf.CD >= now { |
|
|
|
|
if p.Birth+conf.CD >= now && data.Reward == 0 { |
|
|
|
|
db.Mysql().Update(&common.ActivityFirstRechargeBackData{UID: a.UID}, map[string]interface{}{ |
|
|
|
|
"reward": val, |
|
|
|
|
}) |
|
|
|
|
@ -1283,22 +1283,44 @@ func ActivityWeekCardInfo(c *gin.Context) { |
|
|
|
|
} |
|
|
|
|
var rewardList []int64 |
|
|
|
|
var err error |
|
|
|
|
if cardInfo.ID <= 0 { |
|
|
|
|
rewardList, err = util.GenerateRandomSequence(cons.RewardAmount, cons.MiniLimit, 5) |
|
|
|
|
if err != nil { |
|
|
|
|
log.Error("err:%v", err) |
|
|
|
|
} |
|
|
|
|
rewardList = append([]int64{cons.DayOneReward}, rewardList...) |
|
|
|
|
rewardList = append(rewardList, 0) |
|
|
|
|
|
|
|
|
|
if cardInfo.ID <= 0 || len(cardInfo.Rewards) == 0 { |
|
|
|
|
cardInfo.Day = 0 |
|
|
|
|
rewardList, err = util.GenerateSequence(cons.RewardAmount, cons.MiniLimit) |
|
|
|
|
rewardList, err = util.GenerateRandomSequence(cons.RewardAmount, cons.MiniLimit, 5) |
|
|
|
|
if err != nil { |
|
|
|
|
log.Error("err:%v", err) |
|
|
|
|
} |
|
|
|
|
rewardList = append([]int64{cons.DayOneReward}, rewardList...) |
|
|
|
|
rewardList = append(rewardList, 0) |
|
|
|
|
cardInfo.Rewards = strings.Join(util.Int64SliceToStringSlice(rewardList), ",") |
|
|
|
|
if a.UID > 0 { |
|
|
|
|
db.Mysql().Create(cardInfo) |
|
|
|
|
if cardInfo.ID <= 0 { |
|
|
|
|
cardInfo.Rewards = strings.Join(util.Int64SliceToStringSlice(rewardList), ",") |
|
|
|
|
if a.UID > 0 { |
|
|
|
|
db.Mysql().Create(cardInfo) |
|
|
|
|
} |
|
|
|
|
} else { |
|
|
|
|
cardInfo.Rewards = strings.Join(util.Int64SliceToStringSlice(rewardList), ",") |
|
|
|
|
db.Mysql().Update(&common.ActivityWeekCardData{UID: a.UID}, map[string]interface{}{ |
|
|
|
|
"rewards": cardInfo.Rewards, |
|
|
|
|
}) |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
if rewardList == nil { |
|
|
|
|
rewardList, _ = util.StringToInt64Slice(cardInfo.Rewards, ",") |
|
|
|
|
} |
|
|
|
|
if cardInfo.RechargeTime != 0 { |
|
|
|
|
resp.RechargeStatus = true |
|
|
|
|
} |
|
|
|
|
// step:签完7天就重置
|
|
|
|
|
if cardInfo.Day >= len(rewardList) { |
|
|
|
|
resp.RechargeStatus = false |
|
|
|
|
} |
|
|
|
|
for _, item := range rewardList { |
|
|
|
|
resp.RewardList = append(resp.RewardList, values.WeekCardInfo{ |
|
|
|
|
Min: cons.MiniLimit, |
|
|
|
|
@ -1306,11 +1328,11 @@ func ActivityWeekCardInfo(c *gin.Context) { |
|
|
|
|
Val: item, |
|
|
|
|
}) |
|
|
|
|
} |
|
|
|
|
if !util.IsSameDayTimeStamp(time.Now().Unix(), cardInfo.LastDraw) { |
|
|
|
|
resp.Status = true |
|
|
|
|
} |
|
|
|
|
if cardInfo.RechargeTime != 0 { |
|
|
|
|
resp.RechargeStatus = true |
|
|
|
|
resp.Status = true |
|
|
|
|
if config.GetBase().Release { |
|
|
|
|
if util.IsSameDayTimeStamp(time.Now().Unix(), cardInfo.LastDraw) { |
|
|
|
|
resp.Status = false |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
resp.RewardDay = cardInfo.Day |
|
|
|
|
resp.ChannelList = call.GetConfigPayChannelsByID(common.CurrencyINR) |
|
|
|
|
@ -1329,6 +1351,8 @@ func ActivityWeekCardDraw(c *gin.Context) { |
|
|
|
|
if !a.S(req) { |
|
|
|
|
return |
|
|
|
|
} |
|
|
|
|
resp := &values.ActivityWeekCardDrawResp{} |
|
|
|
|
a.Data = resp |
|
|
|
|
conf := call.GetConfigActivityWeekCard() |
|
|
|
|
card := call.GetUserWeekCard(a.UID) |
|
|
|
|
if card.ID == 0 { |
|
|
|
|
@ -1336,12 +1360,19 @@ func ActivityWeekCardDraw(c *gin.Context) { |
|
|
|
|
return |
|
|
|
|
} |
|
|
|
|
now := time.Now().Unix() |
|
|
|
|
if util.IsSameDayTimeStamp(now, card.LastDraw) { |
|
|
|
|
if config.GetBase().Release { |
|
|
|
|
if util.IsSameDayTimeStamp(now, card.LastDraw) { |
|
|
|
|
a.Code = values.CodeRetry |
|
|
|
|
a.Msg = "today has reward" |
|
|
|
|
return |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
rewards, _ := util.StringToInt64Slice(card.Rewards, ",") |
|
|
|
|
if card.Day >= len(rewards) { |
|
|
|
|
a.Code = values.CodeRetry |
|
|
|
|
a.Msg = "today has reward" |
|
|
|
|
a.Msg = "The weekly card has been collected" |
|
|
|
|
return |
|
|
|
|
} |
|
|
|
|
rewards, _ := util.StringToInt64Slice(card.Rewards, ",") |
|
|
|
|
rows, err := db.Mysql().UpdateRes(&common.ActivityWeekCardData{UID: a.UID}, |
|
|
|
|
map[string]interface{}{"day": gorm.Expr("day + 1"), "last_draw": now}) |
|
|
|
|
if rows == 0 || err != nil { |
|
|
|
|
@ -1350,7 +1381,7 @@ func ActivityWeekCardDraw(c *gin.Context) { |
|
|
|
|
return |
|
|
|
|
} |
|
|
|
|
var reward int64 |
|
|
|
|
if card.Day < len(rewards) { |
|
|
|
|
if card.Day < 6 { |
|
|
|
|
reward = rewards[card.Day] * common.DecimalDigits |
|
|
|
|
} else { |
|
|
|
|
// 第几天折扣券
|
|
|
|
|
@ -1379,22 +1410,22 @@ func ActivityWeekCardDraw(c *gin.Context) { |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
call.AddUserDiscountTicket(a.UID, conf.Discount, exi2) |
|
|
|
|
resp.DiscountTicket = conf.Discount |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
resp := &values.ActivityWeekCardDrawResp{ |
|
|
|
|
Reward: reward, |
|
|
|
|
resp.Reward = reward |
|
|
|
|
if reward > 0 { |
|
|
|
|
call.UpdateCurrencyPro(&common.UpdateCurrency{ |
|
|
|
|
CurrencyBalance: &common.CurrencyBalance{ |
|
|
|
|
UID: a.UID, |
|
|
|
|
Type: common.CurrencyINR, |
|
|
|
|
Value: reward, |
|
|
|
|
Event: common.CurrencyEventActivityWeekCard, |
|
|
|
|
ChannelID: a.Channel, |
|
|
|
|
NeedBet: call.GetConfigCurrencyResourceNeedBet(common.CurrencyResourceBonus, reward), |
|
|
|
|
}, |
|
|
|
|
}) |
|
|
|
|
} |
|
|
|
|
a.Data = resp |
|
|
|
|
call.UpdateCurrencyPro(&common.UpdateCurrency{ |
|
|
|
|
CurrencyBalance: &common.CurrencyBalance{ |
|
|
|
|
UID: a.UID, |
|
|
|
|
Type: common.CurrencyINR, |
|
|
|
|
Value: reward, |
|
|
|
|
Event: common.CurrencyEventActivityWeekCard, |
|
|
|
|
ChannelID: a.Channel, |
|
|
|
|
NeedBet: call.GetConfigCurrencyResourceNeedBet(common.CurrencyResourceBonus, reward), |
|
|
|
|
}, |
|
|
|
|
}) |
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@ -1893,7 +1924,6 @@ func ActivityBetDrawDraw(c *gin.Context) { |
|
|
|
|
if !a.CheckActivityExpire(common.ActivityIDBetDraw) { |
|
|
|
|
return |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
configList, weightList := call.GetConfigBetDrawByType(req.WheelType) |
|
|
|
|
if len(configList) == 0 { |
|
|
|
|
a.Code = values.CodeRetry |
|
|
|
|
@ -1905,7 +1935,7 @@ func ActivityBetDrawDraw(c *gin.Context) { |
|
|
|
|
now := time.Now() |
|
|
|
|
spinInfo := drawInfo.SpinInfo |
|
|
|
|
// step:判断cd
|
|
|
|
|
if spinInfo.LastSpinTime != 0 && now.Unix()-spinInfo.LastSpinTime < conf.Cd { |
|
|
|
|
if spinInfo.LastSpinTime != 0 && spinInfo.NextSpinTIme > now.Unix() { |
|
|
|
|
a.Code = values.CodeRetry |
|
|
|
|
a.Msg = "Unarrived spin time" |
|
|
|
|
return |
|
|
|
|
|