From e6eac43909910a7b146d38e37776c9c54b80a474 Mon Sep 17 00:00:00 2001 From: milimoe Date: Fri, 24 Nov 2023 20:54:51 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96SQLScript?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Library/SQLScript/Common/Common.cs | 6 ++++-- Library/SQLScript/Common/VerifyCodes.cs | 20 +++++++++---------- Library/SQLScript/Entity/RoomQuery.cs | 26 +++++++++++++++++-------- Library/SQLScript/Entity/UserQuery.cs | 24 +++++++++++------------ 4 files changed, 44 insertions(+), 32 deletions(-) diff --git a/Library/SQLScript/Common/Common.cs b/Library/SQLScript/Common/Common.cs index b52b4cb..d8e9b36 100644 --- a/Library/SQLScript/Common/Common.cs +++ b/Library/SQLScript/Common/Common.cs @@ -21,13 +21,15 @@ public const string Command_LeftJoin = "Left Join"; public const string Command_InnerJoin = "Inner Join"; public const string Command_RightJoin = "Right Join"; + public const string Command_CrossJoin = "Cross Join"; public const string Command_On = "On"; + public const string Command_In = "In"; } } namespace Milimoe.FunGame.Core.Library.SQLScript.Common { - public class ServerLoginLogs + public class ServerLoginLogs : Constant { public const string TableName = "ServerLoginLogs"; public const string Column_ServerName = "ServerName"; @@ -36,7 +38,7 @@ namespace Milimoe.FunGame.Core.Library.SQLScript.Common public static string Insert_ServerLoginLogs(string ServerName, string ServerKey) { - return $"{Constant.Command_Insert} {Constant.Command_Into} {TableName} ({Column_ServerName}, {Column_ServerKey}, {Column_LoginTime}) {Constant.Command_Values} ('{ServerName}', '{ServerKey}', '{DateTime.Now}')"; + return $"{Command_Insert} {Command_Into} {TableName} ({Column_ServerName}, {Column_ServerKey}, {Column_LoginTime}) {Command_Values} ('{ServerName}', '{ServerKey}', '{DateTime.Now}')"; } } } diff --git a/Library/SQLScript/Common/VerifyCodes.cs b/Library/SQLScript/Common/VerifyCodes.cs index fb8a868..f1c5011 100644 --- a/Library/SQLScript/Common/VerifyCodes.cs +++ b/Library/SQLScript/Common/VerifyCodes.cs @@ -1,6 +1,6 @@ namespace Milimoe.FunGame.Core.Library.SQLScript.Common { - public class RegVerifyCodes + public class RegVerifyCodes : Constant { public const string TableName = "RegVerifyCodes"; public const string Column_Username = "Username"; @@ -10,26 +10,26 @@ public static string Insert_RegVerifyCode(string Username, string Email, string RegVerifyCodes) { - return $"{Constant.Command_Insert} {Constant.Command_Into} {TableName} ({Column_Username}, {Column_Email}, {Column_RegVerifyCode}, {Column_RegTime}) {Constant.Command_Values} ('{Username}', '{Email}', '{RegVerifyCodes}', '{DateTime.Now}')"; + return $"{Command_Insert} {Command_Into} {TableName} ({Column_Username}, {Column_Email}, {Column_RegVerifyCode}, {Column_RegTime}) {Command_Values} ('{Username}', '{Email}', '{RegVerifyCodes}', '{DateTime.Now}')"; } public static string Select_RegVerifyCode(string Username, string Email, string RegVerifyCode) { - return $"{Constant.Command_Select} {Constant.Command_All} {Constant.Command_From} {TableName} {Constant.Command_Where} {Column_Username} = '{Username}' and {Column_Email} = '{Email}' and {Column_RegVerifyCode} = '{RegVerifyCode}'"; + return $"{Command_Select} {Command_All} {Command_From} {TableName} {Command_Where} {Column_Username} = '{Username}' and {Column_Email} = '{Email}' and {Column_RegVerifyCode} = '{RegVerifyCode}'"; } public static string Select_HasSentRegVerifyCode(string Username, string Email) { - return $"{Constant.Command_Select} {Constant.Command_All} {Constant.Command_From} {TableName} {Constant.Command_Where} {Column_Username} = '{Username}' and {Column_Email} = '{Email}'"; + return $"{Command_Select} {Command_All} {Command_From} {TableName} {Command_Where} {Column_Username} = '{Username}' and {Column_Email} = '{Email}'"; } public static string Delete_RegVerifyCode(string Username, string Email) { - return $"{Constant.Command_Delete} {Constant.Command_From} {TableName} {Constant.Command_Where} {Column_Username} = '{Username}' and {Column_Email} = '{Email}'"; + return $"{Command_Delete} {Command_From} {TableName} {Command_Where} {Column_Username} = '{Username}' and {Column_Email} = '{Email}'"; } } - public class ForgetVerifyCodes + public class ForgetVerifyCodes : Constant { public const string TableName = "ForgetVerifyCodes"; public const string Column_Username = "Username"; @@ -39,22 +39,22 @@ public static string Insert_ForgetVerifyCode(string Username, string Email, string ForgetVerifyCodes) { - return $"{Constant.Command_Insert} {Constant.Command_Into} {TableName} ({Column_Username}, {Column_Email}, {Column_ForgetVerifyCode}, {Column_SendTime}) {Constant.Command_Values} ('{Username}', '{Email}', '{ForgetVerifyCodes}', '{DateTime.Now}')"; + return $"{Command_Insert} {Command_Into} {TableName} ({Column_Username}, {Column_Email}, {Column_ForgetVerifyCode}, {Column_SendTime}) {Command_Values} ('{Username}', '{Email}', '{ForgetVerifyCodes}', '{DateTime.Now}')"; } public static string Select_ForgetVerifyCode(string Username, string Email, string ForgetVerifyCode) { - return $"{Constant.Command_Select} {Constant.Command_All} {Constant.Command_From} {TableName} {Constant.Command_Where} {Column_Username} = '{Username}' and {Column_Email} = '{Email}' and {Column_ForgetVerifyCode} = '{ForgetVerifyCode}'"; + return $"{Command_Select} {Command_All} {Command_From} {TableName} {Command_Where} {Column_Username} = '{Username}' and {Column_Email} = '{Email}' and {Column_ForgetVerifyCode} = '{ForgetVerifyCode}'"; } public static string Select_HasSentForgetVerifyCode(string Username, string Email) { - return $"{Constant.Command_Select} {Constant.Command_All} {Constant.Command_From} {TableName} {Constant.Command_Where} {Column_Username} = '{Username}' and {Column_Email} = '{Email}'"; + return $"{Command_Select} {Command_All} {Command_From} {TableName} {Command_Where} {Column_Username} = '{Username}' and {Column_Email} = '{Email}'"; } public static string Delete_ForgetVerifyCode(string Username, string Email) { - return $"{Constant.Command_Delete} {Constant.Command_From} {TableName} {Constant.Command_Where} {Column_Username} = '{Username}' and {Column_Email} = '{Email}'"; + return $"{Command_Delete} {Command_From} {TableName} {Command_Where} {Column_Username} = '{Username}' and {Column_Email} = '{Email}'"; } } } diff --git a/Library/SQLScript/Entity/RoomQuery.cs b/Library/SQLScript/Entity/RoomQuery.cs index bbcc34f..eda30d4 100644 --- a/Library/SQLScript/Entity/RoomQuery.cs +++ b/Library/SQLScript/Entity/RoomQuery.cs @@ -1,6 +1,6 @@ namespace Milimoe.FunGame.Core.Library.SQLScript.Entity { - public class RoomQuery + public class RoomQuery : Constant { public const string TableName = "Rooms"; public const string Column_ID = "Id"; @@ -12,8 +12,8 @@ public const string Column_RoomState = "RoomState"; public const string Column_HasPass = "HasPass"; public const string Column_Password = "Password"; - public const string Select_Rooms = $"{Constant.Command_Select} {TableName}.{Constant.Command_All}, {UserQuery.TableName}.{UserQuery.Column_Username} {Constant.Command_As} {Column_RoomMasterName} " + - $"{Constant.Command_From} {TableName} {Constant.Command_LeftJoin} {UserQuery.TableName} {Constant.Command_On} {UserQuery.TableName}.{UserQuery.Column_UID} = {TableName}.{Column_RoomMaster}"; + public const string Select_Rooms = $"{Command_Select} {TableName}.{Command_All}, {UserQuery.TableName}.{UserQuery.Column_Username} {Command_As} {Column_RoomMasterName} " + + $"{Command_From} {TableName} {Command_LeftJoin} {UserQuery.TableName} {Command_On} {UserQuery.TableName}.{UserQuery.Column_UID} = {TableName}.{Column_RoomMaster}"; public static string Insert_CreateRoom(string RoomID, long RoomMaster, Library.Constant.RoomType RoomType, string Password) { @@ -24,23 +24,33 @@ { HasPass = true; } - return $"{Constant.Command_Insert} {Constant.Command_Into} {TableName} ({Column_RoomID}, {Column_CreateTime}, {Column_RoomMaster}, {Column_RoomType}, {Column_RoomState}, {Column_HasPass}, {Column_Password})" + - $" {Constant.Command_Values} ('{RoomID}', '{NowTime}', {RoomMaster}, {(int)RoomType}, {(int)RoomState}, {(HasPass ? 1 : 0)}, '{Password}')"; + return $"{Command_Insert} {Command_Into} {TableName} ({Column_RoomID}, {Column_CreateTime}, {Column_RoomMaster}, {Column_RoomType}, {Column_RoomState}, {Column_HasPass}, {Column_Password})" + + $" {Command_Values} ('{RoomID}', '{NowTime}', {RoomMaster}, {(int)RoomType}, {(int)RoomState}, {(HasPass ? 1 : 0)}, '{Password}')"; } + public static string Delete_Rooms(params string[] roomids) + { + if (roomids.Length == 0) + { + string where = string.Join("', '", roomids); + return $"{Command_Delete} {Command_From} {TableName} {Command_Where} {Column_RoomID} {Command_In} ('{where}')"; + } + return $"{Command_Delete} {Command_From} {TableName}"; + } + public static string Delete_QuitRoom(string RoomID, long RoomMaster) { - return $"{Constant.Command_Delete} {Constant.Command_From} {TableName} {Constant.Command_Where} {Column_RoomID} = '{RoomID}' {Constant.Command_And} {Column_RoomMaster} = {RoomMaster}"; + return $"{Command_Delete} {Command_From} {TableName} {Command_Where} {Column_RoomID} = '{RoomID}' {Command_And} {Column_RoomMaster} = {RoomMaster}"; } public static string Update_QuitRoom(string RoomID, long OldRoomMaster, long NewRoomMaster) { - return $"{Constant.Command_Update} {TableName} {Constant.Command_Set} {Column_RoomMaster} = {NewRoomMaster} {Constant.Command_Where} {Column_RoomID} = '{RoomID}' {Constant.Command_And} {Column_RoomMaster} = {OldRoomMaster}"; + return $"{Command_Update} {TableName} {Command_Set} {Column_RoomMaster} = {NewRoomMaster} {Command_Where} {Column_RoomID} = '{RoomID}' {Command_And} {Column_RoomMaster} = {OldRoomMaster}"; } public static string Select_IsExistRoom(string RoomID) { - return $"{Constant.Command_Select} {Constant.Command_All} {Constant.Command_From} {TableName} {Constant.Command_Where} {Column_RoomID} = '{RoomID}'"; + return $"{Command_Select} {Command_All} {Command_From} {TableName} {Command_Where} {Column_RoomID} = '{RoomID}'"; } } } diff --git a/Library/SQLScript/Entity/UserQuery.cs b/Library/SQLScript/Entity/UserQuery.cs index f1a7a91..1df5742 100644 --- a/Library/SQLScript/Entity/UserQuery.cs +++ b/Library/SQLScript/Entity/UserQuery.cs @@ -1,6 +1,6 @@ namespace Milimoe.FunGame.Core.Library.SQLScript.Entity { - public class UserQuery + public class UserQuery : Constant { public const string TableName = "Users"; public const string Column_UID = "UID"; @@ -18,57 +18,57 @@ public const string Column_Materials = "Materials"; public const string Column_GameTime = "GameTime"; public const string Column_AutoKey = "AutoKey"; - public const string Select_Users = $"{Constant.Command_Select} {Constant.Command_All} {Constant.Command_From} {TableName}"; + public const string Select_Users = $"{Command_Select} {Command_All} {Command_From} {TableName}"; public static string Select_Users_LoginQuery(string Username, string Password) { - return $"{Select_Users} {Constant.Command_Where} {Column_Username} = '{Username}' and {Column_Password} = '{Password}'"; + return $"{Select_Users} {Command_Where} {Column_Username} = '{Username}' and {Column_Password} = '{Password}'"; } public static string Select_IsExistEmail(string Email) { - return $"{Select_Users} {Constant.Command_Where} {Column_Email} = '{Email}'"; + return $"{Select_Users} {Command_Where} {Column_Email} = '{Email}'"; } public static string Select_IsExistUsername(string Username) { - return $"{Select_Users} {Constant.Command_Where} {Column_Username} = '{Username}'"; + return $"{Select_Users} {Command_Where} {Column_Username} = '{Username}'"; } public static string Select_CheckEmailWithUsername(string Username, string email) { - return $"{Select_Users} {Constant.Command_Where} {Column_Username} = '{Username}' and {Column_Email} = '{email}'"; + return $"{Select_Users} {Command_Where} {Column_Username} = '{Username}' and {Column_Email} = '{email}'"; } public static string Select_Users_Where(string Where) { - return $"{Select_Users} {Constant.Command_Where} {Where}'"; + return $"{Select_Users} {Command_Where} {Where}'"; } public static string Select_CheckAutoKey(string Username, string AutoKey) { - return $"{Select_Users} {Constant.Command_Where} {Column_Username} = '{Username}' and {Column_AutoKey} = '{AutoKey}'"; + return $"{Select_Users} {Command_Where} {Column_Username} = '{Username}' and {Column_AutoKey} = '{AutoKey}'"; } public static string Update_CheckLogin(string Username, string IP) { - return $"{Constant.Command_Update} {TableName} {Constant.Command_Set} {Column_LastTime} = '{DateTime.Now}', {Column_LastIP} = '{IP}' {Constant.Command_Where} {Column_Username} = '{Username}'"; + return $"{Command_Update} {TableName} {Command_Set} {Column_LastTime} = '{DateTime.Now}', {Column_LastIP} = '{IP}' {Command_Where} {Column_Username} = '{Username}'"; } public static string Update_Password(string Username, string Password) { - return $"{Constant.Command_Update} {TableName} {Constant.Command_Set} {Column_Password} = '{Password}' {Constant.Command_Where} {Column_Username} = '{Username}'"; + return $"{Command_Update} {TableName} {Command_Set} {Column_Password} = '{Password}' {Command_Where} {Column_Username} = '{Username}'"; } public static string Update_GameTime(string Username, int GameTimeMinutes) { - return $"{Constant.Command_Update} {TableName} {Constant.Command_Set} {Column_GameTime} = {Column_GameTime} + {GameTimeMinutes} {Constant.Command_Where} {Column_Username} = '{Username}'"; + return $"{Command_Update} {TableName} {Command_Set} {Column_GameTime} = {Column_GameTime} + {GameTimeMinutes} {Command_Where} {Column_Username} = '{Username}'"; } public static string Insert_Register(string Username, string Password, string Email, string IP) { DateTime Now = DateTime.Now; - return $"{Constant.Command_Insert} {Constant.Command_Into} {TableName} ({Column_Username}, {Column_Password}, {Column_Email}, {Column_RegTime}, {Column_LastTime}, {Column_LastIP}) {Constant.Command_Values} ('{Username}', '{Password}', '{Email}', '{Now}', '{Now}', '{IP}')"; + return $"{Command_Insert} {Command_Into} {TableName} ({Column_Username}, {Column_Password}, {Column_Email}, {Column_RegTime}, {Column_LastTime}, {Column_LastIP}) {Command_Values} ('{Username}', '{Password}', '{Email}', '{Now}', '{Now}', '{IP}')"; } } }