diff --git a/BBWY.Server.API/Controllers/OrderSyncController.cs b/BBWY.Server.API/Controllers/OrderSyncController.cs
index a3323cab..3ceef75a 100644
--- a/BBWY.Server.API/Controllers/OrderSyncController.cs
+++ b/BBWY.Server.API/Controllers/OrderSyncController.cs
@@ -68,6 +68,12 @@ namespace BBWY.Server.API.Controllers
orderSyncBusiness.SyncOrderByDate(syncOrderByDateRequest);
}
+ [HttpPost]
+ public void SyncAllShopOrderByDate()
+ {
+ orderSyncBusiness.SyncAllShopOrderByDate();
+ }
+
///
/// 接收订单推送
///
diff --git a/BBWY.Server.Business/PlatformSDK/JDBusiness.cs b/BBWY.Server.Business/PlatformSDK/JDBusiness.cs
index eab2da83..b99eb336 100644
--- a/BBWY.Server.Business/PlatformSDK/JDBusiness.cs
+++ b/BBWY.Server.Business/PlatformSDK/JDBusiness.cs
@@ -123,6 +123,16 @@ namespace BBWY.Server.Business
};
}
+ private string GetSkuTitle(JToken s)
+ {
+ var title = s["saleAttrs"] != null ? string.Join("-", s["saleAttrs"].Select(a => a["attrValueAlias"][0].ToString())) : string.Empty;
+ if (!string.IsNullOrEmpty(title) && title.Contains("id") && title.Contains("value"))
+ {
+ title = string.Join("", JArray.Parse(title).Select(j => $"{j.Value("value")}{j.Value("unit")}"));
+ }
+ return title;
+ }
+
public override IList GetProductSkuList(SearchProductSkuRequest searchProductSkuRequest)
{
var jdClient = GetJdClient(searchProductSkuRequest.AppKey, searchProductSkuRequest.AppSecret);
@@ -164,7 +174,7 @@ namespace BBWY.Server.Business
Id = s.Value("skuId"),
ProductId = s.Value("wareId"),
Price = s.Value("jdPrice"),
- Title = s["saleAttrs"] != null ? string.Join("-", s["saleAttrs"].Select(a => a["attrValueAlias"][0].ToString())) : string.Empty,
+ Title = GetSkuTitle(s),
Logo = $"https://img13.360buyimg.com/n9/s80x80_{s.Value("logo")}",
State = s.Value("status"),
CreateTime = s.Value("created").StampToDateTime(),
diff --git a/BBWY.Server.Business/Sync/OrderSyncBusiness.cs b/BBWY.Server.Business/Sync/OrderSyncBusiness.cs
index ad1999bc..7d714e34 100644
--- a/BBWY.Server.Business/Sync/OrderSyncBusiness.cs
+++ b/BBWY.Server.Business/Sync/OrderSyncBusiness.cs
@@ -140,11 +140,11 @@ namespace BBWY.Server.Business
public void SyncOrderByDate(SyncOrderByDateRequest syncOrderByDateRequest)
{
- if (fsql.Select().Where(ost => ost.ShopId == syncOrderByDateRequest.ShopId && ost.State == Enums.OrderSyncState.Running).Any())
- throw new BusinessException("存在未结束的同步任务,请稍后同步");
- syncOrderByDateRequest.EndTime = syncOrderByDateRequest.EndTime.Date.AddDays(1).AddSeconds(-1);
- if ((syncOrderByDateRequest.EndTime - syncOrderByDateRequest.StartTime).Days > 7)
- throw new BusinessException("同步任务时差最长7天");
+ //if (fsql.Select().Where(ost => ost.ShopId == syncOrderByDateRequest.ShopId && ost.State == Enums.OrderSyncState.Running).Any())
+ // throw new BusinessException("存在未结束的同步任务,请稍后同步");
+ //syncOrderByDateRequest.EndTime = syncOrderByDateRequest.EndTime.Date.AddDays(1).AddSeconds(-1);
+ //if ((syncOrderByDateRequest.EndTime - syncOrderByDateRequest.StartTime).Days > 7)
+ // throw new BusinessException("同步任务时差最长7天");
var orderSyncTask = new OrderSyncTask()
{
@@ -1096,6 +1096,22 @@ namespace BBWY.Server.Business
}
}
+ public void SyncAllShopOrderByDate()
+ {
+ var shopList = venderBusiness.GetShopList(platform: Enums.Platform.京东);
+ var st = DateTime.Parse("2023-11-26 00:00:00");
+ var et = DateTime.Parse("2023-11-27 14:00:00");
+ foreach (var shop in shopList)
+ {
+ Task.Factory.StartNew(() => SyncOrderByDate(new SyncOrderByDateRequest()
+ {
+ ShopId = long.Parse(shop.ShopId),
+ StartTime = st,
+ EndTime = et
+ }), CancellationToken.None, TaskCreationOptions.LongRunning, taskSchedulerManager.SyncOrderTaskScheduler);
+ }
+ }
+
///
/// 转换订单状态
///