| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117 |
- --------------------------------
- -- 文件名 : ServerCommerceActPeakBettleMiddle.lua
- -- 文件说明 : 巅峰战场跨服相关
- -- 创建时间 : 2025/11/13
- -- 创建人 : WWF
- --------------------------------
- local Util = require("common.Util")
- local MiddleConnect = require("middle.MiddleConnect")
- local MiddleManager = require("middle.MiddleManager")
- local InnerMsg = require("core.InnerMsg")
- local Config = require("Config")
- local CommonDB = require("common.CommonDB")
- local Log = require("common.Log")
- local ServerCommerceActPeakBettle = require("serverCommerce.ServerCommerceActPeakBettle")
- local CommonDefine = require("common.CommonDefine")
- ----------------------------------- 内部操作 ---------------------------
- local function PeakBettleMiddle_WriteLog(szLogText)
- Log.write(Log.LOGID_OSS_COMMON_ACT, szLogText)
- end
- --------------------------- 跨服请求 ------------------------------
- -- 普通服请求跨服排名数据(普通->中心)
- function LW_PEAK_BATTLEFIELD_QUERY_RANK_O2C(fd, msg)
- if _G.is_middle ~= true then return end
-
- print("[LW_PEAK_BATTLEFIELD_QUERY_RANK_O2C] 收到普通服请求跨服排名数据 nSrcServerID = "..msg.nSrcServerID.." nRankType = "..msg.nRankType)
-
- -- 转发到数据服(如果需要跨服排名)
- -- 这里可以根据实际需求实现跨服排名逻辑
- -- 暂时先记录日志
- PeakBettleMiddle_WriteLog("[LW_PEAK_BATTLEFIELD_QUERY_RANK_O2C] 收到跨服排名请求")
- end
- -- 请求跨服排名数据(中心->数据服)
- function WL_PEAK_BATTLEFIELD_QUERY_RANK_C2D(fd, msg)
- print("[WL_PEAK_BATTLEFIELD_QUERY_RANK_C2D] 数据服收到跨服排名请求")
-
- -- 这里需要实现从数据库获取跨服排名数据的逻辑
- -- 暂时先记录日志
- PeakBettleMiddle_WriteLog("[WL_PEAK_BATTLEFIELD_QUERY_RANK_C2D] 数据服收到跨服排名请求")
- end
- -- 请求跨服排名数据(数据服->中心)
- function LW_PEAK_BATTLEFIELD_QUERY_RANK_D2C(fd, msg)
- if _G.is_middle ~= true then return end
-
- print("[LW_PEAK_BATTLEFIELD_QUERY_RANK_D2C] 数据服回复跨服排名数据")
-
- -- 转发到普通服
- local nSrcFD = MiddleManager.getFDBySvrIndex(msg.nSrcServerID)
- if nSrcFD then
- local tMsgData = InnerMsg.wl.WL_PEAK_BATTLEFIELD_QUERY_RANK_C2O
- tMsgData.nFirst = msg.nFirst
- tMsgData.nIsEnd = msg.nIsEnd
- tMsgData.tRankInfo = msg.tRankInfo
- InnerMsg.sendMsg(nSrcFD, tMsgData)
- end
- end
- -- 获取到跨服排名数据(中心->普通)
- function WL_PEAK_BATTLEFIELD_QUERY_RANK_C2O(fd, msg)
- print("[WL_PEAK_BATTLEFIELD_QUERY_RANK_C2O] 普通服收到跨服排名数据")
-
- -- 这里可以调用 ServerCommerceActPeakBettle 的处理函数
- -- 暂时先记录日志
- PeakBettleMiddle_WriteLog("[WL_PEAK_BATTLEFIELD_QUERY_RANK_C2O] 普通服收到跨服排名数据")
- end
- -- 普通服通知排名变化(普通->中心)
- function LW_PEAK_BATTLEFIELD_RANK_CHANGE_O2C(fd, msg)
- if _G.is_middle ~= true then return end
-
- print("[LW_PEAK_BATTLEFIELD_RANK_CHANGE_O2C] 收到排名变化通知 uuid = "..msg.uuid.." nRank = "..msg.nRank)
-
- -- 转发到数据服
- -- 这里可以根据实际需求实现跨服排名更新逻辑
- PeakBettleMiddle_WriteLog("[LW_PEAK_BATTLEFIELD_RANK_CHANGE_O2C] 收到排名变化通知")
- end
- -- 排名变化通知(中心->数据服)
- function WL_PEAK_BATTLEFIELD_RANK_CHANGE_C2D(fd, msg)
- print("[WL_PEAK_BATTLEFIELD_RANK_CHANGE_C2D] 数据服收到排名变化通知")
-
- -- 这里需要实现更新跨服排名数据的逻辑
- PeakBettleMiddle_WriteLog("[WL_PEAK_BATTLEFIELD_RANK_CHANGE_C2D] 数据服收到排名变化通知")
- end
- -- 发送排名奖励(数据服->中心)
- function LW_PEAK_BATTLEFIELD_SEND_RANK_REWARD_D2C(fd, msg)
- if _G.is_middle ~= true then return end
-
- print("[LW_PEAK_BATTLEFIELD_SEND_RANK_REWARD_D2C] 数据服发送排名奖励 uuid = "..msg.uuid.." nRank = "..msg.nRank)
-
- -- 转发到普通服
- local nSrcFD = MiddleManager.getFDBySvrIndex(msg.nServerID)
- if nSrcFD then
- local tMsgData = InnerMsg.wl.WL_PEAK_BATTLEFIELD_SEND_RANK_REWARD_C2O
- tMsgData.uuid = msg.uuid
- tMsgData.nRank = msg.nRank
- tMsgData.tReward = msg.tReward
- InnerMsg.sendMsg(nSrcFD, tMsgData)
- end
- end
- -- 发送排名奖励(中心->普通)
- function WL_PEAK_BATTLEFIELD_SEND_RANK_REWARD_C2O(fd, msg)
- print("[WL_PEAK_BATTLEFIELD_SEND_RANK_REWARD_C2O] 普通服收到排名奖励 uuid = "..msg.uuid)
-
- -- 调用 ServerCommerceActPeakBettle 的处理函数发送奖励
- -- 暂时先记录日志
- PeakBettleMiddle_WriteLog("[WL_PEAK_BATTLEFIELD_SEND_RANK_REWARD_C2O] 普通服收到排名奖励")
- end
|