Browse Source

Merge branch 'test' of http://110.188.24.182:10023/Fengwo/hotline into test

tangjiang 1 month ago
parent
commit
3d066bbb02

+ 45 - 25
src/Hotline.Api/Controllers/TestController.cs

@@ -63,6 +63,7 @@ using XF.Domain.Queues;
 using XF.Domain.Repository;
 using Order = Hotline.Orders.Order;
 using OrderDto = Hotline.Share.Dtos.Order.OrderDto;
+using XF.Domain.Entities;
 
 namespace Hotline.Api.Controllers;
 
@@ -1452,30 +1453,49 @@ public class TestController : BaseController
         }
     }
 
-    ///// <summary>
-    ///// 重推归档数据(设置超期时间和归档时间)
-    ///// </summary>
-    ///// <param name="no"></param>
-    ///// <param name="expiredTime"></param>
-    ///// <param name="filedTime"></param>
-    ///// <returns></returns>
-    //[HttpGet("repush-order-file")]
-    //[AllowAnonymous]
-    //public async Task RepushOrderFile(string no, DateTime expiredTime, DateTime filedTime)
-    //{
-    //    var order = await _orderRepository.Queryable()
-    //        .FirstAsync(d => d.No == no, HttpContext.RequestAborted);
-
-    //    var workflow = await _workflowDomainService.GetWorkflowAsync(order.WorkflowId, withTraces: true);
-
-    //    var orderFlowDto = new OrderFlowDto
-    //    {
-    //        Order = _mapper.Map<OrderDto>(order),
-    //        WorkflowTrace = _mapper.Map<WorkflowTraceDto>(notification.Trace)
-    //    };
-
-    //    await _capPublisher.PublishAsync(Hotline.Share.Mq.EventNames.HotlineOrderFiled, orderFlowDto, cancellationToken: cancellationToken);
-    //}
-
+	///// <summary>
+	///// 重推归档数据(设置超期时间和归档时间)
+	///// </summary>
+	///// <param name="no"></param>
+	///// <param name="expiredTime"></param>
+	///// <param name="filedTime"></param>
+	///// <returns></returns>
+	//[HttpGet("repush-order-file")]
+	//[AllowAnonymous]
+	//public async Task RepushOrderFile(string no, DateTime expiredTime, DateTime filedTime)
+	//{
+	//    var order = await _orderRepository.Queryable()
+	//        .FirstAsync(d => d.No == no, HttpContext.RequestAborted);
+
+	//    var workflow = await _workflowDomainService.GetWorkflowAsync(order.WorkflowId, withTraces: true);
+
+	//    var orderFlowDto = new OrderFlowDto
+	//    {
+	//        Order = _mapper.Map<OrderDto>(order),
+	//        WorkflowTrace = _mapper.Map<WorkflowTraceDto>(notification.Trace)
+	//    };
+
+	//    await _capPublisher.PublishAsync(Hotline.Share.Mq.EventNames.HotlineOrderFiled, orderFlowDto, cancellationToken: cancellationToken);
+	//}
+	/// <summary>
+	/// 工单 PushTypeCode 重推处理
+	/// </summary>
+	/// <returns></returns>
+	[HttpPost("order_push_type_code")]
+	[AllowAnonymous]
+
+	public async Task OrderPushTypeCode(OrderPushTypeCodeDto dto) {
+		var orders = await _orderRepository.Queryable()
+            .Where(d=>d.PushTypeCode.Contains(dto.PushTypeCode))
+			.WhereIF(dto.StartTime.HasValue, d => d.CreationTime >= dto.StartTime) //受理时间开始
+			.WhereIF(dto.EndTime.HasValue, d => d.CreationTime <= dto.EndTime) //受理时间结束
+            .ToListAsync(HttpContext.RequestAborted);
+		foreach (var order in orders)
+		{
+			var orderDto = _mapper.Map<OrderDto>(order);
+			await _capPublisher.PublishAsync(Hotline.Share.Mq.EventNames.HotlineOrderExpiredTimeUpdate, orderDto,
+				cancellationToken: HttpContext.RequestAborted);
+		}
+	}
 }
 

+ 19 - 1
src/Hotline.Share/Dtos/Order/QueryOrderDto.cs

@@ -301,7 +301,25 @@ namespace Hotline.Share.Dtos.Order
         public bool IsReviewPass { get; set; }
     }
 
-    public class PublishOrderDelayDto
+	public record OrderPushTypeCodeDto
+	{
+		/// <summary>
+		/// 开始时间
+		/// </summary>
+		public DateTime? StartTime { get; set; }
+
+		/// <summary>
+		/// 结束时间
+		/// </summary>
+		public DateTime? EndTime { get; set; }
+
+		/// <summary>
+		/// pushTypeCode
+		/// </summary>
+		public string PushTypeCode { get; set; }
+	}
+
+	public class PublishOrderDelayDto
     {
         public string Id { get; set; }