2025-06-04 05:02:57 +08:00

68 lines
1.5 KiB
Plaintext
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

-- 郵件 對應伺服器郵件系統ServiceSessionMailProxy
PostProxy = class('PostProxy', pm.Proxy)
PostProxy.Instance = nil;
PostProxy.NAME = "PostProxy"
autoImport("PostData");
function PostProxy:ctor(proxyName, data)
self.proxyName = proxyName or PostProxy.NAME
if(PostProxy.Instance == nil) then
PostProxy.Instance = self
end
if data ~= nil then
self:setData(data)
end
self.postDatas = {};
end
function PostProxy:AddUpdatePostDatas(mailDatas)
for i=1,#mailDatas do
local mailData = mailDatas[i];
if(mailData and mailData.id)then
local postData = self.postDatas[mailData.id];
if(not postData)then
postData = PostData.new(mailData);
self.postDatas[mailData.id] = postData;
else
postData:SetData(mailData);
end
end
end
end
function PostProxy:RemovePostData(deletes)
for i=1,#deletes do
local id = deletes[i];
if(self.postDatas[id])then
self.postDatas[id] = nil;
end
end
end
local result = {}
function PostProxy:GetPostList()
TableUtility.ArrayClear(result)
for k,v in pairs(self.postDatas)do
if self:IsExpire(v.time) then
ServiceSessionMailProxy.Instance:CallGetMailAttach(v.id)
else
table.insert(result, v)
end
end
table.sort(result ,function(l,r)
return l.time > r.time
end)
return result
end
function PostProxy:IsExpire(serverTime)
local offlineSec = ServerTime.CurServerTime()/1000 - serverTime
local offlineDay = math.floor(offlineSec / 86400)
if offlineDay > GameConfig.System.sysmail_overtime then
return true
end
return false
end