Просмотр исходного кода

提交跨服商业活动bug修改

SCFC 1 год назад
Родитель
Сommit
5ea2ffbb23

+ 6 - 0
script/common/InnerHandler.lua

@@ -253,4 +253,10 @@ function LW_COMMERCE_CLEAR_RANK(fd, msg)
     print("[LW_COMMERCE_CLEAR_RANK] 清理排行榜命令")
     MiddleCommonRank.MiddleCommonRank_ClearRank(msg)
 end
+
+function LW_COMMERCE_GM_CLEAR_MAIL(fd, msg)
+    if _G.is_middle ~= true then return end
+    print("[LW_COMMERCE_GM_CLEAR_MAIL] GM清理排行榜邮件个人发送命令")
+    MiddleCommonRank.MiddleCommonRank_GMClearMail(msg)
+end
 -------------------- 跨服商业活动结束 ---------------------------

+ 6 - 0
script/common/InnerProto.lua

@@ -282,5 +282,11 @@ LW_COMMERCE_CLEAR_RANK =
   {"nRankSubType",      "int"},       -- 排行榜小类型
   {"nSrcServerID",      "int"},       -- 服务器ID
 }
+
+-- GM清理个人邮件发送缓存
+LW_COMMERCE_GM_CLEAR_MAIL = 
+{
+  {"nSrcServerID",      "int"},       -- 服务器ID
+}
 -------------------- 跨服商业活动结束 ---------------------------
 

+ 2 - 1
script/common/InnerProtoID.lua

@@ -34,4 +34,5 @@ _ENV[33] = 'LW_COMMERCE_QUERY_SERVER_RANK'
 _ENV[34] = 'WL_COMMERCE_GET_SERVERRANK_PRIZE'
 _ENV[35] = 'LW_COMMERCE_TELL_SERVER_MAILOK'
 _ENV[36] = 'WL_COMMERCE_SEND_HUMAN_PRIZE'
-_ENV[37] = 'LW_COMMERCE_CLEAR_RANK'
+_ENV[37] = 'LW_COMMERCE_CLEAR_RANK'
+_ENV[38] = 'LW_COMMERCE_GM_CLEAR_MAIL'

+ 4 - 0
script/module/chat/Gm.lua

@@ -2024,4 +2024,8 @@ end
 
 function d3.CSARestCommon(human)
 	CommerceManger.CommerveManager_GMRestCommonDB()
+end
+
+function d3.CSAClearMiddleMail(human)
+	CommerceManger.CommerveManager_GMClearMiddleMail()
 end

+ 8 - 0
script/module/middle/MiddleCommonRank.lua

@@ -786,4 +786,12 @@ function MiddleCommonRank_ClearRank(msg)
 
     LuaMongo.remove(DB.db_middle_rank, MiddleRankQueryByRankType)
     print("[MiddleCommonRank_ClearRank] 清理排行榜数据完成")
+end
+
+function MiddleCommonRank_GMClearMail(msg)
+    local nConfServerID = MiddleConnect.MiddleConnect_TrueServerID2ConfServerID(msg.nSrcServerID)
+    local nServerKey = MiddleConnect.MiddleConnect_GetWarZoneServer(nConfServerID)
+
+    MiddleCommonRank_SetSendHumanMail(nServerKey, 0)
+    print("[MiddleCommonRank_GMClearMail] GM清理命令结束 nNowValue = "..MIDDLE_SENDSERVER_MAIL[nServerKey])
 end

+ 1 - 4
script/module/serverCommerce/ServerCommerceActRank.lua

@@ -37,9 +37,6 @@ local COMMRCE_RANK_SERVERMAIL_HUMAN = nil
 
 ----------------------------------------- 内部处理开始 -------------------------------------
 function CommercerActRank_QueryRankInfo(nRankType, nRankSubType)
-    do
-        return
-    end
     ServerCommerceMiddle.CommerveMiddle_QueryRankInfo(nRankType, nRankSubType)
     print("[CommercerActRank_QueryRankInfo] 向中心服请求排行榜 nRankType = "..nRankType.." nRankSubType = "..nRankSubType)
 
@@ -354,7 +351,7 @@ function CommercerActRank_SendServerRankPrize(tData)
     end
 
     -- 设置当前发送邮件奖励
-    ServerCommerceManager.CommerveManager_SetCommDBSendMail(true)
+    ServerCommerceManager.CommerveManager_SetCommDBSendMail(1)
 
     -- 遍历在线玩家
     local mailConfig = MailExcel.mail[ServerCommerceDefine.COMMERCEACT_SERVERMAILID]

+ 47 - 52
script/module/serverCommerce/ServerCommerceManager.lua

@@ -85,9 +85,6 @@ end
 
 -- 下发活动数据
 function CommerceAct_SendActInfo(human)
-    do
-        return
-    end
     if not human or not tCommerceActInfo then
         return
     end
@@ -148,10 +145,6 @@ end
 
 -- 所有活动初始化数据开始
 local function CommerceAct_BeginAllAct(human)
-    do
-        return
-    end
-
     if not human or not tCommerceActInfo then
         return
     end
@@ -173,10 +166,6 @@ local function CommerceAct_Begin()
         return
     end
 
-    do
-        return
-    end
-    
     for nID, module in pairs(tCommerceActModuel) do
         if module and module.ClearCache then
             module.ClearCache()
@@ -257,7 +246,7 @@ local function CommerceAct_CreateCommonDB()
         nBeginTime = nNowTime,
         nEndTime = nEndTime,
         nPoint = 0,
-        nSendRankMail = false,
+        nSendRankMail = 0,
     }
 
     if not tCommerceInfo or nil == _G.next(tCommerceInfo) then
@@ -380,9 +369,6 @@ function CommerceAct_GetOpenAndEndTime()
 end
 ----------------------------------------- 外部调用开始 -------------------------------------
 function onZeroAll(funcID)
-    do
-        return
-    end
     local nNowTime = os.time()
     local tDate = os.date("*t",nNowTime)
 
@@ -426,10 +412,6 @@ function onZeroAll(funcID)
 end
 
 function onHour(hour)
-    do
-        return
-    end
-
     local nNowTime = os.time()
     local tDate = os.date("*t",nNowTime)
     print("[CommerceAct_onHour] 进入整点时间判断 hour = "..hour.." nNowTime = "..nNowTime)
@@ -477,9 +459,6 @@ end
 
 -- 起服初始化
 function CommerceAct_Init()
-    do
-        return
-    end
     if _G.is_middle == true then
         -- 中心服起服获取信息
         print("[CommerceAct_Init] 中心服起服请求数据开始")
@@ -517,10 +496,6 @@ end
 
 -- 是否还在活动期间
 function CommerceAct_IsRun()
-    do
-        return false
-    end
-
     if not tCommerceActInfo then
         return false
     end
@@ -539,10 +514,6 @@ function onLogin(human, funcID)
         return
     end
 
-    do
-        return
-    end
-
     -- 下发活动基础数据
     if true == CommerceAct_IsRun() then
         print("[CommerceManger_onLogin] 玩家进入进行注册")
@@ -608,7 +579,7 @@ function onLogin(human, funcID)
 
         -- 全服邮件
         local bSendServerMail = CommerveManager_GetHumanSendServerMail(human)
-        if false == bSendServerMail and true == tCommonDBData.nSendRankMail then
+        if false == bSendServerMail and 1 == tCommonDBData.nSendRankMail then
             print("[CommerceManger_onLogin] 全服邮件奖励开始发送 name = "..human.db.name)
             CommerveManager_SetHumanSendServerMail(human, true)
             ServerCommerceActRank.CommercerActRank_SendServerMailHumanLogin(human)
@@ -637,10 +608,6 @@ function isRed(human, YYInfo, funcConfig)
         return
     end
 
-    do
-        return
-    end
-
     if false == CommerceAct_CheckOpenDay() then
         return
     end
@@ -667,10 +634,6 @@ function onCharge(human, price, funcID, buyID)
         return
     end
 
-    do
-        return
-    end
-
     if false == CommerceAct_IsRun() then
         return
     end
@@ -698,9 +661,6 @@ end
 
 -- 增加整个服务器的点数
 function CommerveManager_AddServerPoint(nAddPoint)
-    do
-        return
-    end
     if false == CommerceAct_IsRun() then
         return
     end
@@ -722,10 +682,6 @@ end
 
 -- 增加个人积分
 function CommerveManager_AddHumanPint(human, nPoint)
-    do
-        return
-    end
-
     if false == CommerceAct_IsRun() then
         return 
     end
@@ -751,10 +707,12 @@ end
 
 -- 设置全服发送邮件奖励
 function CommerveManager_SetCommDBSendMail(nValue)
-    do
+    local tCommonDBData = CommonDB.GetCommerceActInfo()
+    if not tCommonDBData then
+        print("[CommerveManager_SetCommDBSendMail] 居然不存在对应的数据")
         return
     end
-    local tCommonDBData = CommonDB.GetCommerceActInfo()
+
     local tNewDBData =
     {
         nBeginTime = tCommonDBData.nBeginTime,
@@ -764,6 +722,8 @@ function CommerveManager_SetCommDBSendMail(nValue)
         nBatchID = tCommonDBData.nBatchID
     }
     CommonDB.SetCommerceActInfo(tNewDBData)
+    print("[CommerveManager_SetCommDBSendMail] 设置全服邮件奖信息结束")
+    table.print_lua_table(tNewDBData)
 end
 
 -- 获取全服发送邮件标识
@@ -829,7 +789,7 @@ end
 
 -- GM 发送邮件
 function CommerveManager_SendMail()
-    CommerveManager_SetCommDBSendMail(false)
+    CommerveManager_SetCommDBSendMail(0)
     CommerceAct_End()
 end
 
@@ -841,8 +801,23 @@ function CommerveManager_GMRest(human)
     CommerceAct_End()
     print("[CommerveManager_GMRest] 发送邮件处理完成")
     
-    CommonDB.SetCommerceActInfo({})
-    print("[CommerveManager_GMRest] 处理公共DB数据结束")
+    local nNowTime = os.time()
+    local nEndTime = nNowTime + (ServerCommerceActDefine.COMMERCEACT_LASTDAY - 1)* 86400
+    local tEndDate = os.date("*t",nEndTime)
+    tEndDate.hour = ServerCommerceActDefine.COMMERCEACT_ENDTIME
+    tEndDate.min = 0
+    tEndDate.sec = 0
+    nEndTime = os.time(tEndDate)
+
+    local tDBData = {
+        nBeginTime = nNowTime,
+        nEndTime = nEndTime,
+        nPoint = 0,
+        nSendRankMail = 0,
+        nBatchID = 1,
+    }
+    CommonDB.SetCommerceActInfo(tDBData)
+    print("[CommerveManager_GMRest] 重新设置公共DB数据结束")
 
     CommerceAct_ClearRankInfo()
     print("[CommerveManager_GMRest] 发送清理排行榜命令完成")
@@ -853,6 +828,26 @@ function CommerveManager_GMRest(human)
 end 
 
 function CommerveManager_GMRestCommonDB()
-    CommerceAct_CreateCommonDB()
+    local nNowTime = os.time()
+    local tCommerceInfo = CommonDB.GetCommerceActInfo()
+    local nEndTime = nNowTime + (ServerCommerceActDefine.COMMERCEACT_LASTDAY - 1)* 86400
+    local tEndDate = os.date("*t",nEndTime)
+    tEndDate.hour = ServerCommerceActDefine.COMMERCEACT_ENDTIME
+    tEndDate.min = 0
+    tEndDate.sec = 0
+    nEndTime = os.time(tEndDate)
+
+    local tDBData = {
+        nBeginTime = nNowTime,
+        nEndTime = nEndTime,
+        nPoint = 0,
+        nSendRankMail = 0,
+        nBatchID = 1,
+    }
+    CommonDB.SetCommerceActInfo(tDBData)
     print("[CommerveManager_GMRestCommonDB] 重置通用DB数据完成")
+end
+
+function CommerveManager_GMClearMiddleMail()
+    ServerCommerceMiddle.CommerceMiddle_GMClearMiddleMail()
 end

+ 6 - 0
script/module/serverCommerce/ServerCommerceMiddle.lua

@@ -205,4 +205,10 @@ function CommerceMiddle_ClearRank()
 
     tMsgData.nRankSubType = CommonDefine.COMMONRANK_SUB_TYPE_SERVERCOMMERCE_HUMAN
     InnerMsg.sendMsg(0, tMsgData)
+end
+
+function CommerceMiddle_GMClearMiddleMail()
+    local tMsgData = InnerMsg.lw.LW_COMMERCE_GM_CLEAR_MAIL
+    tMsgData.nSrcServerID = Config.SVR_INDEX
+    InnerMsg.sendMsg(0, tMsgData)
 end