From 6dafb5efaf74d7193d7c6c1d0a0c0b998d0e1e90 Mon Sep 17 00:00:00 2001 From: hxp <ale99527@vip.qq.com> Date: 星期一, 22 七月 2024 17:59:05 +0800 Subject: [PATCH] 10223 【越南】【砍树】【主干】【港台】秘境寻宝(秘境榜单数据备份优化;优化本服跨服榜备份数据规则,后台查询本服跨服历史榜统一逻辑;) --- ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/CrossBillboard.py | 37 ++++++++++++++++++++++++------------- 1 files changed, 24 insertions(+), 13 deletions(-) diff --git a/ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/CrossBillboard.py b/ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/CrossBillboard.py index 4e12dba..ccb8aa3 100644 --- a/ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/CrossBillboard.py +++ b/ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/CrossBillboard.py @@ -122,10 +122,10 @@ def GetGroupValue2(self): return self.__groupValue2 def ClearData(self): - GameWorld.Log("CrossBillboard ClearData billboardType=%s,groupValue1=%s,groupValue2=%s" - % (self.__billboardType, self.__groupValue1, self.__groupValue2)) + GameWorld.Log("CrossBillboard ClearData billboardType=%s,groupValue1=%s,groupValue2=%s,dataCount=%s" + % (self.__billboardType, self.__groupValue1, self.__groupValue2, len(self.__billboardList))) if GameWorld.IsCrossServer(): - self.SaveDRData() + self.SaveDRData("Clear") self.__billboardList = [] # [tagDBCrossBillboard, ...] self.__idOrderDict = {} # {id:名次, ...} @@ -169,16 +169,25 @@ order = idOrderDict[findID] return order - 1 - def SaveDRData(self): + def SaveDRData(self, eventName="", addDataDict={}): ## 记录流向数据 - eventTypeName = "CrossBillboard_%s" % (self.__billboardType) - drDict = {"BillboardType":self.__billboardType, "GroupValue1":self.__groupValue1, "GroupValue2":self.__groupValue2, - "DataCount":len(self.__billboardList)} - DataRecordPack.SendEventPack(eventTypeName, drDict) + + dataCount = len(self.__billboardList) + if not dataCount: + return + + serverTime = GameWorld.GetServerTime() + timeStr = "%02d%02d%02d%s" % (serverTime.hour, serverTime.minute, serverTime.second, str(serverTime.microsecond)[:3]) + eventTypeStr = "Billboard_%s_%s_%s_%s_%s" % (self.__billboardType, self.__groupValue1, self.__groupValue2, eventName, timeStr) + + dataDict = {"BillboardType":self.__billboardType, "DataCount":dataCount, "addDataDict":addDataDict, + "GroupValue1":self.__groupValue1, "GroupValue2":self.__groupValue2} + DataRecordPack.SendEventPack(eventTypeStr, dataDict) + for index, billboardData in enumerate(self.__billboardList): - dataDict = {"BillboardType":billboardData.BillboardType, "GroupValue1":billboardData.GroupValue1, - "GroupValue2":billboardData.GroupValue2, "Type2":billboardData.Type2, - "ID":billboardData.ID, "ID2":billboardData.ID2, "Place":index, + rank = index + 1 + dataDict = {"Type2":billboardData.Type2, "Rank":rank, + "ID":billboardData.ID, "ID2":billboardData.ID2, "Name1":billboardData.Name1, "Name2":billboardData.Name2, "Value1":billboardData.Value1, "Value2":billboardData.Value2, "Value3":billboardData.Value3, "Value4":billboardData.Value4, @@ -186,7 +195,7 @@ "Value7":billboardData.Value7, "Value8":billboardData.Value8, "CmpValue":billboardData.CmpValue, "CmpValue2":billboardData.CmpValue2, "CmpValue3":billboardData.CmpValue3, "UserData":billboardData.UserData} - DataRecordPack.SendEventPack(eventTypeName, dataDict) + DataRecordPack.SendEventPack(eventTypeStr, dataDict) return def GetBillboardDataList(self): return self.__billboardList @@ -273,10 +282,12 @@ def CopyBillboardOnDay(): billboardMgr = PyDataManager.GetCrossBillboardManager() for billboardType in ShareDefine.CrossBillboardTypeList: + if billboardType in [ShareDefine.Def_CBT_BossTrialSubmitBak, ShareDefine.Def_CBT_BossTrialSubmitFamilyBak]: + continue groupList = billboardMgr.GetBillboardGroupList(billboardType) for billboardType, groupValue1, groupValue2 in groupList: billboardObj = billboardMgr.GetCrossBillboard(billboardType, groupValue1, groupValue2) - billboardObj.SaveDRData() + billboardObj.SaveDRData("OnDay") return def CopyBillboard(fromBillboardType, toBillboardType): -- Gitblit v1.8.0