From 7473f41b83c2921add6c7e41ff2459bb9260a8d7 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期六, 27 四月 2019 17:18:59 +0800
Subject: [PATCH] 6628 【2.0】【后端】查看玩家装备和查看玩家战力功能(定期删除过期查看玩家缓存,暂定30天未登录更新数据且不在榜上的删除)

---
 ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerViewCache.py    |   24 ++++++++++++++++++++++++
 ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerEventCounter.py |    4 +++-
 2 files changed, 27 insertions(+), 1 deletions(-)

diff --git a/ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerEventCounter.py b/ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerEventCounter.py
index 4294f66..28cf71e 100644
--- a/ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerEventCounter.py
+++ b/ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerEventCounter.py
@@ -24,7 +24,7 @@
 import datetime
 import PlayerFamily
 import PlayerDBGSEvent
-import GameWorldActionControl
+import PlayerViewCache
 import PlayerFBHelpBattle
 import PlayerFairyDomain
 import ChPyNetSendPack
@@ -77,6 +77,8 @@
     PlayerDuJie.OnDayEx()
     #副本助战
     PlayerFBHelpBattle.HelpBattleOnDay()
+    #玩家缓存
+    PlayerViewCache.DelOutofTimeViewCacheData()
     #缥缈OnDay
     PlayerFairyDomain.OnDayEx()
     playerManager = GameWorld.GetPlayerManager()
diff --git a/ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerViewCache.py b/ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerViewCache.py
index 40691df..b563069 100644
--- a/ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerViewCache.py
+++ b/ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerViewCache.py
@@ -29,6 +29,11 @@
 import ChConfig
 
 import json
+import time
+
+def DoOnDay():
+    DelOutofTimeViewCacheData()
+    return
 
 def IsSaveDBViewCache(playerID, playerLV):
     ## 是否保存基本的缓存数据
@@ -57,6 +62,25 @@
         
     return False
 
+def DelOutofTimeViewCacheData():
+    ## 删除过期的查看缓存数据
+    
+    curTime = int(time.time())
+    MaxTime = 30 * 3600 * 24 # 30天
+    
+    pyViewCacheMgr = PyDataManager.GetPlayerViewCachePyManager()
+    playerViewCachePyDict = pyViewCacheMgr.playerViewCachePyDict
+    for playerID, viewCache in playerViewCachePyDict.items():
+        
+        passTime = curTime - viewCache.OffTime
+        if passTime < MaxTime:
+            continue
+        if IsSaveAllViewCache(playerID):
+            continue
+        playerViewCachePyDict.pop(playerID)
+        
+    return
+
 def DeleteViewCache(playerID):
     ## 删除玩家缓存
     pyViewCacheMgr = PyDataManager.GetPlayerViewCachePyManager()

--
Gitblit v1.8.0