diff --git a/worldsrv/action_nian.go b/worldsrv/action_nian.go index 9896e9e..acd8108 100644 --- a/worldsrv/action_nian.go +++ b/worldsrv/action_nian.go @@ -590,6 +590,19 @@ func CSNianSignAward(s *netlib.Session, packetid int, data interface{}, sid int6 logger.Logger.Trace("CSNianSignAward 活动关闭!") return nil } + //判断活动时间 + 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() + nowTime := time.Now().Unix() + if nowTime < timestamp || nowTime > endTimestamp { + return nil + } + pack := &activity.SCNianSignAward{} if p.WelfData.NianData == nil { p.WelfData.NianData = &model.NianData{} @@ -631,15 +644,36 @@ func CSNianSignAward(s *netlib.Session, packetid int, data interface{}, sid int6 func CSNianChange(s *netlib.Session, packetid int, data interface{}, sid int64) error { if msg, ok := data.(*activity.CSNianChange); ok { - num := msg.Num - if num <= 0 || num > 99 { - return nil - } p := PlayerMgrSington.GetOnlinePlayer(sid) logger.Logger.Trace("客户端请求请求年兽兑换 snid = ", p.SnId) if p == nil { return nil } + pool := WelfareMgrSington.GetConfig(p.Platform).ActivityNianConfig + if pool == nil || pool.List == nil { + return nil + } + if pool.Switch == model.WelfareClose { + logger.Logger.Trace("CSNianSignAward 活动关闭!") + return nil + } + //判断活动时间 + 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() + nowTime := time.Now().Unix() + if nowTime < timestamp || nowTime > endTimestamp { + return nil + } + num := msg.Num + if num <= 0 || num > 99 { + return nil + } + sData := srvdata.PBDB_NewYearActivityMgr.Datas.GetArr() itemNum := 0 coin := 0