feat: 完成任务体系搭建

This commit is contained in:
chenchun
2024-08-13 16:45:56 +08:00
parent 35ebce6a85
commit 96b9cad2f8
12 changed files with 233 additions and 55 deletions

View File

@@ -1,8 +1,11 @@
using Volo.Abp.DependencyInjection;
using Volo.Abp.Domain.Entities.Events;
using Volo.Abp.EventBus;
using Volo.Abp.EventBus.Local;
using Yi.Framework.Bbs.Domain.Entities;
using Yi.Framework.Bbs.Domain.Entities.Forum;
using Yi.Framework.Bbs.Domain.Shared.Enums;
using Yi.Framework.Bbs.Domain.Shared.Etos;
using Yi.Framework.SqlSugarCore.Abstractions;
namespace Yi.Framework.Bbs.Domain.EventHandlers
@@ -11,22 +14,31 @@ namespace Yi.Framework.Bbs.Domain.EventHandlers
/// 主题创建的领域事件
/// </summary>
public class DiscussCreatedEventHandler : ILocalEventHandler<EntityCreatedEventData<DiscussAggregateRoot>>,
ITransientDependency
ITransientDependency
{
private ISqlSugarRepository<BbsUserExtraInfoEntity> _userRepository;
public DiscussCreatedEventHandler(ISqlSugarRepository<BbsUserExtraInfoEntity> userRepository)
private ILocalEventBus _localEventBus;
public DiscussCreatedEventHandler(ISqlSugarRepository<BbsUserExtraInfoEntity> userRepository,
ILocalEventBus localEventBus)
{
_userRepository = userRepository;
_localEventBus = localEventBus;
}
public async Task HandleEventAsync(EntityCreatedEventData<DiscussAggregateRoot> eventData)
{
var disucussEntity = eventData.Entity;
//给创建者发布数量+1
await _userRepository._Db.Updateable<BbsUserExtraInfoEntity>()
.SetColumns(it => it.DiscussNumber == it.DiscussNumber + 1)
.Where(it => it.UserId == disucussEntity.CreatorId)
.ExecuteCommandAsync();
.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);
}
}
}
}