diff --git a/worldsrv/action_nian.go b/worldsrv/action_nian.go index cb1c7b6..cbb6362 100644 --- a/worldsrv/action_nian.go +++ b/worldsrv/action_nian.go @@ -37,12 +37,8 @@ func CSNianData(s *netlib.Session, packetid int, data interface{}, sid int64) er } startTime := pool.List[0].ActivityStart endTime := pool.List[0].ActivityEnd - start, _ := time.Parse(time.DateTime, startTime) - // 转换为时间戳(以秒为单位) - timestamp := start.Unix() - end, _ := time.Parse(time.DateTime, endTime) - endTimestamp := end.Unix() - + timestamp := common.StrTimeToTs(startTime) + endTimestamp := common.StrTimeToTs(endTime) if p.WelfData.NianData != nil && (p.WelfData.NianData.ActivityStartTime != timestamp || p.WelfData.NianData.ActivityEndTime != endTimestamp) { logger.Logger.Infof("CSNianData 年兽活动时间变更 清除之前数据 snid= %d", p.SnId) WelfareMgrSington.ClearActivityNianData(p) @@ -228,11 +224,8 @@ func CSNianAttack(s *netlib.Session, packetid int, data interface{}, sid int64) //判断活动时间 startTime := pool.List[0].ActivityStart endTime := pool.List[0].ActivityEnd - t, _ := time.Parse(time.DateTime, startTime) - // 转换为时间戳(以秒为单位) - timestamp := t.Unix() - end, _ := time.Parse(time.DateTime, endTime) - endTimestamp := end.Unix() + timestamp := common.StrTimeToTs(startTime) + endTimestamp := common.StrTimeToTs(endTime) nowTime := time.Now().Unix() if nowTime < timestamp || nowTime > endTimestamp { return nil @@ -612,6 +605,7 @@ func CSNianBuff(s *netlib.Session, packetid int, data interface{}, sid int64) er if p.WelfData.NianData == nil { p.WelfData.NianData = &model.NianData{} } + if p.WelfData.NianData.BuffStatus { pack := &activity.SCNianBuff{ OpRetCode: activity.OpResultCode_Nian_OPRC_Error_Nian, @@ -627,6 +621,16 @@ func CSNianBuff(s *netlib.Session, packetid int, data interface{}, sid int64) er logger.Logger.Trace("CSNianSignAward 活动关闭!") return nil } + //判断活动时间 + startTime := pool.List[0].ActivityStart + endTime := pool.List[0].ActivityEnd + timestamp := common.StrTimeToTs(startTime) + endTimestamp := common.StrTimeToTs(endTime) + nowTime := time.Now().Unix() + if nowTime < timestamp || nowTime > endTimestamp { + return nil + } + StartTs := common.IntToTime(int(pool.List[0].BuffStartTime)).Unix() EndTs := common.IntToTime(int(pool.List[0].BuffEndTime)).Unix() //判断领取时间 @@ -677,11 +681,8 @@ func CSNianSignAward(s *netlib.Session, packetid int, data interface{}, sid int6 //判断活动时间 startTime := pool.List[0].ActivityStart endTime := pool.List[0].ActivityEnd - t, _ := time.Parse(time.DateTime, startTime) - // 转换为时间戳(以秒为单位) - timestamp := t.Unix() - end, _ := time.Parse(time.DateTime, endTime) - endTimestamp := end.Unix() + timestamp := common.StrTimeToTs(startTime) + endTimestamp := common.StrTimeToTs(endTime) nowTime := time.Now().Unix() if nowTime < timestamp || nowTime > endTimestamp { return nil @@ -701,6 +702,7 @@ func CSNianSignAward(s *netlib.Session, packetid int, data interface{}, sid int6 pack.SignAwardTime = p.WelfData.NianData.SignAwardTime var items []*model.Item for _, info := range pool.List[0].SignReward { + items = append(items, &model.Item{ ItemId: info.ItemId, ItemNum: info.ItemNum, @@ -792,11 +794,8 @@ func CSNianChange(s *netlib.Session, packetid int, data interface{}, sid int64) //判断活动时间 startTime := pool.List[0].ActivityStart endTime := pool.List[0].ActivityEnd - t, _ := time.Parse(time.DateTime, startTime) - // 转换为时间戳(以秒为单位) - timestamp := t.Unix() - end, _ := time.Parse(time.DateTime, endTime) - endTimestamp := end.Unix() + timestamp := common.StrTimeToTs(startTime) + endTimestamp := common.StrTimeToTs(endTime) nowTime := time.Now().Unix() if nowTime < timestamp || nowTime > endTimestamp { return nil diff --git a/worldsrv/rankmatch.go b/worldsrv/rankmatch.go index 351d577..b9bdcda 100644 --- a/worldsrv/rankmatch.go +++ b/worldsrv/rankmatch.go @@ -952,11 +952,8 @@ func (r *RankMatchMgr) NianRankAward() { } startTime := pool.List[0].ActivityStart endTime := pool.List[0].ActivityEnd - t, _ := time.Parse(time.DateTime, startTime) - // 转换为时间戳(以秒为单位) - timestamp := t.Unix() - end, _ := time.Parse(time.DateTime, endTime) - endTimestamp := end.Unix() + timestamp := common.StrTimeToTs(startTime) + endTimestamp := common.StrTimeToTs(endTime) nowTime := time.Now().Unix() if nowTime < timestamp || nowTime-86400 > endTimestamp { return @@ -1054,7 +1051,8 @@ func (r *RankMatchMgr) NianRankAward() { })).StartByExecutor("NianLuck_Award") } else if info.TypeId == 2 { yesterday := time.Unix(time.Now().Unix()-86400, 0) - if yesterday.Day() != end.Day() { + endDay := time.Unix(endTimestamp, 0) + if yesterday.Day() != endDay.Day() { return } rankAward := info.RankInfo diff --git a/worldsrv/taskmgr.go b/worldsrv/taskmgr.go index ec6089c..0f7e9be 100644 --- a/worldsrv/taskmgr.go +++ b/worldsrv/taskmgr.go @@ -209,10 +209,12 @@ func (t *TaskHandle) AllTask(id int, data any) { } startTime := pool.List[0].ActivityStart endTime := pool.List[0].ActivityEnd - start, _ := time.Parse(time.DateTime, startTime) - timestamp := start.Unix() - end, _ := time.Parse(time.DateTime, endTime) - endTimestamp := end.Unix() + /* start, _ := time.Parse(time.DateTime, startTime) + timestamp := start.Unix() + end, _ := time.Parse(time.DateTime, endTime) + endTimestamp := end.Unix()*/ + timestamp := common.StrTimeToTs(startTime) + endTimestamp := common.StrTimeToTs(endTime) if now.Unix() < timestamp || now.Unix() > endTimestamp { continue } @@ -349,10 +351,8 @@ func IsTaskReward(p *Player, id int32) bool { } startTime := pool.List[0].ActivityStart endTime := pool.List[0].ActivityEnd - start, _ := time.Parse(time.DateTime, startTime) - timestamp := start.Unix() - end, _ := time.Parse(time.DateTime, endTime) - endTimestamp := end.Unix() + timestamp := common.StrTimeToTs(startTime) + endTimestamp := common.StrTimeToTs(endTime) if timestamp > 0 { return data.Ts >= timestamp && data.Ts < endTimestamp }