2024-12-21 10:04:04 +08:00
|
|
|
|
|
|
|
|
|
|
#pragma once
|
|
|
|
|
|
|
|
|
|
|
|
class CDNUserSession;
|
|
|
|
|
|
|
|
|
|
|
|
namespace GuildRecruitSystem
|
|
|
|
|
|
{
|
|
|
|
|
|
const DWORD CACHETICK = (1000*30); // 30<33><30>
|
|
|
|
|
|
const DWORD CACHECLEARTICK = (1000*60*10); // 10<31><30>
|
|
|
|
|
|
|
|
|
|
|
|
class CCacheRepository:public CSingleton<CCacheRepository>
|
|
|
|
|
|
{
|
|
|
|
|
|
public:
|
|
|
|
|
|
|
|
|
|
|
|
CCacheRepository():m_dwCacheTick(0),m_uiCacheClearCount(0)
|
|
|
|
|
|
{
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
#if defined( PRE_ADD_GUILD_EASYSYSTEM )
|
|
|
|
|
|
void GetGuildRecruitList( CDNUserSession* pSession, UINT uiPage, BYTE cJob, BYTE cLevel, BYTE cPurposeCode, WCHAR* wszGuildName, BYTE cSortType );
|
|
|
|
|
|
#else
|
|
|
|
|
|
void GetGuildRecruitList( CDNUserSession* pSession, UINT uiPage, BYTE cJob, BYTE cLevel );
|
|
|
|
|
|
#endif
|
|
|
|
|
|
void SetGuildRecruitList( CDNUserSession* pSession, TAGetGuildRecruit* pData );
|
|
|
|
|
|
|
|
|
|
|
|
void GetGuildRecruitCharacter( CDNUserSession* pSession, TGuildUID GuildUID );
|
|
|
|
|
|
void SetGuildRecruitCharacter( CDNUserSession* pSession, TAGetGuildRecruitCharacter* pData );
|
|
|
|
|
|
void DelGuildRecruitCharacter( TGuildUID GuildUID );
|
|
|
|
|
|
|
|
|
|
|
|
void GetMyGuildRecruit( CDNUserSession* pSession );
|
|
|
|
|
|
void SetMyGuildRecruit( CDNUserSession* pSession, TAGetMyGuildRecruit* pData );
|
|
|
|
|
|
void DelMyGuildRecruit( CDNUserSession* pSession );
|
|
|
|
|
|
|
|
|
|
|
|
void ClearCache();
|
|
|
|
|
|
|
|
|
|
|
|
private:
|
|
|
|
|
|
|
|
|
|
|
|
CSyncLock m_Sync;
|
|
|
|
|
|
|
|
|
|
|
|
DWORD m_dwCacheTick;
|
|
|
|
|
|
UINT m_uiCacheClearCount;
|
|
|
|
|
|
|
|
|
|
|
|
//#####################################################################################
|
|
|
|
|
|
// [0]MGuildRecruitList <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Խ<EFBFBD><D4BD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
//#####################################################################################
|
|
|
|
|
|
// Key:<Page,Job,Level> : Value:<Tick,Data>
|
|
|
|
|
|
//#####################################################################################
|
|
|
|
|
|
|
|
|
|
|
|
#if defined( PRE_ADD_GUILD_EASYSYSTEM )
|
|
|
|
|
|
typedef std::map< std::tr1::tuple<UINT,BYTE,int,BYTE,BYTE,WCHAR>, std::pair<DWORD,std::vector<TGuildRecruitInfo>> > MGuildRecruitList;
|
|
|
|
|
|
#else
|
|
|
|
|
|
typedef std::map< std::tr1::tuple<UINT,BYTE,int>, std::pair<DWORD,std::vector<TGuildRecruitInfo>> > MGuildRecruitList;
|
|
|
|
|
|
#endif
|
|
|
|
|
|
typedef MGuildRecruitList::iterator MMGuildRecruitListItor;
|
|
|
|
|
|
|
|
|
|
|
|
MGuildRecruitList m_mGuildRecruitList;
|
|
|
|
|
|
|
|
|
|
|
|
//#####################################################################################
|
|
|
|
|
|
// [1]MGuildRecruitCharacterList <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Խ<EFBFBD><D4BD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>ؼ<EFBFBD> <20><><EFBFBD>Խ<EFBFBD>û<EFBFBD><C3BB> <20><> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>(<28><><EFBFBD><EFBFBD> <20>߽<EFBFBD>)
|
|
|
|
|
|
//#####################################################################################
|
|
|
|
|
|
// Key:<3A><><EFBFBD><EFBFBD> UID : value:<Tick,Data>
|
|
|
|
|
|
//#####################################################################################
|
|
|
|
|
|
|
|
|
|
|
|
typedef std::map< TGuildUID, std::pair<DWORD,std::vector<TGuildRecruitCharacter>> > MGuildRecruitCharacterList;
|
|
|
|
|
|
typedef MGuildRecruitCharacterList::iterator MGuildRecruitCharacterListItor;
|
|
|
|
|
|
|
|
|
|
|
|
MGuildRecruitCharacterList m_mGuildRecruitCharacterList;
|
|
|
|
|
|
|
|
|
|
|
|
//#####################################################################################
|
|
|
|
|
|
// [2]MMyGuildRecruitList <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Խ<EFBFBD><D4BD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD>Խ<EFBFBD>û<EFBFBD><C3BB> <20><> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>(<28><><EFBFBD><EFBFBD> <20>߽<EFBFBD>)
|
|
|
|
|
|
//#####################################################################################
|
|
|
|
|
|
// Key:CharacterDBID : value:<Tick,Data>
|
|
|
|
|
|
//#####################################################################################
|
|
|
|
|
|
|
|
|
|
|
|
typedef std::map< INT64, std::pair<DWORD,std::vector<TGuildRecruitInfo>> > MMyGuildRecruitList;
|
|
|
|
|
|
typedef MMyGuildRecruitList::iterator MMyGuildRecruitListItor;
|
|
|
|
|
|
|
|
|
|
|
|
MMyGuildRecruitList m_mMyGuildRecruitList;
|
|
|
|
|
|
};
|
|
|
|
|
|
}
|