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();
+ }
}
}