添加记录游戏时间,修改聊天字符串

This commit is contained in:
Mili 2023-03-13 23:55:05 +08:00
parent 6cc1100efb
commit acf9a545c9

View File

@ -42,6 +42,8 @@ namespace Milimoe.FunGame.Server.Model
private readonly ServerSocket Server; private readonly ServerSocket Server;
private readonly MySQLHelper SQLHelper; private readonly MySQLHelper SQLHelper;
private readonly MailSender? MailSender; private readonly MailSender? MailSender;
private long LoginTime;
private long LogoutTime;
public ServerModel(ServerSocket server, ClientSocket socket, bool running) public ServerModel(ServerSocket server, ClientSocket socket, bool running)
{ {
@ -132,6 +134,7 @@ namespace Milimoe.FunGame.Server.Model
AddUser(); AddUser();
GetUsersCount(); GetUsersCount();
// CheckLogin // CheckLogin
LoginTime = DateTime.Now.Ticks;
SQLHelper.Execute(UserQuery.Update_CheckLogin(UserName, socket.ClientIP.Split(':')[0]), out _); SQLHelper.Execute(UserQuery.Update_CheckLogin(UserName, socket.ClientIP.Split(':')[0]), out _);
return Send(socket, type, UserName, Password); return Send(socket, type, UserName, Password);
} }
@ -180,7 +183,7 @@ namespace Milimoe.FunGame.Server.Model
{ {
if (Client != null && User != null) if (Client != null && User != null)
{ {
Client.Send(Client.Socket!, SocketMessageType.Chat, User.Username, msg); Client.Send(Client.Socket!, SocketMessageType.Chat, User.Username, DateTimeUtility.GetNowShortTime() + msg);
} }
} }
} }
@ -401,6 +404,14 @@ namespace Milimoe.FunGame.Server.Model
{ {
if (User != null && this != null) if (User != null && this != null)
{ {
LogoutTime = DateTime.Now.Ticks;
int TotalMinutes = Convert.ToInt32((new DateTime(LogoutTime) - new DateTime(LoginTime)).TotalMinutes);
SQLHelper.Execute(UserQuery.Update_GameTime(User.Username, TotalMinutes), out SQLResult result);
if (SQLHelper.Result == SQLResult.Success)
{
ServerHelper.WriteLine("OnlinePlayers: 玩家 " + User.Username + " 本次已游玩" + TotalMinutes + "分钟");
}
else ServerHelper.WriteLine("OnlinePlayers: 无法更新玩家 " + User.Username + " 的游戏时长");
if (Server.RemoveUser(User.Username)) if (Server.RemoveUser(User.Username))
{ {
ServerHelper.WriteLine("OnlinePlayers: 玩家 " + User.Username + " 已移除"); ServerHelper.WriteLine("OnlinePlayers: 玩家 " + User.Username + " 已移除");