From d196d101b54ca95a1343399841d6b4e1117143b7 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期三, 04 六月 2025 14:53:08 +0800
Subject: [PATCH] 16 卡牌服务端(GMT命令个人邮件、全服邮件相关;)

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/PyMongoDB/GMToolLogicProcess/Commands/GMT_AddPersonalCompensation.py |   80 ++++++++++++++++++++++++++--------------
 1 files changed, 52 insertions(+), 28 deletions(-)

diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/PyMongoDB/GMToolLogicProcess/Commands/GMT_AddPersonalCompensation.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/PyMongoDB/GMToolLogicProcess/Commands/GMT_AddPersonalCompensation.py
index af490fd..70d7893 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/PyMongoDB/GMToolLogicProcess/Commands/GMT_AddPersonalCompensation.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/PyMongoDB/GMToolLogicProcess/Commands/GMT_AddPersonalCompensation.py
@@ -2,45 +2,69 @@
 # -*- coding: GBK -*-
 #-------------------------------------------------------------------------------
 #
-#-------------------------------------------------------------------------------
+##@package PyMongoDB.GMToolLogicProcess.Commands.GMT_AddPersonalCompensation
 #
-##@package PyMongoDataServer.GMToolLogicProcess.Commands.GMT_AddPersonalCompensation
-#
-# @todo:个人补偿 - 新
+# @todo:GM工具命令 - 添加个人邮件
 # @author hxp
-# @date 2014-09-23
+# @date 2025-06-04
 # @version 1.0
 #
-# 详细描述: 个人补偿 - 新
+# 详细描述: GM工具命令 - 添加个人邮件
 #
-#---------------------------------------------------------------------
-"""Version = 2014-09-23 12:00"""
+#-------------------------------------------------------------------------------
+#"""Version = 2025-06-04 15:00"""
+#-------------------------------------------------------------------------------
 
+import GameWorld
 import GMCommon
-#---------------------------------------------------------------------
-#全局变量
-
-#---------------------------------------------------------------------
-
+import DataRecordPack
+import PlayerMail
 
 ## 收到gm命令执行
 # @param gmCmdDict:gm命令字典
 # @return None 
 def OnExec(gmCmdDict):
-    playerList = gmCmdDict.get("playerList", "")  #玩家列表
+    from GMToolLogicProcess import  ProjSpecialProcess
+    ret = ProjSpecialProcess.GMCmdPlayerListValidationID(gmCmdDict)
+    Result = ret[0]
+    if Result != GMCommon.Def_Success:
+        return Result, ret[1]
+    playerIDList = ret[1]
     
-    if playerList == "":
-        return GMCommon.Def_ParamErr, "Please enter search player info!"               
+    LimitDays = int(gmCmdDict.get('LimitDays', '7'))
+    MailType = int(gmCmdDict.get('MailType', '0'))
+    Title = gmCmdDict.get('Title', '')
+    Text = gmCmdDict.get('Text', '')
+    itemList = GetGMTMailItemList(gmCmdDict)
+    
+    for playerID in playerIDList:
+        PlayerMail.SendMail(playerID, Title, Text, itemList, LimitDays, MailType)
+        
+    # 流向
+    GMT_Name = gmCmdDict.get(GMCommon.Def_GMKey_Type, '')
+    DataRecordPack.DR_ToolGMOperate(0, '', '', GMT_Name, str(gmCmdDict))
+    return GMCommon.Def_Success
 
-    # 回复gm参数错误
-    return GMCommon.Def_DoQueryUserDB, ''
-
-## 查询userdb返回
-# @param userdb:userdb
-# @param data:传入的信息
-# @param gmCmdDict:gm命令字典
-# @return None 
-def UserDBResponse(userdb, data, gmCmdDict):
-    return GMCommon.Def_SendToGameServer, ''
-
-
+def GetGMTMailItemList(gmCmdDict):
+    
+    #工具发过来的物品下标依据 'index,index,...'  不一定是从0开始并按顺序连续 =_=#
+    intemIndexStrList = []
+    itemNums = gmCmdDict.get('itemNums', '')
+    if itemNums.strip() != '':
+        intemIndexStrList = itemNums.split(',')
+    #添加物品
+    itemList = []
+    for itemIndexStr in intemIndexStrList:
+        itemID = GameWorld.ToIntDef(gmCmdDict.get('ItemID%s' % itemIndexStr, '0'))
+        if not itemID:
+            continue
+        itemCount = GameWorld.ToIntDef(gmCmdDict.get('ItemCnt%s' % itemIndexStr, '0'))
+        if not itemCount:
+            continue
+        isBind = GameWorld.ToIntDef(gmCmdDict.get('IsBind%s' % itemIndexStr, '0'))
+        
+        #添加到物品信息列表
+        itemList.append([itemID, itemCount, isBind])
+        
+    GameWorld.DebugLog("GetGMTMailItemList %s" % itemList)
+    return itemList

--
Gitblit v1.8.0