From 6ad924ae5602f3ebc89267ed6c824a2523c0f36e Mon Sep 17 00:00:00 2001
From: hch <305670599@qq.com>
Date: 星期六, 13 四月 2019 16:15:21 +0800
Subject: [PATCH] 6515 【测试】【主干】新增游戏警报邮件

---
 ServerPython/CoreServerGroup/GameServer/Script/GameWorld.py                           |   15 ++++++++++++++-
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/DataRecordPack.py |    2 ++
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorld.py      |   12 ++++++++++++
 Tool/RemoteTool/RemoteServer/webapp.py                                                |    7 +++++++
 4 files changed, 35 insertions(+), 1 deletions(-)

diff --git a/ServerPython/CoreServerGroup/GameServer/Script/GameWorld.py b/ServerPython/CoreServerGroup/GameServer/Script/GameWorld.py
index 34e6938..4968286 100644
--- a/ServerPython/CoreServerGroup/GameServer/Script/GameWorld.py
+++ b/ServerPython/CoreServerGroup/GameServer/Script/GameWorld.py
@@ -1016,4 +1016,17 @@
     except:
         return inputText
     
-    return inputText
\ No newline at end of file
+    return inputText
+
+
+# 向运维发送邮件,用于需要紧急处理的信息
+# 此处不包含服务器报错的汇报
+def SendGameStateMail(msgInfo):
+    # 使用方式 向OpenStateUrl 发送Type为GameWarning,那么就会收到一封游戏内容警告邮件,信息为MsgInfo
+    getUrl = ReadChConfig.GetPyMongoConfig("EventReport", "OpenStateUrl")
+    groupID = ReadChConfig.GetPyMongoConfig("platform", "GroupID")
+    userDBName = ReadChConfig.GetPyMongoConfig("connect", "USER_DB_NAME")
+    getUrl = getUrl + "?Type=GameWarning&groupID=%s&userDBName=%s&MsgInfo=%s"%(groupID, userDBName, msgInfo)
+    
+    GetGameWorld().EventReport_EventReport("", "", "", "", 0, getUrl)
+    
\ No newline at end of file
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/DataRecordPack.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/DataRecordPack.py
index 3cf2797..d01360f 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/DataRecordPack.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/DataRecordPack.py
@@ -353,6 +353,8 @@
     #发送封包
     SendEventPack("CTGError", dataDict, curPlayer)
     GameWorld.ErrLog("%s. %s" % (errorInfo, addDict), curPlayer.GetPlayerID())
+    
+    GameWorld.SendGameStateMail("CTGError:%s"%dataDict)
     return
 
 def DR_CTGOK(curPlayer, addDict):
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorld.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorld.py
index abca8cc..126ee33 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorld.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorld.py
@@ -1974,3 +1974,15 @@
     return
 
 
+# 向运维发送邮件,用于需要紧急处理的信息
+# 此处不包含服务器报错的汇报
+def SendGameStateMail(msgInfo):
+    # 使用方式 向OpenStateUrl 发送Type为GameWarning,那么就会收到一封游戏内容警告邮件,信息为MsgInfo
+    getUrl = ReadChConfig.GetPyMongoConfig("EventReport", "OpenStateUrl")
+    groupID = ReadChConfig.GetPyMongoConfig("platform", "GroupID")
+    userDBName = ReadChConfig.GetPyMongoConfig("connect", "USER_DB_NAME")
+    getUrl = getUrl + "?Type=GameWarning&groupID=%s&userDBName=%s&MsgInfo=%s"%(groupID, userDBName, msgInfo)
+    
+    GetGameWorld().EventReport_EventReport("", "", "", "", 0, getUrl)
+
+
diff --git a/Tool/RemoteTool/RemoteServer/webapp.py b/Tool/RemoteTool/RemoteServer/webapp.py
index ff02492..a2e8e30 100644
--- a/Tool/RemoteTool/RemoteServer/webapp.py
+++ b/Tool/RemoteTool/RemoteServer/webapp.py
@@ -111,6 +111,13 @@
                                                        dataDict.get("userDBName", 0))
             SendEmail(ServerInfo)
             return  
+        elif stateType == "GameWarning":
+            # 游戏通用警告邮件使用
+            ServerInfo = "游戏警报:服务器组:%s, dbname:%s, 警告信息:"%(
+                                                       dataDict.get("groupID", 0),
+                                                       dataDict.get("userDBName", 0),
+                                                       dataDict.get("MsgInfo", 0))
+            SendEmail(ServerInfo)
         elif stateType == "QueryMapOK":
             if g_AllMapCnt == 0:
                 if not os.path.exists(".\MapCount.txt"):

--
Gitblit v1.8.0