Move git root from Client/ to src/ to track all source code: - Client: Game client source (moved to Client/Client/) - Server: Game server source - GameTools: Development tools - CryptoSource: Encryption utilities - database: Database scripts - Script: Game scripts - rylCoder_16.02.2008_src: Legacy coder tools - GMFont, Game: Additional resources 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
129 lines
6.9 KiB
C++
129 lines
6.9 KiB
C++
#ifndef _RYL_ADMIN_MGR_DB_H_
|
||
#define _RYL_ADMIN_MGR_DB_H_
|
||
|
||
#include <RylServerLibrary/DB/DBComponent.h>
|
||
|
||
// Äõ¸® ¸ðÀ½
|
||
namespace QUERYZ
|
||
{
|
||
const char LoginInfo[] = "SELECT uid, strAdminID, strPasswd, strLevel, strName, strIP, CONVERT(varchar(11),dateRegit,102) FROM TblToolAdmin WHERE strAdminID = '%s'";
|
||
const char NewAdminAck[] = "SELECT strAdminID, strName, strIP, convert(varchar(11),dateRegit,102), strLevel FROM TblToolAdmin WHERE strAdminID='%s'";
|
||
const char LoginList[] = "SELECT LogID, CONVERT( varchar(20), Login, 120 ), CONVERT(varchar(20), Logout, 120 ), UseIP FROM TblLog WHERE UID=%d" ;
|
||
const char DetailLog[] = "SELECT DetailLogID, CONVERT(varchar(20), UpdateDate, 120), UpdateType FROM TblDetailLog WHERE LogID=%d" ;
|
||
const char ExitLog[] = "SELECT UseMsg FROM TblLog WHERE LogID = %d";
|
||
const char AdminList[] = "SELECT strAdminID, strName, strIP, CONVERT(varchar(11),dateRegit,102), strLevel FROM TblToolAdmin" ;
|
||
const char InsertDetailLog[] = "INSERT INTO TblDetailLog(LogID, UpdateType, Before, After) VALUES(%d, %d, '%s', '%s')";
|
||
const char BeforeAfter[] = "SELECT Before, After FROM TblDetailLog WHERE DetailLogID=%d" ;
|
||
const char GetLevel[] = "SELECT strLevel FROM TblToolAdmin WHERE strAdminID='%s'" ;
|
||
const char GetIP[] = "SELECT strIP FROM TblToolAdmin WHERE strAdminID='%s'" ;
|
||
const char GetPassword[] = "SELECT strPasswd FROM TblToolAdmin WHERE strAdminID='%s'" ;
|
||
const char GetDelHistory[] = "SELECT intCID, intUID, NewServerGroupID, OldServerGroupID, CONVERT(varchar(20), dateInsertTime, 120), CONVERT(varchar(20), dateDeleteTime, 120), Name, CAST(Level as INT), Gold FROM TblCharDelHistory JOIN CharInfo ON TblCharDelHistory.intCID = CharInfo.CID WHERE %s=%d AND NewServerGroupID = %u";
|
||
const char GetGuildInfo[] = "SELECT A.nGuildID, CAST(OldServerGroupID AS INT), strGuildName, CAST(tnGuildLevel AS INT), nGuildFame, nGuildGold, CAST(tnNationType as INT) FROM TblGuildInfo A JOIN TblGuildMember B ON A.nGuildID =B.nGuildID %s GROUP BY A.nGuildID, CAST(OldServerGroupID AS INT), strGuildName, CAST(tnGuildLevel as INT), nGuildFame, nGuildGold, CAST(tnNationType as INT)";
|
||
const char GetFortInfo[] = "SELECT A.nCampID, A.nGuildID, B.strGuildName, A.nHP, A.tnZone, A.tnChannel, A.snObjectType, A.tnState, A.tnSubState, A.tnUpgradeStep,"
|
||
"CONVERT(varchar(20), RemainTime, 120), CONVERT(varchar(20), LastUseTime, 120), A.fPosX, A.fPosY, A.fPosZ, A.tnMaterial, A.tnSiegeCount, A.bRight "
|
||
"FROM TblCampInfo A INNER JOIN TblGuildInfo B ON A.nGuildID = B.nGuildID %s"
|
||
"GROUP BY A.nCampID, A.nGuildID, B.strGuildName, A.nHP, A.tnZone, A.tnChannel, A.snObjectType,A.tnState, A.tnSubState, A.tnUpgradeStep,"
|
||
"CONVERT(varchar(20), RemainTime, 120), CONVERT(varchar(20), LastUseTime, 120), A.bRight, A.fPosX, A.fPosY, A.fPosZ, A.tnMaterial, A.tnSiegeCount";
|
||
const char GetMiningCamp[] = "SELECT * FROM TblCampMineralInfo %s";
|
||
const char GetShopCamp[] = "SELECT * FROM TblCampShopInfo %s";
|
||
const char GetCastleInfo[] = "SELECT * FROM TblCastleInfo %s";
|
||
const char GetCastleCreatureInfo[] = "SELECT nCreatureID, nCastleID, nOwnerID, nHP, snObjectType, fDirection, tnState, tnSubState, tnUpgradeStep, tnUpgradeType, "
|
||
"CONVERT(varchar(20), RemainTime, 120), CONVERT(varchar(20), LastUseTime, 120), fPosX, fPosY, fPosZ FROM TblCastleCreatureInfo %s";
|
||
const char GetGuildMemberList[] = "SELECT nGuildID, nCID, nPosition, nPositionInGuild, CONVERT(varchar(20), tLeaveGuildTime, 120), Name, CAST(Level as INT), Fame, Class, Gold FROM TblGuildMember JOIN CharInfo ON TblGuildMember.nCID = CharInfo.CID WHERE nGuildID = %s";
|
||
const char GetGuildRestoreData[] = "SELECT nGuildID, strGuildName, nGuildGold, CONVERT(varchar(20), tDeleteTime, 120) FROM TblGuildRestoreData";
|
||
// edith 2009.08.14 °ü½ÉÀ¯Àú ¹ö±×¼öÁ¤ (ROW_Activity DB»ç¿ë)
|
||
const char GetUserBillingLog[] = "SELECT strClientid, UID, CAST(tinyServerID AS INT), CONVERT(VARCHAR(20), FirstLoginTime, 120), CONVERT(VARCHAR(20), LogoutTime, 120), CAST(strIP AS VARCHAR(16)) FROM TblCurrentUser WHERE %s ORDER BY FirstLoginTime";
|
||
// const char GetUserBillingLog[] = "SELECT strClientid, UID, CAST(tinyServerID AS INT), CONVERT(VARCHAR(20), FirstLoginTime, 120), CONVERT(VARCHAR(20), LogoutTime, 120), CAST(strIP AS VARCHAR(16)) FROM TblCurrentUser_Log WHERE %s ORDER BY FirstLoginTime";
|
||
};
|
||
|
||
// ´Ü¼ø ÂüÁ¶¿ë
|
||
namespace PktAdminMgr
|
||
{
|
||
struct PktNewAdmin;
|
||
struct PktUpdateLevel;
|
||
struct PktUpdateIP;
|
||
struct PktUpdatePasswd;
|
||
struct PktAddBlockUser;
|
||
struct PktDelBlockUser;
|
||
struct PktInterestedUser;
|
||
struct PktGMLogMsg;
|
||
};
|
||
|
||
/*!
|
||
\class CDBAdminTool
|
||
¿î¿µÅø µ¥ÀÌÅÍ º£À̽º
|
||
*/
|
||
class CDBAdminTool : public CDBComponent
|
||
{
|
||
public:
|
||
#pragma pack(1)
|
||
// °ü¸®ÀÚ ¾ÆÀÌÅÛ Ã¢°íÁ¤º¸
|
||
struct StoreInfo
|
||
{
|
||
enum TYPE
|
||
{
|
||
MAX_OWNER = 20,
|
||
MAX_ITEM_NAME = 32
|
||
};
|
||
|
||
unsigned char cServer;
|
||
unsigned char szOwner[MAX_OWNER];
|
||
unsigned char szItemName[MAX_ITEM_NAME];
|
||
};
|
||
|
||
// °ü¸®ÀÚ ¾ÆÀÌÅÛ Ã¢°íÁ¤º¸
|
||
struct ItemInfo
|
||
{
|
||
enum TYPE
|
||
{
|
||
MAX_ITEM_ATTRIB = 90,
|
||
};
|
||
|
||
unsigned long dwLength;
|
||
char ItemAttrib[MAX_ITEM_ATTRIB];
|
||
};
|
||
#pragma pack()
|
||
|
||
public:
|
||
|
||
static CDBAdminTool& GetInstance();
|
||
|
||
bool ConnectAdminToolDB(); // SQL¼¹ö Á¢¼Ó
|
||
|
||
BYTE Login(char* szAccount, char* szPassword); // ·Î±×ÀÎ
|
||
BYTE CheckIP(char* AdminID, char* szIP); // ¾ÆÀÌÇÇ Ã¼Å©
|
||
bool AccountCheck(char* AdminID); // Áߺ¹¿©ºÎ °Ë»ç
|
||
BYTE NewAdmin(PktAdminMgr::PktNewAdmin* NewAdmin); // »õ·Î¿î °èÁ¤ »ý¼º
|
||
bool DelAdmin(char* AdminID); // °èÁ¤ »èÁ¦
|
||
bool UpdateLevel(PktAdminMgr::PktUpdateLevel* UpdateLev); // °èÁ¤ µî±Þ º¯°æ
|
||
bool UpdateIP(PktAdminMgr::PktUpdateIP* UpdateIP); // °èÁ¤ Á¢¼Ó IPº¯°æ
|
||
bool UpdatePasswd(PktAdminMgr::PktUpdatePasswd* UpdatePwd); // °èÁ¤ ÆÐ½º¿öµå º¯°æ
|
||
bool GetDate(char* DateTime); // ½Ã°£À» °¡Á®¿Â´Ù
|
||
bool StartupLog(unsigned int UID, char* UseIP); // ·Î±×ÀÎÇÔ°ú µ¿½Ã¿¡ È£Ãâ. ±âº» ¼ÂÆÃ
|
||
bool EndLog(unsigned int UID); // ·Î±×¾Æ¿ô Á¤º¸ ±â·Ï
|
||
int GetMyUID(char* szAccount); // ÇØ´ç°èÁ¤ÀÇ UID¸¦ °¡Á®¿Â´Ù
|
||
int GetNowLogID(unsigned int UID); // ÇöÀç »ç¿ëÁßÀÎ TblLogÀÇ LogID¸¦ °¡Á®¿Â´Ù
|
||
bool UpdateLogoutDate(int LogID, char* szDate); // ·Î±×¾Æ¿ôÇÑ ³¯Â¥¿Í ½Ã°£
|
||
bool UpdateExitLog(unsigned int LogID, char* szExitLog); // »ç¿ë»çÀ¯ ¾÷µ¥ÀÌÆ®
|
||
bool UpdateZoneList(unsigned int UID, char* In_Data); // Á¸ Á¤º¸ ÀúÀå
|
||
bool GetZoneList(unsigned int UID, char* Out_Data); // Á¸ Á¤º¸ °¡Á®¿À±â
|
||
|
||
// ºí·°
|
||
bool AddBlockUser(PktAdminMgr::PktAddBlockUser* lpBlock, char* lpAdminName, char* szClientID); // ºí·°
|
||
bool DelBlockUser(PktAdminMgr::PktDelBlockUser* lpDelBlock); // ºí·° ÇØÁ¦
|
||
|
||
// GM ·Î±× ¸Þ¼¼Áö ³²±â±â
|
||
bool IsExistLogMsg(PktAdminMgr::PktGMLogMsg* lpPktGMLogMsg);
|
||
bool InsertGMLogMsg(PktAdminMgr::PktGMLogMsg* lpPktGMLogMsg, char* szAdminID);
|
||
bool UpdateGMLogMsg(PktAdminMgr::PktGMLogMsg* lpPktGMLogMsg, char* szAdminID);
|
||
bool DeleteGMLogMsg(PktAdminMgr::PktGMLogMsg* lpPktGMLogMsg);
|
||
|
||
private:
|
||
|
||
CDBAdminTool() { ;}
|
||
virtual ~CDBAdminTool() { ;}
|
||
|
||
char m_szQry[MAX_QUERY_LENGTH];
|
||
};
|
||
|
||
#endif |