paysystem.h

来自「天之炼狱1服务器端源文件游戏服务端不完整」· C头文件 代码 · 共 198 行

H
198
字号
//////////////////////////////////////////////////////////////////////////////// Filename   : PaySystem.h// Written by : sigi// Description : //////////////////////////////////////////////////////////////////////////////#ifndef __PAY_SYSTEM_H__#define __PAY_SYSTEM_H__#include "Types.h"#include "Timeval.h"#include "VSDateTime.h"#include "Exception.h"class Statement;//////////////////////////////////////////////////////////////////////////////// 夸陛力//////////////////////////////////////////////////////////////////////////////enum PayPlayType{	PAY_PLAY_TYPE_PERSON,   // 俺牢 夸陛	PAY_PLAY_TYPE_PCROOM,   // 霸烙规 夸陛	PAY_PLAY_TYPE_ETC,      // 扁鸥(构瘤.. 弊成 持绢狄 -_-;)	PAY_PLAY_TYPE_MAX};enum PayType{	PAY_TYPE_FREE,      // 公丰 荤侩磊	PAY_TYPE_PERIOD,    // 岿 荤侩磊	PAY_TYPE_TIME,      // 矫埃力 荤侩磊	PAY_TYPE_POST,		// 饶阂 矫埃力 荤侩磊    PAY_TYPE_MAX};enum PayIPType{    PAY_IP_TYPE_ALL,        // IP傈眉    PAY_IP_TYPE_LIMIT,      // 悼矫立加 荤侩措荐 力茄    PAY_IP_TYPE_ASSIGN,     // 漂沥IP    PAY_IP_TYPE_MAX};enum FamilyPayPartyType{	FAMILY_PAY_PARTY_TYPE_NONE,	FAMILY_PAY_PARTY_TYPE_FREE_PASS,		// 菩剐府 夸陛力 颇萍 蜡丰粮 免涝啊瓷	FAMILY_PAY_PARTY_TYPE_FREE_PASS_END,	// 菩剐府 夸陛力 颇萍 蜡丰粮 免涝啊瓷 场};#define PAY_PLAY_FLAG_ALL			0xFFFF#define PAY_PLAY_FLAG_ZONE			0x0001#define __PAY_SYSTEM_ZONE__			// Zone 免涝咯何俊 PaySystem阑 利侩//#define __PAY_SYSTEM_LOGIN__		// Login咯何俊 PaySystem阑 利侩//#define __PAY_SYSTEM_FREE_LIMIT__		// 霸烙 阂啊 荤侩磊牢 版快, 磊眉 公丰 辑厚胶肺..//////////////////////////////////////////////////////////////////////////////// class PaySystem//////////////////////////////////////////////////////////////////////////////class PaySystem{public:	PaySystem();	~PaySystem();	PayPlayType   	getPayPlayType() const			{ return m_PayPlayType; }	void   			setPayPlayType(PayPlayType ppt)	{ m_PayPlayType = ppt; }	uint   			getPCRoomID() const			{ return m_PCRoomID; }	void   			setPCRoomID(uint id)	{ m_PCRoomID = id; }	PayType     	getPayType() const				{ return m_PayType; }	void     		setPayType(PayType pt) 			{ m_PayType = pt; }	PayIPType   	getPayIPType() const			{ return m_PayIPType; }	void   			setPayIPType(PayIPType pipt) 	{ m_PayIPType = pipt; }	uint		   	getPayPlayFlag() const			{ return m_PayPlayFlag; }	void   			setPayPlayFlag(uint ppf)		{ m_PayPlayFlag = ppf; }	bool			hasPayPlayFlag(uint flag) const	{ return m_PayPlayFlag & flag; }	void			setPayPlayAvailableDateTime(const string& pat) throw (Error);	const VSDateTime& getPayPlayAvailableDateTime() const	{ return m_PayPlayAvailableDateTime; }	// 攫力鳖瘤 play啊瓷茄啊?	void			setFamilyPayPlayAvailableDateTime(const string& pat) throw (Error);	const VSDateTime& getFamilyPayPlayAvailableDateTime() const	{ return m_FamilyPayPlayAvailableDateTime; }	// 攫力鳖瘤 play啊瓷茄啊?	void			setPayStartAvailableDateTime(const string& pat) throw (Error);	const VSDateTime& getPayStartAvailableDateTime() const	{ return m_PayStartAvailableDateTime; }	// 攫力何磐 play啊瓷茄啊?	Timeval			getPayPlayTime(const Timeval& currentTime) const	{ return timediff(m_PayPlayStartTime, currentTime); }	void			setPayPlayStartTime(const Timeval& tv)	{ m_PayPlayStartTime = tv; }	void			setPayPlayAvailableHours(int h) { m_PayPlayAvailableHours = h; }	int 			getPayPlayAvailableHours() const 		{ return m_PayPlayAvailableHours; }public :	// 荤侩 啊瓷茄瘤 眉农	bool			checkPayPlayAvailable();	// 老窜 蔼父 汲沥	void 			setPayPlayValue(PayType payType,									const string& payPlayDate, int payPlayHours, uint payPlayFlag, const string& familyPayPlayDate = "");		// pay矫累	bool 			loginPayPlay(PayType payType,								const string& payPlayDate, int payPlayHours, uint payPlayFlag,								const string& ip, const string& playerID)											throw (Error);	// pay矫累	bool 			loginPayPlay(const string& ip, const string& playerID)											throw (Error);		// pay 矫埃 update 殿..	bool			updatePayPlayTime(const string& playerID,										const VSDateTime& currentDateTime, 										const Timeval& currentTime) throw (ProtocolException, Error);	// pay场	void			logoutPayPlay(const string& playerID, bool bClear=false, bool bDecreaseTime=true) throw (Error);	//	bool			isPayPlaying() const	{ return m_PayPlayStartTime.tv_sec!=0; }	void			setPremiumPlay(bool bPremium=true) 		{ m_bPremiumPlay = bPremium; }	bool			isPremiumPlay() const	{ return m_bPremiumPlay; }	void			setFamilyPayAvailable(bool bFamilyPayAvailable=true)	{ m_bFamilyPayAvailable = bFamilyPayAvailable; }	bool			isFamilyPayAvailable() const	{ return m_bFamilyPayAvailable; }	void			setFamilyPayPartyType(FamilyPayPartyType familyPayPartyType)	{ m_FamilyPayPartyType = familyPayPartyType; }	bool			isFamilyFreePass() const	{ return m_FamilyPayPartyType == FAMILY_PAY_PARTY_TYPE_FREE_PASS; }	bool			isFamilyFreePassEnd() const	{ return m_FamilyPayPartyType == FAMILY_PAY_PARTY_TYPE_FREE_PASS_END; }	void			setPCRoomPlay(bool bPCRoom = true) 		{ m_bPCRoomPlay = bPCRoom; }	bool			isPCRoomPlay() const	{ return m_bPCRoomPlay; }	// 俺牢 蜡丰 沥咀 荤侩磊牢啊?	static bool		isPayPlayingPeriodPersonal(const string& PlayerID) throw (Error);	bool			isPlayInPayPCRoom( const string& ip, const string& playerID ) throw (Error);protected :	// PC规牢 版快狼 贸府	bool		loginPayPlayPCRoom(const string& ip, const string& playerID) throw (Error);	void		logoutPayPlayPCRoom(const string& playerID) throw (Error);	// 沥樊力牢 版快 矫埃 临老锭..	void		decreasePayPlayTime(const string& playerID, uint mm) throw (Error);	void		decreasePayPlayTimePCRoom(uint mm) throw (Error);	// 捞惑茄 沥咀力 内靛	void		increasePayPlayTimePCRoom(uint mm) throw (Error);	// 葛电 Pay沥焊甫 昏力窍绊, 公丰 荤侩磊肺 父电促. by sigi. 2002.11.18	void		clearPayPlayDateTime(const string& playerID) throw (Error);protected:	bool			m_bSetPersonValue;			// 蔼捞 汲沥登菌唱.	PayPlayType   	m_PayPlayType;        		// 俺牢/白规..	ObjectID_t		m_PCRoomID;					// PC规 ID	uint			m_UserLimit;				// 荤侩磊 箭磊 力茄(辆樊力)	uint			m_UserMax;					// 荤侩磊 箭磊 弥措力茄(沥樊力)		PayType     	m_PayType;          		// 公丰/矫埃/扁埃/扁鸥..	PayIPType   	m_PayIPType;        		// 霸烙规牢 版快狼 IP type	VSDateTime	    m_PayStartAvailableDateTime;	// 攫力何磐 play啊瓷茄啊?	VSDateTime	    m_PayPlayAvailableDateTime;	// 攫力鳖瘤 play啊瓷茄啊?	int				m_PayPlayAvailableHours;	// 荤侩 啊瓷茄 矫埃(矫埃力牢 版快)	Timeval 	   	m_PayPlayStartTime;         // 立加秦辑 play茄 矫埃	VSDateTime	    m_FamilyPayPlayAvailableDateTime;	// 攫力鳖瘤 Family Pay play啊 啊瓷茄啊?	uint			m_PayPlayFlag;				// 荤侩啊瓷茄 辑厚胶	bool			m_bPremiumPlay;	bool			m_bPCRoomPlay;				// PC 规 荤侩磊牢啊?												// PC 规 蜡历 力茄俊 惑包绝捞 蜡丰 利侩 吝牢 PC 规俊辑 敲饭捞窍绊 乐绰啊?	bool			m_bFamilyPayAvailable;		// 菩剐府 夸陛力 荤侩磊牢啊?	FamilyPayPartyType	m_FamilyPayPartyType;	// 菩剐府 夸陛力 颇萍 利侩 鸥涝};#endif

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?