feat: 完成主题接口
This commit is contained in:
@@ -0,0 +1,35 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
using Volo.Abp.DependencyInjection;
|
||||||
|
using Volo.Abp.Domain.Repositories;
|
||||||
|
using Volo.Abp.EventBus;
|
||||||
|
using Yi.Framework.Bbs.Domain.Entities;
|
||||||
|
using Yi.Framework.Bbs.Domain.Shared.Etos;
|
||||||
|
|
||||||
|
namespace Yi.Framework.Bbs.Domain.EventHandlers
|
||||||
|
{
|
||||||
|
public class SeeDiscussEventHandler : ILocalEventHandler<SeeDiscussEventArgs>, ITransientDependency
|
||||||
|
{
|
||||||
|
private IRepository<DiscussEntity, Guid> _repository;
|
||||||
|
public SeeDiscussEventHandler(IRepository<DiscussEntity,Guid> repository)
|
||||||
|
{
|
||||||
|
_repository = repository;
|
||||||
|
}
|
||||||
|
|
||||||
|
public async Task HandleEventAsync(SeeDiscussEventArgs eventData)
|
||||||
|
{
|
||||||
|
var entity = await _repository.GetAsync(eventData.DiscussId);
|
||||||
|
if (entity is not null)
|
||||||
|
{
|
||||||
|
entity.SeeNum += 1;
|
||||||
|
await _repository.UpdateAsync(entity);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -12,6 +12,7 @@ using Yi.Framework.Bbs.Domain.Entities;
|
|||||||
using Yi.Framework.Bbs.Domain.Managers;
|
using Yi.Framework.Bbs.Domain.Managers;
|
||||||
using Yi.Framework.Bbs.Domain.Shared.Consts;
|
using Yi.Framework.Bbs.Domain.Shared.Consts;
|
||||||
using Yi.Framework.Bbs.Domain.Shared.Enums;
|
using Yi.Framework.Bbs.Domain.Shared.Enums;
|
||||||
|
using Yi.Framework.Bbs.Domain.Shared.Etos;
|
||||||
using Yi.Framework.Ddd.Application;
|
using Yi.Framework.Ddd.Application;
|
||||||
using Yi.Framework.Rbac.Application.Contracts.Dtos.User;
|
using Yi.Framework.Rbac.Application.Contracts.Dtos.User;
|
||||||
using Yi.Framework.Rbac.Domain.Entities;
|
using Yi.Framework.Rbac.Domain.Entities;
|
||||||
@@ -58,9 +59,7 @@ namespace Yi.Framework.Bbs.Application.Services
|
|||||||
if (item is not null)
|
if (item is not null)
|
||||||
{
|
{
|
||||||
await VerifyDiscussPermissionAsync(item.Id);
|
await VerifyDiscussPermissionAsync(item.Id);
|
||||||
|
await _localEventBus.PublishAsync(new SeeDiscussEventArgs { DiscussId = item.Id, OldSeeNum = item.SeeNum });
|
||||||
throw new NotImplementedException("等待更新消息通知");
|
|
||||||
//_eventPublisher.PublishAsync(new SeeDiscussEventSource(new SeeDiscussEventArgs { DiscussId = item.Id, OldSeeNum = item.SeeNum }));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return item;
|
return item;
|
||||||
|
|||||||
@@ -0,0 +1,14 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace Yi.Framework.Bbs.Domain.Shared.Etos
|
||||||
|
{
|
||||||
|
public class SeeDiscussEventArgs
|
||||||
|
{
|
||||||
|
public Guid DiscussId { get; set; }
|
||||||
|
public int OldSeeNum { get; set; }
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -11,7 +11,7 @@ using Volo.Abp.EventBus;
|
|||||||
using Yi.Framework.Rbac.Domain.Entities;
|
using Yi.Framework.Rbac.Domain.Entities;
|
||||||
using Yi.Framework.Rbac.Domain.Shared.Etos;
|
using Yi.Framework.Rbac.Domain.Shared.Etos;
|
||||||
|
|
||||||
namespace Yi.Framework.Rbac.Application.Events
|
namespace Yi.Framework.Rbac.Application.EventHandlers
|
||||||
{
|
{
|
||||||
public class LoginEventHandler : ILocalEventHandler<LoginEventArgs>,
|
public class LoginEventHandler : ILocalEventHandler<LoginEventArgs>,
|
||||||
ITransientDependency
|
ITransientDependency
|
||||||
@@ -15,4 +15,8 @@
|
|||||||
<ProjectReference Include="..\Yi.Framework.Rbac.Domain\Yi.Framework.Rbac.Domain.csproj" />
|
<ProjectReference Include="..\Yi.Framework.Rbac.Domain\Yi.Framework.Rbac.Domain.csproj" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
|
<ItemGroup>
|
||||||
|
<Folder Include="Events\" />
|
||||||
|
</ItemGroup>
|
||||||
|
|
||||||
</Project>
|
</Project>
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
Binary file not shown.
Reference in New Issue
Block a user