diff --git a/call/user.go b/call/user.go index 474bb45..f75e269 100644 --- a/call/user.go +++ b/call/user.go @@ -594,11 +594,11 @@ func UpdatePlayerProfile(data *common.ESGameData) error { // 日打码量 playerData := GetPlayerData(uid) updates := make(map[string]interface{}) - if util.IsSameDayTimeStamp(now.Unix(), playerData.DayBetTime) { + if !util.IsSameDayTimeStamp(now.Unix(), playerData.DayBetTime) { updates["day_bet_time"] = now.Unix() - updates["day_bet"] = 0 + updates["day_bet"] = bet / 100 } else { - updates["day_bet"] = gorm.Expr("bet + ?", bet) + updates["day_bet"] = gorm.Expr("day_bet + ?", bet/100) } db.Mysql().Update(&common.PlayerData{UID: uid}, updates) db.Mysql().Update(&common.ActivityBetDrawData{UID: uid}, map[string]interface{}{ diff --git a/modules/web/handler/activity.go b/modules/web/handler/activity.go index 118a2dd..94d830f 100644 --- a/modules/web/handler/activity.go +++ b/modules/web/handler/activity.go @@ -1002,7 +1002,6 @@ func GetSignNewInfo(uid int) (resp *values.ActivitySignInfoResp) { } else { data.Wheel = 1 } - list := call.GetConfigActivitySignByWheel(data.Wheel) if len(list) == 0 { return @@ -1023,29 +1022,30 @@ func GetSignNewInfo(uid int) (resp *values.ActivitySignInfoResp) { resp.Sign = 7*(data.Wheel-1) + signDay resp.Day = signDay + 1 now := time.Now() - if data.Finish || util.IsSameDayTimeStamp(now.Unix(), data.SignTime) { - for _, v := range resp.List { - if v.Day == signDay && data.Wheel >= v.WheelStart && data.Wheel <= v.WheelEnd { - resp.Recharge = v.Recharge - resp.Bet = v.Bet - break - } - } - } if util.IsSameDayTimeStamp(now.Unix(), data.SignTime) { return } + if resp.Day > 7 { + if err := db.Mysql().Update(&common.ActivitySignData{UID: data.UID}, map[string]interface{}{"sign": 0, "wheel": gorm.Expr("wheel + ?", 1)}); err != nil { + log.Error("err:%v", err) + resp.CanSign = false + return + } + resp.Sign = 7 * (data.Wheel) + resp.Day = 1 + } resp.CanSign = true if !data.Finish { for _, v := range resp.List { if v.Day == resp.Day && data.Wheel >= v.WheelStart && data.Wheel <= v.WheelEnd { if re.DayRecharge < v.Recharge || playerData.DayBet < v.Bet { resp.CanSign = false - } - // 更新状态 - if err := db.Mysql().Update(&common.ActivitySignData{UID: data.UID}, map[string]interface{}{"finish": true}); err != nil { - log.Error("err:%v", err) - resp.CanSign = false + } else { + // 更新状态 + if err := db.Mysql().Update(&common.ActivitySignData{UID: data.UID}, map[string]interface{}{"finish": true}); err != nil { + log.Error("err:%v", err) + resp.CanSign = false + } } break } @@ -1114,7 +1114,6 @@ func ActivitySignNewDraw(c *gin.Context) { return } break - } } if reward == 0 { @@ -1122,18 +1121,10 @@ func ActivitySignNewDraw(c *gin.Context) { return } - // 如果签到了7天就重置 - if day > 7 { - rows, err := db.Mysql().UpdateRes(&common.ActivitySignData{UID: a.UID, Sign: data.Sign}, map[string]interface{}{"sign": 0, "wheel": gorm.Expr("wheel + ?", 1)}) - if rows == 0 || err != nil { - log.Error("err:%v", err) - a.Code = values.CodeRetry - return - } - } // ok newSign := Sign(day) - rows, err := db.Mysql().UpdateRes(&common.ActivitySignData{UID: a.UID, Sign: data.Sign}, map[string]interface{}{"sign": newSign, "finish": false, "reward": gorm.Expr("reward + ?", reward), "sign_time": now.Unix()}) + updates := map[string]interface{}{"sign": newSign, "finish": false, "reward": gorm.Expr("reward + ?", reward), "sign_time": now.Unix()} + rows, err := db.Mysql().UpdateRes(&common.ActivitySignData{UID: a.UID, Sign: data.Sign}, updates) if rows == 0 || err != nil { log.Error("err:%v", err) a.Code = values.CodeRetry