Files
Yi.Admin/Yi.Abp.Net8/module/bbs/Yi.Framework.Bbs.Domain/EventHandlers/DiscussCreatedEventHandler.cs

44 lines
1.7 KiB
C#
Raw Normal View History

2024-01-27 17:42:09 +08:00
using Volo.Abp.DependencyInjection;
using Volo.Abp.Domain.Entities.Events;
using Volo.Abp.EventBus;
2024-08-13 16:45:56 +08:00
using Volo.Abp.EventBus.Local;
2024-01-27 17:42:09 +08:00
using Yi.Framework.Bbs.Domain.Entities;
using Yi.Framework.Bbs.Domain.Entities.Forum;
2024-08-13 16:45:56 +08:00
using Yi.Framework.Bbs.Domain.Shared.Enums;
using Yi.Framework.Bbs.Domain.Shared.Etos;
2024-01-27 17:42:09 +08:00
using Yi.Framework.SqlSugarCore.Abstractions;
namespace Yi.Framework.Bbs.Domain.EventHandlers
{
/// <summary>
/// 主题创建的领域事件
/// </summary>
2024-05-22 14:35:08 +08:00
public class DiscussCreatedEventHandler : ILocalEventHandler<EntityCreatedEventData<DiscussAggregateRoot>>,
2024-08-13 16:45:56 +08:00
ITransientDependency
2024-01-27 17:42:09 +08:00
{
private ISqlSugarRepository<BbsUserExtraInfoEntity> _userRepository;
2024-08-13 16:45:56 +08:00
private ILocalEventBus _localEventBus;
public DiscussCreatedEventHandler(ISqlSugarRepository<BbsUserExtraInfoEntity> userRepository,
ILocalEventBus localEventBus)
2024-01-27 17:42:09 +08:00
{
_userRepository = userRepository;
2024-08-13 16:45:56 +08:00
_localEventBus = localEventBus;
2024-01-27 17:42:09 +08:00
}
2024-08-13 16:45:56 +08:00
2024-05-22 14:35:08 +08:00
public async Task HandleEventAsync(EntityCreatedEventData<DiscussAggregateRoot> eventData)
2024-01-27 17:42:09 +08:00
{
var disucussEntity = eventData.Entity;
//给创建者发布数量+1
await _userRepository._Db.Updateable<BbsUserExtraInfoEntity>()
2024-08-13 16:45:56 +08:00
.SetColumns(it => it.DiscussNumber == it.DiscussNumber + 1)
.Where(it => it.UserId == disucussEntity.CreatorId)
.ExecuteCommandAsync();
//最后发布任务触发事件
await _localEventBus.PublishAsync(
new AssignmentEventArgs(AssignmentRequirementTypeEnum.Discuss, disucussEntity.CreatorId!.Value), false);
2024-01-27 17:42:09 +08:00
}
}
2024-08-13 16:45:56 +08:00
}