Skip to content
  • P
    Projects
  • G
    Groups
  • S
    Snippets
  • Help

丁松杰 / Pole

  • This project
    • Loading...
  • Sign in
Go to a project
  • Project
  • Repository
  • Issues 0
  • Merge Requests 0
  • Pipelines
  • Wiki
  • Snippets
  • Members
  • Activity
  • Graph
  • Charts
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
  • Files
  • Commits
  • Branches
  • Tags
  • Contributors
  • Graph
  • Compare
  • Charts
Commit cedd3b9e authored 5 years ago by dingsongjie's avatar dingsongjie
Browse files
Options
  • Browse Files
  • Download
  • Email Patches
  • Plain Diff

添加 发送 event 测试实例

parent d4fa1681 master … v1.0.0
Show whitespace changes
Inline Side-by-side
Showing with 47 additions and 10 deletions
  • samples/apis/Backet.Api/Backet.Api.csproj
  • samples/apis/Backet.Api/Controllers/BacketController.cs
  • samples/apis/Backet.Api/Domain/Event/BacketCreatedEvent.cs
  • samples/apis/Backet.Api/EventHandlers/ToNoticeBacketCreatedEventHandler.cs
  • samples/apis/Backet.Api/Grains/BacketGrain.cs
  • src/Pole.Core/Processor/PendingMessageRetryProcessor.cs
  • src/Pole.Core/UnitOfWork/UnitOfWork.cs
samples/apis/Backet.Api/Backet.Api.csproj
View file @ cedd3b9e
...@@ -5,6 +5,13 @@ ...@@ -5,6 +5,13 @@
</PropertyGroup> </PropertyGroup>
<ItemGroup> <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="Grpc.AspNetCore" Version="2.26.0" />
<PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="3.1.1"> <PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="3.1.1">
<PrivateAssets>all</PrivateAssets> <PrivateAssets>all</PrivateAssets>
...@@ -26,8 +33,5 @@ ...@@ -26,8 +33,5 @@
<ProjectReference Include="..\..\..\src\Pole.EventStorage.PostgreSql\Pole.EventStorage.PostgreSql.csproj" /> <ProjectReference Include="..\..\..\src\Pole.EventStorage.PostgreSql\Pole.EventStorage.PostgreSql.csproj" />
<ProjectReference Include="..\..\..\src\Pole.Orleans.Provider.EntityframeworkCore\Pole.Orleans.Provider.EntityframeworkCore.csproj" /> <ProjectReference Include="..\..\..\src\Pole.Orleans.Provider.EntityframeworkCore\Pole.Orleans.Provider.EntityframeworkCore.csproj" />
</ItemGroup> </ItemGroup>
<ItemGroup>
<Folder Include="Application\IntegrationEvent\" />
</ItemGroup>
</Project> </Project>
This diff is collapsed. Click to expand it.
samples/apis/Backet.Api/Controllers/BacketController.cs
View file @ cedd3b9e
...@@ -21,7 +21,7 @@ namespace Backet.Api.Controllers ...@@ -21,7 +21,7 @@ namespace Backet.Api.Controllers
[HttpPost("api/backet/AddBacket")] [HttpPost("api/backet/AddBacket")]
public Task<bool> AddBacket([FromBody]Backet.Api.Grains.Abstraction.BacketDto backet) public Task<bool> AddBacket([FromBody]Backet.Api.Grains.Abstraction.BacketDto backet)
{ {
var newId = "da8a489fa7b4409294ee1b358fbbfba5"; var newId = "da8a489fa7b44092eeeeeee";
backet.Id = newId; backet.Id = newId;
var grain = clusterClient.GetGrain<IBacketGrain>(newId); var grain = clusterClient.GetGrain<IBacketGrain>(newId);
return grain.AddBacket(backet); return grain.AddBacket(backet);
......
This diff is collapsed. Click to expand it.
samples/apis/Backet.Api/Domain/Event/BacketCreatedEvent.cs 0 → 100644
View file @ cedd3b9e
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; }
}
}
This diff is collapsed. Click to expand it.
samples/apis/Backet.Api/EventHandlers/ToNoticeBacketCreatedEventHandler.cs 0 → 100644
View file @ cedd3b9e
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;
}
}
}
This diff is collapsed. Click to expand it.
samples/apis/Backet.Api/Grains/BacketGrain.cs
View file @ cedd3b9e
using Backet.Api.Grains.Abstraction; using Backet.Api.Domain.Event;
using Backet.Api.Grains.Abstraction;
using Pole.Core.Grains; using Pole.Core.Grains;
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
...@@ -16,18 +17,20 @@ namespace Backet.Api.Grains ...@@ -16,18 +17,20 @@ namespace Backet.Api.Grains
Backet.Api.Domain.AggregatesModel.BacketAggregate.Backet backet = new Backet.Api.Domain.AggregatesModel.BacketAggregate.Backet Backet.Api.Domain.AggregatesModel.BacketAggregate.Backet backet = new Backet.Api.Domain.AggregatesModel.BacketAggregate.Backet
{ {
Id = backetDto.Id, Id = backetDto.Id,
UserId= backetDto.UserId UserId = backetDto.UserId
}; };
if (backetDto.BacketItems == null || backetDto.BacketItems.Count == 0) return false; 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); backet.AddBacketItem(item.ProductId, item.ProductName, item.Price);
}); });
Add(backet); Add(backet);
backet.AddDomainEvent(new BacketCreatedEvent() { BacketId = backet.Id });
await WriteStateAsync(); await WriteStateAsync();
return true; 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; if (State == null) return false;
......
This diff is collapsed. Click to expand it.
src/Pole.Core/Processor/PendingMessageRetryProcessor.cs
View file @ cedd3b9e
...@@ -63,7 +63,7 @@ namespace Pole.Core.Processor ...@@ -63,7 +63,7 @@ namespace Pole.Core.Processor
foreach (var pendingMessage in pendingMessages) foreach (var pendingMessage in pendingMessages)
{ {
var eventType = eventTypeFinder.FindType(pendingMessage.Name); 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 bytesTransport = new EventBytesTransport(pendingMessage.Name, pendingMessage.Id, eventContentBytes);
var bytes = bytesTransport.GetBytes(); var bytes = bytesTransport.GetBytes();
if (pendingMessage.Retries > producerOptions.MaxFailedRetryCount) if (pendingMessage.Retries > producerOptions.MaxFailedRetryCount)
......
This diff is collapsed. Click to expand it.
src/Pole.Core/UnitOfWork/UnitOfWork.cs
View file @ cedd3b9e
...@@ -42,7 +42,7 @@ namespace Pole.Core.UnitOfWork ...@@ -42,7 +42,7 @@ namespace Pole.Core.UnitOfWork
bufferedEvents.ForEach(async @event => bufferedEvents.ForEach(async @event =>
{ {
var eventType = eventTypeFinder.FindType(@event.Name); 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 bytesTransport = new EventBytesTransport(@event.Name, @event.Id, eventContentBytes);
var bytes = bytesTransport.GetBytes(); var bytes = bytesTransport.GetBytes();
var producer = await producerContainer.GetProducer(eventType); var producer = await producerContainer.GetProducer(eventType);
......
This diff is collapsed. Click to expand it.
  • Write
  • Preview
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