From cee8f9a0d0801bef537ebfe91f68171ec32a9af0 Mon Sep 17 00:00:00 2001 From: shanj <18996038927@163.com> Date: Tue, 5 Jul 2022 01:58:35 +0800 Subject: [PATCH] =?UTF-8?q?=E5=90=8C=E6=AD=A5=E6=89=80=E6=9C=89=E5=BA=97?= =?UTF-8?q?=E9=93=BA=E8=AE=A2=E5=8D=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Controllers/OrderController.cs | 13 +++++++++- BBWY.Server.Business/Order/OrderBusiness.cs | 25 +++++++++++++++++-- BBWY.Server.Business/Vender/VenderBusiness.cs | 5 ++++ 3 files changed, 40 insertions(+), 3 deletions(-) diff --git a/BBWY.Server.API/Controllers/OrderController.cs b/BBWY.Server.API/Controllers/OrderController.cs index 3e2fd356..4bd67312 100644 --- a/BBWY.Server.API/Controllers/OrderController.cs +++ b/BBWY.Server.API/Controllers/OrderController.cs @@ -107,7 +107,7 @@ namespace BBWY.Server.API.Controllers /// /// [HttpPost] - public void RelationPurchaseOrderV2([FromBody]RelationPurchaseOrderRequestV2 relationPurchaseOrderRequestV2) + public void RelationPurchaseOrderV2([FromBody] RelationPurchaseOrderRequestV2 relationPurchaseOrderRequestV2) { orderBusiness.RelationPurchaseOrderV2(relationPurchaseOrderRequestV2); } @@ -142,6 +142,7 @@ namespace BBWY.Server.API.Controllers orderBusiness.SyncOrderByDate(syncOrderByDateRequest); } + /* /// /// 订单同步 /// @@ -151,6 +152,16 @@ namespace BBWY.Server.API.Controllers { Task.Factory.StartNew(() => orderBusiness.SyncOrder(shopId, string.Empty), System.Threading.CancellationToken.None, TaskCreationOptions.LongRunning, taskSchedulerManager.SyncOrderTaskScheduler); } + */ + + /// + /// 同步所有店铺订单 + /// + [HttpPost] + public void SyncAllShopOrder() + { + orderBusiness.SyncAllShopOrder(); + } /// /// 订单同步 diff --git a/BBWY.Server.Business/Order/OrderBusiness.cs b/BBWY.Server.Business/Order/OrderBusiness.cs index df890b6a..8a533e14 100644 --- a/BBWY.Server.Business/Order/OrderBusiness.cs +++ b/BBWY.Server.Business/Order/OrderBusiness.cs @@ -29,6 +29,7 @@ namespace BBWY.Server.Business private IIdGenerator idGenerator; private TaskSchedulerManager taskSchedulerManager; private MDSBusiness mdsBusiness; + private VenderBusiness venderBusiness; private Lazy freeSqlMultiDBManagerLazy; private FreeSqlMultiDBManager freeSqlMultiDBManager => freeSqlMultiDBManagerLazy.Value; @@ -39,6 +40,7 @@ namespace BBWY.Server.Business IOptions options, TaskSchedulerManager taskSchedulerManager, MDSBusiness mdsBusiness, + VenderBusiness venderBusiness, IServiceProvider serviceProvider) : base(restApiService, options) { this.logger = logger; @@ -50,6 +52,7 @@ namespace BBWY.Server.Business { Enums.Platform.京东, SyncJDOrder } }; this.mdsBusiness = mdsBusiness; + this.venderBusiness = venderBusiness; freeSqlMultiDBManagerLazy = new Lazy(() => serviceProvider.GetService()); } @@ -980,11 +983,17 @@ namespace BBWY.Server.Business public void SyncOrder(long shopId, string orderId, DateTime? startTime = null, DateTime? endTime = null) { var shop = mdsBusiness.GetShopInfoByShopId(shopId); + SyncOrder(shop, orderId, startTime, endTime); + } + + private void SyncOrder(ShopResponse shop, string orderId, DateTime? startTime = null, DateTime? endTime = null, bool isAuto = false) + { try { + logger.Info($"订单同步 {shop.ShopName} isAuto {isAuto}"); if (!syncOrderMethodDic.ContainsKey(shop.PlatformId)) throw new Exception("不支持的平台"); - + var shopId = long.Parse(shop.ShopId); var relayAPIHost = GetPlatformRelayAPIHost(shop.PlatformId); var orderListApiResult = restApiService.SendRequest(relayAPIHost, "api/PlatformSDK/GetOrderList", new SearchPlatformOrderRequest() { @@ -997,7 +1006,7 @@ namespace BBWY.Server.Business PageSize = 100, Platform = shop.PlatformId, JDColType = string.IsNullOrEmpty(shop.ShopType) ? "0" : shop.ShopType, - SaveResponseLog = true, + //SaveResponseLog = true, OrderId = orderId }, null, HttpMethod.Post); if (orderListApiResult.StatusCode != System.Net.HttpStatusCode.OK) @@ -1509,5 +1518,17 @@ namespace BBWY.Server.Business } }); } + + /// + /// 同步所有店铺的订单 + /// + public void SyncAllShopOrder() + { + var shopList = venderBusiness.GetShopList(); + foreach (var shop in shopList) + { + Task.Factory.StartNew(() => SyncOrder(shop, string.Empty, isAuto: true), System.Threading.CancellationToken.None, TaskCreationOptions.LongRunning, taskSchedulerManager.SyncOrderTaskScheduler); + } + } } } diff --git a/BBWY.Server.Business/Vender/VenderBusiness.cs b/BBWY.Server.Business/Vender/VenderBusiness.cs index 901525b9..e4b4cdff 100644 --- a/BBWY.Server.Business/Vender/VenderBusiness.cs +++ b/BBWY.Server.Business/Vender/VenderBusiness.cs @@ -219,5 +219,10 @@ namespace BBWY.Server.Business } return departmentList; } + + public IList GetShopList() + { + return freeSqlMultiDBManager.MDSfsql.Select().Where(s => !string.IsNullOrEmpty(s.ShopId)).ToList(); + } } }