Эх сурвалжийг харах

数据共享-》业务 上报工单处理结果

田爽 1 жил өмнө
parent
commit
4adb6d2494

+ 40 - 0
src/Hotline.Application/Handlers/Order/OrderResultNotifyHandler.cs

@@ -0,0 +1,40 @@
+using Hotline.Application.FlowEngine;
+using Hotline.DataSharing.Province.Notifications;
+using Hotline.File;
+using Hotline.Orders;
+using Hotline.Share.Dtos.Order;
+using Hotline.Share.Enums.Order;
+using MapsterMapper;
+using MediatR;
+
+namespace Hotline.Application.Handlers.Order
+{
+	public class OrderResultNotifyHandler : INotificationHandler<OrderResultNotify>
+	{
+		private readonly IOrderRepository _orderRepository;
+		private readonly IWorkflowApplication _workflowApplication;
+
+		public OrderResultNotifyHandler(
+			IOrderRepository orderRepository, 
+			IWorkflowApplication workflowApplication)
+		{
+			_orderRepository = orderRepository;
+			_workflowApplication = workflowApplication;
+		}
+
+		public async Task Handle(OrderResultNotify request, CancellationToken cancellationToken)
+		{
+			var order = await  _orderRepository.GetAsync(request.OrderId, cancellationToken);
+            if (order != null)
+            {
+				if ("0".Equals(request.FinishType))
+				{
+					//todo  等_workflowApplication 新加一个退回上一个节点的方法
+				}
+				else if ("1".Equals(request.FinishType)) {
+					await _workflowApplication.JumpToEndAsync(order.WorkflowId, request.Opinion, cancellationToken: cancellationToken);
+				}
+			}
+        }
+	}
+}

+ 18 - 0
src/Hotline/DataSharing/Province/Notifications/OrderResultNotify.cs

@@ -0,0 +1,18 @@
+using MediatR;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace Hotline.DataSharing.Province.Notifications
+{
+	public class OrderResultNotify : INotification
+	{
+		public string OrderId { get; set; }
+
+		public string Opinion { get; set; }
+
+		public string FinishType { get; set; }
+	}
+}