65 lines
3.0 KiB
C#
65 lines
3.0 KiB
C#
namespace Application.Domain;
|
|
|
|
public class MessageHandle
|
|
{
|
|
public async Task<MessageHandleResult> HandleMsg(unit_user_message_event events, int state)
|
|
{
|
|
if (events.code == nameof(MessageEnum.EventCode.Friend))
|
|
{
|
|
var relationService = App.GetRequiredService<IUnitUserRelationService>();
|
|
var isFriend = await relationService.CheckIsFriend(events.userId, events.pars);
|
|
if (isFriend)
|
|
{
|
|
return new MessageHandleResult() { success = true, msg = "你们已经是好友啦!" };
|
|
}
|
|
|
|
if (state == 1)
|
|
{
|
|
var friendCount = await relationService.GetUserFriendCount(events.pars);
|
|
if (friendCount >= GameConfig.GameUserFriendMaxCount)
|
|
{
|
|
return new MessageHandleResult() { success = false, msg = "Ta的好友人数已达上限!" };
|
|
}
|
|
|
|
if (await relationService.AddFriend(events.pars,events.userId ))
|
|
{
|
|
var chatService = App.GetService<IGameChatService>();
|
|
var userService = App.GetService<IUnitUserService>();
|
|
var myInfo = await userService.GetUserInfoByUserId(events.userId);
|
|
string sign = $"{UbbTool.HomeUbb(myInfo.userNo, myInfo.nick)}已通过了您的好友申请!";
|
|
await chatService.SendChat(events.pars, (int)myInfo.areaId, nameof(GameChatEnum.Code.System), sign);
|
|
return new MessageHandleResult() { success = true, msg = "已通过该好友申请!" };
|
|
}
|
|
else
|
|
{
|
|
return new MessageHandleResult() { success = false, msg = "好友添加失败,请稍后尝试!" };
|
|
}
|
|
}
|
|
else
|
|
{
|
|
var chatService = App.GetService<IGameChatService>();
|
|
var userService = App.GetService<IUnitUserService>();
|
|
var myInfo = await userService.GetUserInfoByUserId(events.userId);
|
|
string sign = $"{UbbTool.HomeUbb(myInfo.userNo, myInfo.nick)}拒绝了您的好友申请!";
|
|
await chatService.SendChat(events.pars, (int)myInfo.areaId, nameof(GameChatEnum.Code.System), sign);
|
|
return new MessageHandleResult() { success = true, msg = "已拒绝该好友申请!" };
|
|
}
|
|
}
|
|
else if (events.code == nameof(MessageEnum.EventCode.Trade))
|
|
{
|
|
return new MessageHandleResult() { success = true, msg = "消息通知已处理!" };
|
|
}
|
|
else if (events.code == nameof(MessageEnum.EventCode.Notice))
|
|
{
|
|
return new MessageHandleResult() { success = true, msg = "消息通知已处理!" };
|
|
}
|
|
|
|
return new MessageHandleResult() { success = false, msg = "暂不支持该操作处理!" };
|
|
}
|
|
}
|
|
|
|
public class MessageHandleResult
|
|
{
|
|
public bool success { get; set; }
|
|
public string msg { get; set; }
|
|
} |