From 03c475778c5e28b6500cb3d64b1fe100e354aa68 Mon Sep 17 00:00:00 2001 From: 陆恒 Date: Thu, 4 Jun 2020 10:05:42 +0800 Subject: [PATCH] 提交 --- src/HttpServer/logic/function.go | 40 ++++++++++++++++++++++++++++++++++++++++ src/HttpServer/logic/httpserver.go | 18 ++++++++++++++++++ 2 files changed, 58 insertions(+), 0 deletions(-) diff --git a/src/HttpServer/logic/function.go b/src/HttpServer/logic/function.go index c1c6129..5422afc 100644 --- a/src/HttpServer/logic/function.go +++ b/src/HttpServer/logic/function.go @@ -1303,3 +1303,43 @@ func PrivateChat(message string, uuid int, taruid int) (int, string) { } return 0, "" } + +func GetRandChatMessage() string { + return "小赤佬" +} + +func HandleRandWorldChat() { + length, err := redishandler.GetRedisClient().LLen(redis.WORLD_CHAT_INFO_KEY) + if err == nil { + if length >= CHATLIMITNUM { + //需要先把多余的聊天记录删除 + delcnt := length - CHATLIMITNUM + for i := 0; i < delcnt; i++ { + _, err = redishandler.GetRedisClient().RPop(redis.WORLD_CHAT_INFO_KEY) + if err != nil { + logger.Error("WorldChat failed err=%v", err) + } + } + } + } + + //构建新的结构 + var chats QueryChatMessageData + chats.Message = GetRandChatMessage() + chats.Uuid = -1 + chats.Chattime = int(time.Now().Unix()) + + chats.Headurl = "" + chats.Nickname = "" + chats.Sex = 1 + + savestr, err := json.Marshal(&chats) + if err != nil { + logger.Error("WorldChat err=%v", err) + } + + err = redishandler.GetRedisClient().LPush(redis.WORLD_CHAT_INFO_KEY, string(savestr)) + if err != nil { + logger.Error("WorldChat err=%v", err) + } +} diff --git a/src/HttpServer/logic/httpserver.go b/src/HttpServer/logic/httpserver.go index 277cf5e..d061ac7 100644 --- a/src/HttpServer/logic/httpserver.go +++ b/src/HttpServer/logic/httpserver.go @@ -10,14 +10,32 @@ import ( "mysql" "os" "strconv" + "time" //"log" "net/http" ) +var gLastChatTime = 0 + //定时处理倒计时 func StartHttpTicker() { + ticker := time.NewTicker(time.Second * time.Duration(60)) + + go func() { + for range ticker.C { + nowtime := int(time.Now().Unix()) + hour := time.Now().Hour() + if hour >= 6 && hour <= 10 { + if nowtime-gLastChatTime >= 20*60 { + gLastChatTime = nowtime + HandleRandWorldChat() + } + } + + } + }() } func StartHttpServe() { -- libgit2 0.21.0