Эх сурвалжийг харах

世界boss发放奖励删除memkey

cyzhao 3 сар өмнө
parent
commit
692e183202

+ 21 - 21
Gameserver/App/process/FightProc.php

@@ -1036,14 +1036,14 @@ class FightProc {
      * @param type $id
      */
     static function isFunUnlock($id) {
-        $funMo = GameConfig::fun_unlock_getItem($id);                 
+        $funMo = GameConfig::fun_unlock_getItem($id);
         if ($funMo->unlockType1 != null && self::unlockCondition($funMo->unlockType1, $funMo->unlockParas1)) {
             return true;
         }
 
         if ($funMo->unlockType2 != null && self::unlockCondition($funMo->unlockType2, $funMo->unlockParas2)) {
             return true;
-        }      
+        }
         return false;
     }
 
@@ -1055,7 +1055,7 @@ class FightProc {
         $funUnlock = false;
         switch ($conditionId) {
             case Enum_FunUnlockType::battle_Gate:
-                $gateId = $paras;                           
+                $gateId = $paras;
                 if (ctx()->gates->GateList->$gateId->fightNum > 0) {
                     $funUnlock = true;
                 }
@@ -1881,15 +1881,15 @@ class FightProc {
      */
     public static function triggerSettleRankReward_worldBoss() {
         //校验下是否处在发放奖励信息的时间点 【每个轮次最后一天的最后10分钟】                             
-        $mo = GameConfig::subfun_unlock_getItem(Enum_SubFunType::WorldBoss);       
-        
+        $mo = GameConfig::subfun_unlock_getItem(Enum_SubFunType::WorldBoss);
+
         if ($mo == null) {
             return;
         }
-        if(now() < $mo->startTs){
+        if (now() < $mo->startTs) {
             return;
         }
-        
+
         echo '----发放世界boss的排行奖励程序开始运行-----';
         $memKey = MemKey_GameRun::WorldBoss_StartTs(req()->zoneid);
         $mem = gMem();
@@ -1910,16 +1910,15 @@ class FightProc {
         $tomorrowMidnight = strtotime('tomorrow', now()); //明天0点时间
 
         $chaizhi = $tomorrowMidnight - now();
-        $damageMemKey = self::GetWorldBoss_DamageMemKey();
+        if ($yushu == 0 && $chaizhi <= 10 * 60) {
+            $damageMemKey = self::GetWorldBoss_DamageMemKey();
             echo '发放奖励的menkey===============:';
             echo "$damageMemKey";
-            if ($mem->exists($damageMemKey)) {               
+            if ($mem->exists($damageMemKey)) {
                 FightProc::settleRankReward_worldBoss();
+            }
         }
-        if ($yushu == 0 && $chaizhi <= 10 * 60) {
-            
-        }
-                
+
         echo '----世界boss的排行奖励-发放完成----';
     }
 
@@ -1934,27 +1933,28 @@ class FightProc {
         $index = 0;
         foreach ($dic as $id => $mo) {
             $list = gMem()->zrevrange($memKey, $mo->rank_start - 1, $mo->rank_end - 1, true);
-           
+
             if (count($list) == 0) {
                 continue;
             }
-            
+
             $index += 1;
-            foreach ($list as $uid => $score) {              
-                EmailProc::SendWorldBossRewardMail(req()->zoneid, $uid, $mo->reward);               
+            foreach ($list as $uid => $score) {
+                EmailProc::SendWorldBossRewardMail(req()->zoneid, $uid, $mo->reward);
             }
         }
-                
+        
+        gMem()->delete($memKey);
 //        $list = gMem()->zrevrange($memKey, 0, GameConfig::glc2()->WorldBoss_RankRewardStatistics, true);       
 //        if (count($list) <= 0) {
-//            gMem()->delete($memKey);
+//            
 //        }
     }
 
     /**
      * 重置每个赛季的开始时间 一个重置每个赛季的开始时间赛季完成后  排名数据清理掉  同时轮次要改变 [定时接口]
      */
-    public static function ResetWorldBossRank_StartTs() {       
+    public static function ResetWorldBossRank_StartTs() {
         $mo = GameConfig::subfun_unlock_getItem(Enum_SubFunType::WorldBoss);
         if ($mo == null) {
             return;
@@ -2177,7 +2177,7 @@ class FightProc {
     public static function WorldBoss_settle() {
         list($damageNum) = req()->paras; //战斗结束伤害值      
         //校验每个轮次最后10分钟, 不能战斗
-              
+
         my_Assert(FightProc::isFunUnlock(25), ErrCode::active_funUnlock);
         self::Ranking_DamageVal($damageNum);