diff --git a/FunGame.Server/FunGame.Server.csproj b/FunGame.Server/FunGame.Server.csproj index c7a81e3..d41ed1b 100644 --- a/FunGame.Server/FunGame.Server.csproj +++ b/FunGame.Server/FunGame.Server.csproj @@ -32,23 +32,23 @@ - ..\..\FunGame\bin\Server\Debug\net7.0\FunGame.Core.dll - True + ..\..\FunGame\bin\Debug\net7.0-windows\FunGame.Core.dll + True - ..\..\FunGame\bin\Server\Debug\net6.0\MySql.Data.dll + ..\..\FunGame\bin\Server\Debug\net7.0\MySql.Data.dll False ..\..\FunGame\bin\Debug\net7.0-windows\Newtonsoft.Json.dll - True + True - ..\..\FunGame\bin\Server\Debug\net6.0\System.Configuration.ConfigurationManager.dll + ..\..\FunGame\bin\Server\Debug\net7.0\System.Configuration.ConfigurationManager.dll False - ..\..\FunGame\bin\Server\Debug\net6.0\System.Security.Permissions.dll + ..\..\FunGame\bin\Server\Debug\net7.0\System.Security.Permissions.dll False diff --git a/FunGame.Server/Model/ServerModel.cs b/FunGame.Server/Model/ServerModel.cs index e381b4b..ea95e19 100644 --- a/FunGame.Server/Model/ServerModel.cs +++ b/FunGame.Server/Model/ServerModel.cs @@ -313,12 +313,20 @@ namespace Milimoe.FunGame.Server.Model return Send(socket, type, false, msg); case SocketMessageType.UpdateRoom: - List list = new(); - if (Config.RoomList != null) + Config.RoomList = new(Server); + DataSet DsRoom = SQLHelper.ExecuteDataSet(RoomQuery.Select_Rooms, out SQLResult TestResult); + if (TestResult == SQLResult.Success) { - list = Config.RoomList.GetList(); + for (int i = 0; i < DsRoom.Tables[0].Rows.Count; ) + { + DataRow row = DsRoom.Tables[0].Rows[0]; + DataSet DsUser = SQLHelper.ExecuteDataSet(UserQuery.Select_DuplicateUsername((string)row[RoomQuery.Column_RoomMasterName]), out TestResult); + Room room = Factory.GetInstance(DsRoom, DsUser); + Config.RoomList.AddRoom(room); + DsRoom.Tables[0].Rows.Remove(row); + } } - return Send(socket, type, list); + return Send(socket, type, Config.RoomList.GetList()); case SocketMessageType.CreateRoom: break; diff --git a/FunGame.Server/Utility/DataUtility/MySQLHelper.cs b/FunGame.Server/Utility/DataUtility/MySQLHelper.cs index 85c565a..90f9d1b 100644 --- a/FunGame.Server/Utility/DataUtility/MySQLHelper.cs +++ b/FunGame.Server/Utility/DataUtility/MySQLHelper.cs @@ -15,6 +15,10 @@ namespace Milimoe.FunGame.Server.Utility public override string Script { get; set; } = ""; public override CommandType CommandType { get; set; } = CommandType.Text; public override SQLResult Result => _Result; + public override bool Success + { + get => Result == SQLResult.Success; + } public override SQLServerInfo ServerInfo => _ServerInfo ?? SQLServerInfo.Create(); public override int UpdateRows => _UpdateRows; public override DataSet DataSet => _DataSet; @@ -110,15 +114,16 @@ namespace Milimoe.FunGame.Server.Utility } /// - /// 创建单次使用的SQLHelper(执行完毕会自动Close连接) + /// 创建SQLHelper /// + /// 是否是单次使用(执行完毕会自动Close连接) /// 存储过程名称或者script语句 /// 存储过程, 文本, 等等 /// 执行命令所用参数的集合 - public MySQLHelper(string script = "", CommandType type = CommandType.Text, params MySqlParameter[] parameters) + public MySQLHelper(string script = "", bool IsOneTime = true, CommandType type = CommandType.Text, params MySqlParameter[] parameters) { - _IsOneTime = true; Script = script; + _IsOneTime = IsOneTime; CommandType = type; Parameters = parameters; }