七日签到-月度奖励优化
This commit is contained in:
parent
850cceecaa
commit
4422dbc527
@ -40,7 +40,7 @@ func GetSevenLoginReward() []*gamedata.SevenLoginRewardData {
|
||||
return result
|
||||
}
|
||||
|
||||
func GetSevenLoginMonthReward() []*gamedata.SevenLoginRewardData {
|
||||
func GetSevenLoginMonthReward(nowMonth int) []*gamedata.SevenLoginRewardData {
|
||||
data, err := gamedata.GetData(CFG_SEVEN_LOGIN_MONTH)
|
||||
if err != nil {
|
||||
log.Debug("GetSevenLoginReward err:%v", err)
|
||||
@ -48,6 +48,10 @@ func GetSevenLoginMonthReward() []*gamedata.SevenLoginRewardData {
|
||||
}
|
||||
var result []*gamedata.SevenLoginRewardData
|
||||
for k, v := range data {
|
||||
month := gamedata.GetIntValue(v, "Month")
|
||||
if month != nowMonth {
|
||||
continue
|
||||
}
|
||||
Id, _ := strconv.Atoi(k)
|
||||
Diamond := gamedata.GetIntValue(v, "Diamond")
|
||||
RewardNum := gamedata.GetIntValue(v, "RewardNum")
|
||||
|
||||
@ -40,11 +40,11 @@ func (s *SevenLoginMod) ZeroUpdate(Add, LastLoginTime int) {
|
||||
s.WeekResetTime = WeekZeroTimestamp
|
||||
s.DayR = 0
|
||||
}
|
||||
|
||||
if Now > s.MonthResetTime+GoUtil.MONTHDAYS {
|
||||
monthZeroTimestamp := GoUtil.MonthZeroTimestamp()
|
||||
if monthZeroTimestamp > s.MonthResetTime {
|
||||
s.MonthReward = randMonthReward()
|
||||
s.Active = 0
|
||||
s.MonthResetTime = s.MonthResetTime + (Now-s.MonthResetTime)/GoUtil.MONTHDAYS*GoUtil.MONTHDAYS
|
||||
s.MonthResetTime = monthZeroTimestamp
|
||||
}
|
||||
s.DayR++
|
||||
}
|
||||
@ -108,11 +108,12 @@ func (s *SevenLoginMod) BackData() *msg.ResSevenLogin {
|
||||
Status := GoUtil.IfTrue(!v.Status && s.Active >= Active, 1, 0).(int)
|
||||
Status = GoUtil.IfTrue(v.Status, 2, Status).(int)
|
||||
MonthReward = append(MonthReward, &msg.SevenLoginReward{
|
||||
Item1: item.ItemToMsg(v.Item1),
|
||||
Item2: item.ItemToMsg(v.Item2),
|
||||
Item3: item.ItemToMsg(v.Item3),
|
||||
Status: int32(Status),
|
||||
Id: int32(k),
|
||||
Item1: item.ItemToMsg(v.Item1),
|
||||
Item2: item.ItemToMsg(v.Item2),
|
||||
Item3: item.ItemToMsg(v.Item3),
|
||||
Status: int32(Status),
|
||||
Id: int32(k),
|
||||
NeedActive: int32(Active),
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
@ -109,7 +109,8 @@ func randReward(RewardData *gamedata.SevenLoginRewardData, LastType int, jackpot
|
||||
}
|
||||
|
||||
func randMonthReward() map[int]Reward {
|
||||
RewardList := sevenLoginCfg.GetSevenLoginMonthReward()
|
||||
month := GoUtil.NowMonth()
|
||||
RewardList := sevenLoginCfg.GetSevenLoginMonthReward(month)
|
||||
sort.Slice(RewardList, func(i, j int) bool {
|
||||
return RewardList[i].Id < RewardList[j].Id
|
||||
})
|
||||
|
||||
@ -174,3 +174,7 @@ func IsFirstDayOfMonth() bool {
|
||||
now := time.Now()
|
||||
return now.Day() == 1
|
||||
}
|
||||
|
||||
func NowMonth() int {
|
||||
return int(time.Now().Month())
|
||||
}
|
||||
|
||||
@ -22,7 +22,7 @@ func TestFriendApply(t *testing.T) {
|
||||
p1 := new(game.Player)
|
||||
p1.InitPlayer("3625212")
|
||||
FriendMod := p1.GetFriendMod()
|
||||
FriendMod.AddFriendApply(100002, 0)
|
||||
FriendMod.AddFriendApply(100002, 0, 1698000000)
|
||||
if !FriendMod.CheckApply(100002) {
|
||||
t.Error("FriendMod AddFriendApply failed")
|
||||
}
|
||||
|
||||
23
src/server/test/seven_test.go
Normal file
23
src/server/test/seven_test.go
Normal file
@ -0,0 +1,23 @@
|
||||
package test
|
||||
|
||||
import (
|
||||
sevenLoginCfg "server/conf/seven_login"
|
||||
"server/game"
|
||||
GoUtil "server/game_util"
|
||||
"testing"
|
||||
)
|
||||
|
||||
func TestGetSevenLoginMonthReward(t *testing.T) {
|
||||
month := GoUtil.NowMonth()
|
||||
res := sevenLoginCfg.GetSevenLoginMonthReward(month)
|
||||
t.Logf("res:%v", res)
|
||||
}
|
||||
|
||||
func TestSevenLoginZeroUpdate(t *testing.T) {
|
||||
p1 := new(game.Player)
|
||||
p1.InitPlayer("3625212")
|
||||
SevenLoginMod := p1.GetSevenLoginMod()
|
||||
SevenLoginMod.ZeroUpdate(0, 0)
|
||||
SevenLoginMod.BackData()
|
||||
t.Logf("SevenLoginMod:%v", SevenLoginMod)
|
||||
}
|
||||
Loading…
Reference in New Issue
Block a user