锦标赛获取上期活动id优化

This commit is contained in:
hahwu 2026-04-13 19:48:00 +08:00
parent 12efd965e9
commit 6360361da0

View File

@ -16,6 +16,7 @@ import (
"server/game/mod/mail"
GoUtil "server/game_util"
"server/msg"
"sort"
"gitea.bywaystudios.com/pet_home/leaf/log"
)
@ -532,8 +533,12 @@ func (p *Player) GetChampshipActivityId() (int, int) {
var yesterdayActivityId int
activiyCfgList := G_GameLogicPtr.ActivityMgr.GetActivityList()
now := GoUtil.Now()
yesterday := GoUtil.ZeroTimestamp() - 1
level := p.GetBaseMod().GetLevel()
type sortData struct {
Id int
EndTime int64
}
var sortList []sortData
for _, v := range activiyCfgList {
if v.Type != activity.ACT_TYPE_CHAMPION {
continue
@ -544,10 +549,16 @@ func (p *Player) GetChampshipActivityId() (int, int) {
if v.Startime <= now && v.Endtime >= now {
todayActivityId = v.Id
}
if v.Startime <= yesterday && v.Endtime >= yesterday {
yesterdayActivityId = v.Id
if v.Endtime < now {
sortList = append(sortList, sortData{Id: v.Id, EndTime: v.Endtime})
}
}
if len(sortList) > 0 {
sort.Slice(sortList, func(i, j int) bool {
return sortList[i].EndTime > sortList[j].EndTime
})
yesterdayActivityId = sortList[0].Id
}
return todayActivityId, yesterdayActivityId
}