Commit cedd3b9e by dingsongjie

添加 发送 event 测试实例

parent d4fa1681
......@@ -5,6 +5,13 @@
</PropertyGroup>
<ItemGroup>
<Compile Remove="Application\**" />
<Content Remove="Application\**" />
<EmbeddedResource Remove="Application\**" />
<None Remove="Application\**" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="Grpc.AspNetCore" Version="2.26.0" />
<PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="3.1.1">
<PrivateAssets>all</PrivateAssets>
......@@ -26,8 +33,5 @@
<ProjectReference Include="..\..\..\src\Pole.EventStorage.PostgreSql\Pole.EventStorage.PostgreSql.csproj" />
<ProjectReference Include="..\..\..\src\Pole.Orleans.Provider.EntityframeworkCore\Pole.Orleans.Provider.EntityframeworkCore.csproj" />
</ItemGroup>
<ItemGroup>
<Folder Include="Application\IntegrationEvent\" />
</ItemGroup>
</Project>
......@@ -21,7 +21,7 @@ namespace Backet.Api.Controllers
[HttpPost("api/backet/AddBacket")]
public Task<bool> AddBacket([FromBody]Backet.Api.Grains.Abstraction.BacketDto backet)
{
var newId = "da8a489fa7b4409294ee1b358fbbfba5";
var newId = "da8a489fa7b44092eeeeeee";
backet.Id = newId;
var grain = clusterClient.GetGrain<IBacketGrain>(newId);
return grain.AddBacket(backet);
......
using Pole.Core.EventBus.Event;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
namespace Backet.Api.Domain.Event
{
public class BacketCreatedEvent:IEvent
{
public string BacketId { get; set; }
}
}
using Backet.Api.Domain.Event;
using Pole.Core.EventBus.EventHandler;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
namespace Backet.Api.EventHandlers
{
public class ToNoticeBacketCreatedEventHandler : PoleEventHandler
{
public Task EventHandle(BacketCreatedEvent @event)
{
return Task.CompletedTask;
}
}
}
using Backet.Api.Grains.Abstraction;
using Backet.Api.Domain.Event;
using Backet.Api.Grains.Abstraction;
using Pole.Core.Grains;
using System;
using System.Collections.Generic;
......@@ -16,18 +17,20 @@ namespace Backet.Api.Grains
Backet.Api.Domain.AggregatesModel.BacketAggregate.Backet backet = new Backet.Api.Domain.AggregatesModel.BacketAggregate.Backet
{
Id = backetDto.Id,
UserId= backetDto.UserId
UserId = backetDto.UserId
};
if (backetDto.BacketItems == null || backetDto.BacketItems.Count == 0) return false;
backetDto.BacketItems.ForEach(item => {
backetDto.BacketItems.ForEach(item =>
{
backet.AddBacketItem(item.ProductId, item.ProductName, item.Price);
});
Add(backet);
backet.AddDomainEvent(new BacketCreatedEvent() { BacketId = backet.Id });
await WriteStateAsync();
return true;
}
public async Task<bool> AddBacketItem(string productId,string productName,long price)
public async Task<bool> AddBacketItem(string productId, string productName, long price)
{
if (State == null) return false;
......
......@@ -63,7 +63,7 @@ namespace Pole.Core.Processor
foreach (var pendingMessage in pendingMessages)
{
var eventType = eventTypeFinder.FindType(pendingMessage.Name);
var eventContentBytes = serializer.SerializeToUtf8Bytes(pendingMessage, eventType);
var eventContentBytes = Encoding.UTF8.GetBytes(pendingMessage.Content);
var bytesTransport = new EventBytesTransport(pendingMessage.Name, pendingMessage.Id, eventContentBytes);
var bytes = bytesTransport.GetBytes();
if (pendingMessage.Retries > producerOptions.MaxFailedRetryCount)
......
......@@ -42,7 +42,7 @@ namespace Pole.Core.UnitOfWork
bufferedEvents.ForEach(async @event =>
{
var eventType = eventTypeFinder.FindType(@event.Name);
var eventContentBytes = serializer.SerializeToUtf8Bytes(@event, eventType);
var eventContentBytes = Encoding.UTF8.GetBytes(@event.Content);
var bytesTransport = new EventBytesTransport(@event.Name, @event.Id, eventContentBytes);
var bytes = bytesTransport.GetBytes();
var producer = await producerContainer.GetProducer(eventType);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment