田爽 1 жил өмнө
parent
commit
afb14b6391

+ 3 - 0
src/Hotline.Api/Controllers/SchedulingController.cs

@@ -221,6 +221,7 @@ namespace Hotline.Api.Controllers
 					throw UserFriendlyException.SameMessage("请传入排班班次信息");
 
 				var scheduling = _mapper.Map<Scheduling>(dto);
+				scheduling.SendOrderNum = 0;
 				schedulings.Add(scheduling);
 			}
 			await _schedulingRepository.AddRangeAsync(schedulings, HttpContext.RequestAborted);
@@ -288,6 +289,8 @@ namespace Hotline.Api.Controllers
 				.Includes(x => x.SchedulingUser)
 				.Includes(x => x.SchedulingShift)
 				.WhereIF(!string.IsNullOrEmpty(dto.Keyword), x => x.ShiftName.Contains(dto.Keyword!))
+				.WhereIF(dto.StartTime.HasValue, x => x.SchedulingTime >= dto.StartTime)
+				.WhereIF(dto.EndTime.HasValue, x => x.SchedulingTime <= dto.EndTime)
 				.OrderByDescending(x => x.CreationTime)
 				.ToPagedListAsync(dto.PageIndex, dto.PageSize, HttpContext.RequestAborted);
 			return new PagedDto<Scheduling>(total, items);

+ 8 - 0
src/Hotline.Share/Dtos/Schedulings/SchedulingDto.cs

@@ -120,6 +120,14 @@ namespace Hotline.Share.Dtos.Schedulings
 
 	public record ListDto : PagedKeywordRequest
 	{
+		/// <summary>
+		/// 开始时间
+		/// </summary>
+		public DateTime? StartTime { get; set; }
 
+		/// <summary>
+		/// 结束时间
+		/// </summary>
+		public DateTime? EndTime { get; set; }
 	}
 }

+ 13 - 4
src/Hotline/Orders/OrderDomainService.cs

@@ -10,6 +10,7 @@ using XF.Domain.Exceptions;
 using XF.Domain.Repository;
 using Hotline.CallCenter.Calls;
 using Hotline.File;
+using Hotline.Schedulings;
 using Microsoft.AspNetCore.Http;
 
 namespace Hotline.Orders;
@@ -28,8 +29,9 @@ public class OrderDomainService : IOrderDomainService, IScopeDependency
     private readonly IMapper _mapper;
     private readonly ILogger<OrderDomainService> _logger;
     private readonly IFileRepository _fileRepository;
+    private readonly IRepository<Scheduling> _schedulingRepository;
 
-    public OrderDomainService(
+	public OrderDomainService(
         IOrderRepository orderRepository,
         IRepository<OrderRedo> orderRedoRepository,
         IRepository<OrderPublish> orderPublishRepository,
@@ -42,7 +44,8 @@ public class OrderDomainService : IOrderDomainService, IScopeDependency
         IMapper mapper,
         ILogger<OrderDomainService> logger,
         IFileRepository fileRepository,
-        IRepository<WexCallRecord> wexCallRecordRepository)
+        IRepository<WexCallRecord> wexCallRecordRepository,
+        IRepository<Scheduling> schedulingRepository)
     {
         _orderRepository = orderRepository;
         _orderRedoRepository = orderRedoRepository;
@@ -56,8 +59,8 @@ public class OrderDomainService : IOrderDomainService, IScopeDependency
         _mapper = mapper;
         _logger = logger;
         _fileRepository = fileRepository;
-
-    }
+        _schedulingRepository = schedulingRepository;
+	}
 
     public async Task<Order> GetOrderAsync(string? orderId, bool withHotspot = false, bool withAcceptor = false,
         bool withExtension = false, CancellationToken cancellationToken = default)
@@ -154,6 +157,12 @@ public class OrderDomainService : IOrderDomainService, IScopeDependency
         return await _orderComplementRepository.AddAsync(complement, cancellationToken);
     }
 
+    #endregion
+
+    #region SchedulingSendOrder
+
+
+
     #endregion
 
     #region private

+ 5 - 0
src/Hotline/Schedulings/Scheduling.cs

@@ -60,5 +60,10 @@ namespace Hotline.Schedulings
 		/// </summary>
 		[SugarColumn(ColumnDescription = "排班时间")]
 		public DateTime? SchedulingTime { get; set; }
+
+		/// <summary>
+		/// 派单次数
+		/// </summary>
+		public int? SendOrderNum { get; set; }
 	}
 }