feat: 优化,改造通知模块

This commit is contained in:
橙子
2024-08-07 00:01:44 +08:00
parent 84b11ae6a8
commit 578d410b77
6 changed files with 40 additions and 9 deletions

View File

@@ -34,6 +34,7 @@ namespace Yi.Framework.Bbs.Domain.Entities
/// <summary>
/// 消息,支持html
/// </summary>
[SugarColumn(ColumnDataType = StaticConfig.CodeFirst_BigString)]
public string Message { get; set; }
/// <summary>

View File

@@ -38,6 +38,7 @@ namespace Yi.Framework.Bbs.Domain.EventHandlers
.Select((agree, discuss) =>
new
{
DiscussId=discuss.Id,
DiscussTitle = discuss.Title,
DiscussCreatorId = discuss.CreatorId,
})
@@ -53,7 +54,7 @@ namespace Yi.Framework.Bbs.Domain.EventHandlers
.ExecuteCommandAsync();
//通知主题作者,有人点赞
await _localEventBus.PublishAsync(new BbsNoticeEventArgs(discussAndAgreeDto.DiscussCreatorId!.Value, string.Format(DiscussConst.AgreeNotice, discussAndAgreeDto.DiscussTitle, agreeUser.UserName)), false);
await _localEventBus.PublishAsync(new BbsNoticeEventArgs(discussAndAgreeDto.DiscussCreatorId!.Value, string.Format(DiscussConst.AgreeNotice, discussAndAgreeDto.DiscussTitle, agreeUser.UserName,discussAndAgreeDto.DiscussId)), false);
}
}

View File

@@ -26,13 +26,13 @@ namespace Yi.Framework.Bbs.Domain.EventHandlers
public async Task HandleEventAsync(BbsNoticeEventArgs eventData)
{
//离线存储
await _repository.InsertAsync(new BbsNoticeAggregateRoot(eventData.NoticeType, eventData.Message, eventData.AcceptUserId));
var entity= await _repository.InsertReturnEntityAsync(new BbsNoticeAggregateRoot(eventData.NoticeType, eventData.Message, eventData.AcceptUserId));
switch (eventData.NoticeType)
{
case Shared.Enums.NoticeTypeEnum.Personal:
if (BbsNoticeHub.HubUserModels.TryGetValue(eventData.AcceptUserId.ToString(), out var hubUserModel))
{
_hubContext.Clients.Client(hubUserModel.ConnnectionId).SendAsync(NoticeTypeEnum.Personal.ToString(), eventData.Message);
_hubContext.Clients.Client(hubUserModel.ConnnectionId).SendAsync(NoticeTypeEnum.Personal.ToString(), eventData.Message,entity.CreationTime);
}
break;
case Shared.Enums.NoticeTypeEnum.Broadcast:

View File

@@ -42,7 +42,7 @@ namespace Yi.Framework.Bbs.Domain.EventHandlers
.Select((dicuss, user) =>
new
{
DiscussId = user.Id,
DiscussUserId = user.Id,
DiscussTitle = dicuss.Title,
})
@@ -53,7 +53,10 @@ namespace Yi.Framework.Bbs.Domain.EventHandlers
//截取30个长度
var content = commentEntity.Content.Length >= 30 ? commentEntity.Content.Substring(0, 30)+"..." : commentEntity.Content;
//通知主题作者,有人评论
await _localEventBus.PublishAsync(new BbsNoticeEventArgs(disucssDto.DiscussId, string.Format(DiscussConst.CommentNotice, disucssDto.DiscussTitle, commentUser.UserName, content)), false);
await _localEventBus.PublishAsync(new BbsNoticeEventArgs(disucssDto.DiscussUserId, string.Format(DiscussConst.CommentNotice, disucssDto.DiscussTitle, commentUser.UserName, content,commentEntity.DiscussId)), false);
//通知回复者,有人评论
await _localEventBus.PublishAsync(new BbsNoticeEventArgs(commentEntity.ParentId, string.Format(DiscussConst.CommentNotice, disucssDto.DiscussTitle, commentUser.UserName, content,commentEntity.DiscussId)), false);
}
}
}