xf 2 years ago
parent
commit
aaeec97c52

+ 2 - 1
src/Sharing.Province/Controllers/ProvinceController.cs

@@ -8,6 +8,7 @@ using System.Threading;
 using System.Threading.Tasks;
 using IdentityModel.Client;
 using Microsoft.AspNetCore.Mvc;
+using Sharing.Province.Dtos.HuiJu;
 using Sharing.WebCore;
 
 namespace Sharing.Province.Controllers
@@ -27,7 +28,7 @@ namespace Sharing.Province.Controllers
         public async Task<string> Test()
         {
             var pusher = PusherProvider.CreatePusher(_provinceClient);
-            await pusher.PushOrderCreatedAsync(HttpContext.RequestAborted);
+            await pusher.PushOrderCreatedAsync(new SubmitCaseInfoRequest(), HttpContext.RequestAborted);
             var a = _channelConfigurationManager.GetConfigurationProvince().Address;
             return a;
         }

+ 1 - 15
src/Sharing.Province/DefaultPusher.cs

@@ -16,22 +16,8 @@ public class DefaultPusher : IProvincePusher
         _provinceClient = provinceClient;
     }
 
-    public async Task PushOrderCreatedAsync(CancellationToken cancellationToken)
+    public async Task PushOrderCreatedAsync(SubmitCaseInfoRequest request, CancellationToken cancellationToken)
     {
-        var data = new SubmitCaseInfoData
-        {
-            CaseInfos = new List<CaseInfo>
-            {
-                new CaseInfo
-                {
-                    OrderNo = "123",
-                    OrderTitle = "test order"
-                }
-            }
-        };
-        var request = new SubmitCaseInfoRequest();
-        request.SetData(data);
-
         var response = await _provinceClient.RequestAsync<SubmitCaseInfoRequest, ProvinceResponse>(request, cancellationToken);
     }
 }

+ 21 - 1
src/Sharing.Province/Handlers/OrderCreatedHandler.cs

@@ -1,5 +1,6 @@
 using MediatR;
 using Sharing.Notifications;
+using Sharing.Province.Dtos.HuiJu;
 
 namespace Sharing.Province.Handlers
 {
@@ -17,8 +18,27 @@ namespace Sharing.Province.Handlers
         /// <param name="cancellationToken">Cancellation token</param>
         public async Task Handle(OrderCreatedNotification notification, CancellationToken cancellationToken)
         {
+            var order = notification.DataOrder;
+
             var pusher = PusherProvider.CreatePusher(_provinceClient);
-            await pusher.PushOrderCreatedAsync(cancellationToken);
+
+
+            var data = new SubmitCaseInfoData
+            {
+                CaseInfos = new List<CaseInfo>
+                {
+                    new CaseInfo
+                    {
+                        OrderNo = order.OrderNo,
+                        OrderTitle = order.OrderId
+                    }
+                }
+            };
+            var request = new SubmitCaseInfoRequest();
+            request.SetData(data);
+
+
+            await pusher.PushOrderCreatedAsync(request, cancellationToken);
         }
     }
 }

+ 2 - 1
src/Sharing.Province/IProvincePusher.cs

@@ -1,8 +1,9 @@
 using Sharing.Province.Dtos;
+using Sharing.Province.Dtos.HuiJu;
 
 namespace Sharing.Province;
 
 public interface IProvincePusher
 {
-    Task PushOrderCreatedAsync(CancellationToken cancellationToken);
+    Task PushOrderCreatedAsync(SubmitCaseInfoRequest request, CancellationToken cancellationToken);
 }

+ 3 - 1
src/Sharing.Province/SmartPusher.cs

@@ -1,10 +1,12 @@
 using Sharing.Province.Dtos;
+using Sharing.Province.Dtos.HuiJu;
 
 namespace Sharing.Province;
 
+//todo 留待扩展
 public class SmartPusher : IProvincePusher
 {
-    public async Task PushOrderCreatedAsync(CancellationToken cancellationToken)
+    public async Task PushOrderCreatedAsync(SubmitCaseInfoRequest request, CancellationToken cancellationToken)
     {
         throw new NotImplementedException();
     }