8350 【主干】【后端】添加按仙盟为单位给盟成员群发邮件(个人邮件增加发送仙盟成员支持,仅发邮件时的仙盟成员可收到)
4个文件已修改
35 ■■■■■ 已修改文件
ServerPython/CoreServerGroup/GameServer/Script/GM/Commands/GMCommon.py 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/CoreServerGroup/GameServer/Script/GM/Commands/GMT_AddPersonalCompensation.py 29 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/db/PyMongoDataServer/GMToolLogicProcess/Commands/GMCommon.py 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/db/PyMongoDataServer/GMToolLogicProcess/ProjSpecialProcess.py 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/CoreServerGroup/GameServer/Script/GM/Commands/GMCommon.py
@@ -81,6 +81,7 @@
Def_GMKey_PlayerName = 'playerName'
Def_GMKey_PlayerAccID = 'accID'
Def_GMKey_FamilyName = 'familyName'
Def_GMKey_FamilyID = 'familyID'
Def_GMKey_PackIndex = 'packIndex'
Def_GMKey_IP = 'IP'
Def_GMKey_QueryType = 'queryType'
ServerPython/CoreServerGroup/GameServer/Script/GM/Commands/GMT_AddPersonalCompensation.py
@@ -49,7 +49,34 @@
#  @return None
#  @remarks 函数详细说明.
def OnExec(orderId, gmCmdDict):
    strMsg = ""
    gmCmdDict = ClearEmptyFromDict(gmCmdDict)
    queryType = gmCmdDict.get(GMCommon.Def_GMKey_QueryType, '')
    if queryType == GMCommon.Def_GMKey_FamilyID:
        sendFamilyIDList = []
        PlayerIDList = []
        familyIDList = gmCmdDict.get("playerList", "").split(",")
        GameWorld.Log("发送仙盟邮件: familyIDList=%s" % familyIDList)
        for familyID in familyIDList:
            familyID = GameWorld.ToIntDef(familyID)
            familyInfo = {"familyID":familyID}
            memberIDList = []
            family = GameWorld.GetFamilyManager().FindFamily(familyID)
            if not family:
                GameWorld.DebugLog("    not family %s" % familyID)
                continue
            for index in range(family.GetCount()):
                curMember = family.GetAt(index)
                curMemberID = curMember.GetPlayerID()
                if curMemberID:
                    memberIDList.append(curMemberID)
            PlayerIDList += memberIDList
            familyInfo["PlayerIDList"] = memberIDList
            sendFamilyIDList.append(familyInfo)
        GameWorld.Log("    send FamilyIDList=%s" % sendFamilyIDList)
        GameWorld.Log("    send PlayerIDList=%s" % PlayerIDList)
        strMsg = str(sendFamilyIDList)
    else:
    PlayerIDList = eval(gmCmdDict.get('PlayerIDList', '[]'))
    if PlayerIDList == []:
        GMCommon.GMCommandResult(orderId, gmCmdDict, GMCommon.Def_ParamErr)    
@@ -95,7 +122,7 @@
                                       gold, goldPaper, silver, detail=detail)
    
    #执行成功
    GMCommon.GMCommandResult(orderId, gmCmdDict, GMCommon.Def_Success)
    GMCommon.GMCommandResult(orderId, gmCmdDict, GMCommon.Def_Success, strMsg)
    # 流向
    DataRecordPack.DR_ToolGMOperate(0, '', '', 'GMT_AddPersonalCompensation', str(gmCmdDict))
    return
ServerPython/db/PyMongoDataServer/GMToolLogicProcess/Commands/GMCommon.py
@@ -97,6 +97,7 @@
Def_GMKey_PlayerName = 'playerName'
Def_GMKey_PlayerAccID = 'accID'
Def_GMKey_FamilyName = 'familyName'
Def_GMKey_FamilyID = 'familyID'
Def_GMKey_PackIndex = 'packIndex'
Def_GMKey_IP = 'IP'
Def_GMKey_QueryType = 'queryType'
ServerPython/db/PyMongoDataServer/GMToolLogicProcess/ProjSpecialProcess.py
@@ -261,6 +261,10 @@
    
        playerIDList = []
        queryType = gmCmdDict.get(GMCommon.Def_GMKey_QueryType, '')
        if queryType == GMCommon.Def_GMKey_FamilyID:
            # 根据家族ID的不处理,直接推
            return GMCommon.Def_SendToGameServer, ""
        playerFind = gmCmdDict.get(GMCommon.Def_GMKey_PlayerFind, '')
        
        for playerFind in playerList: