diff --git a/BBWYB.Server.API/Controllers/OrderSyncController.cs b/BBWYB.Server.API/Controllers/OrderSyncController.cs index be68e77..c461613 100644 --- a/BBWYB.Server.API/Controllers/OrderSyncController.cs +++ b/BBWYB.Server.API/Controllers/OrderSyncController.cs @@ -31,5 +31,17 @@ namespace BBWYB.Server.API.Controllers { orderSyncBusiness.ManualOrderSync(shopId, orderId, null, null); } - } + + /// + /// 根据时间同步订单 + /// + /// + /// + /// + [HttpPost] + public void ManualOrderSyncByTime([FromQuery] long shopId, [FromQuery] DateTime startTime, [FromQuery] DateTime endTime) + { + orderSyncBusiness.ManualOrderSync(shopId, startTime, endTime); + } + } } diff --git a/BBWYB.Server.Business/Sync/OrderSyncBusiness.cs b/BBWYB.Server.Business/Sync/OrderSyncBusiness.cs index 711c33e..9cf75d4 100644 --- a/BBWYB.Server.Business/Sync/OrderSyncBusiness.cs +++ b/BBWYB.Server.Business/Sync/OrderSyncBusiness.cs @@ -43,6 +43,22 @@ namespace BBWYB.Server.Business.Sync Task.Factory.StartNew(() => Sync(shop, orderId, startTime, endTime, AdapterEnums.SortTimeField.Modify, AdapterEnums.SortType.Desc), CancellationToken.None, TaskCreationOptions.LongRunning, taskSchedulerManager.SyncOrderTaskScheduler); } + public void ManualOrderSync(long shopId, DateTime startTime, DateTime endTime) + { + var shop = venderBusiness.GetShopList(shopId, platform: Enums.Platform.拳探).FirstOrDefault(); + if (shop == null) + throw new BusinessException($"未找到店铺Id {shopId}"); + while (true) + { + var s = startTime; + var e = s.AddHours(3); + Sync(shop, string.Empty, s, e, AdapterEnums.SortTimeField.Modify, AdapterEnums.SortType.Desc); + if (e >= endTime) + break; + startTime = startTime.AddHours(3); + } + } + private void Sync(ShopResponse shop, string orderId, DateTime? startTime,