shanji 2 years ago
parent
commit
1a16c61e71
  1. 57
      BBWY.Server.Business/PlatformSDK/JDBusiness.cs
  2. 2
      BBWY.Server.Business/PlatformSDK/PDDBusiness.cs
  3. 4
      BBWY.Server.Business/PlatformSDK/PlatformSDKBusiness.cs
  4. 6
      BBWY.Server.Business/PlatformSDK/TaoBaoBusiness.cs
  5. 2
      BBWY.Server.Business/PlatformSDK/_1688Business.cs
  6. 4
      BBWY.Server.Business/TaskSchedulerManager.cs
  7. 2
      BBWY.Server.Model/Dto/Request/PromotionTask/StartPromotionTaskRequest.cs
  8. 1
      JD.API/Startup.cs

57
BBWY.Server.Business/PlatformSDK/JDBusiness.cs

@ -16,6 +16,7 @@ using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
namespace BBWY.Server.Business
{
@ -36,7 +37,7 @@ namespace BBWY.Server.Business
};
public JDBusiness(IMemoryCache memoryCache, NLogManager nLogManager) : base(memoryCache, nLogManager) { }
public JDBusiness(IMemoryCache memoryCache, NLogManager nLogManager, TaskSchedulerManager taskSchedulerManager) : base(memoryCache, nLogManager, taskSchedulerManager) { }
private IJdClient GetJdClient(string appKey, string appSecret)
{
@ -700,6 +701,9 @@ namespace BBWY.Server.Business
{
var jdClient = GetJdClient(deleteSkuRequest.AppKey, deleteSkuRequest.AppSecret);
if (haveGiftTemplateSku)
DeleteSkuList(deleteSkuRequest);
#region 设置完整标题
{
var req = new WareWriteUpdateWareTitleRequest();
@ -713,9 +717,6 @@ namespace BBWY.Server.Business
throw new BusinessException($"设置完整标题出错-{(string.IsNullOrEmpty(response.ErrorMsg) ? response.ErrMsg : response.ErrorMsg)}");
}
#endregion
if (haveGiftTemplateSku)
DeleteSkuList(deleteSkuRequest);
}
/// <summary>
@ -1172,26 +1173,28 @@ namespace BBWY.Server.Business
}
#endregion
#region 下架赠品sku
stepText = "下架赠品sku";
Thread.Sleep(5000);
DeleteSkuList(deleteGiftSkuRequest);
#endregion
#region 设置完整标题
{
stepText = "设置完整标题";
var req = new WareWriteUpdateWareTitleRequest();
req.wareId = long.Parse(request.MainProductSpu);
if (!request.FullTitle.StartsWith(brandName))
req.title = $"{brandName}{request.FullTitle}";
else
req.title = request.FullTitle;
var response = jdClient.Execute(req, request.AppToken, DateTime.Now.ToLocalTime());
if (response.IsError)
throw new BusinessException($"设置完整标题出错-{(string.IsNullOrEmpty(response.ErrorMsg) ? response.ErrMsg : response.ErrorMsg)}");
}
#endregion
Task.Factory.StartNew(() => StartJDPromotionTaskDelay(deleteGiftSkuRequest, request, brandName), CancellationToken.None, TaskCreationOptions.LongRunning, taskSchedulerManager.JDPromotionDelayTaskScheduler);
//#region 下架赠品sku
//stepText = "下架赠品sku";
//Thread.Sleep(5000);
//DeleteSkuList(deleteGiftSkuRequest);
//#endregion
//#region 设置完整标题
//{
// stepText = "设置完整标题";
// var req = new WareWriteUpdateWareTitleRequest();
// req.wareId = long.Parse(request.MainProductSpu);
// if (!request.FullTitle.StartsWith(brandName))
// req.title = $"{brandName}{request.FullTitle}";
// else
// req.title = request.FullTitle;
// var response = jdClient.Execute(req, request.AppToken, DateTime.Now.ToLocalTime());
// if (response.IsError)
// throw new BusinessException($"设置完整标题出错-{(string.IsNullOrEmpty(response.ErrorMsg) ? response.ErrMsg : response.ErrorMsg)}");
//}
//#endregion
return promotionId;
}
@ -1254,5 +1257,11 @@ namespace BBWY.Server.Business
}).ToList();
}
private void StartJDPromotionTaskDelay(DeleteSkuListRequest deleteSkuRequest, StartPromotionTaskRequest2 startRequest, string brandName)
{
Thread.Sleep(20 * 1000);
RollBackWhenStartPromotionError(deleteSkuRequest, startRequest, brandName, true);
}
}
}

2
BBWY.Server.Business/PlatformSDK/PDDBusiness.cs

@ -10,7 +10,7 @@ namespace BBWY.Server.Business
public class PDDBusiness : PlatformSDKBusiness
{
public override Enums.Platform Platform => Enums.Platform.;
public PDDBusiness(IMemoryCache memoryCache, NLogManager nLogManager) : base(memoryCache, nLogManager)
public PDDBusiness(IMemoryCache memoryCache, NLogManager nLogManager, TaskSchedulerManager taskSchedulerManager) : base(memoryCache, nLogManager, taskSchedulerManager)
{
}
}

4
BBWY.Server.Business/PlatformSDK/PlatformSDKBusiness.cs

@ -20,11 +20,13 @@ namespace BBWY.Server.Business
public virtual Enums.Platform Platform { get; }
protected NLogManager nLogManager;
protected TaskSchedulerManager taskSchedulerManager;
public PlatformSDKBusiness(IMemoryCache memoryCache, NLogManager nLogManager)
public PlatformSDKBusiness(IMemoryCache memoryCache, NLogManager nLogManager, TaskSchedulerManager taskSchedulerManager)
{
this.memoryCache = memoryCache;
this.nLogManager = nLogManager;
this.taskSchedulerManager = taskSchedulerManager;
this.expirationTimeSpan = TimeSpan.FromMinutes(60);
}

6
BBWY.Server.Business/PlatformSDK/TaoBaoBusiness.cs

@ -1,15 +1,11 @@
using BBWY.Server.Model;
using Microsoft.Extensions.Caching.Memory;
using NLog;
using System;
using System.Collections.Generic;
using System.Text;
namespace BBWY.Server.Business
{
public class TaoBaoBusiness : PlatformSDKBusiness
{
public TaoBaoBusiness(IMemoryCache memoryCache, NLogManager nLogManager) : base(memoryCache, nLogManager)
public TaoBaoBusiness(IMemoryCache memoryCache, NLogManager nLogManager, TaskSchedulerManager taskSchedulerManager) : base(memoryCache, nLogManager, taskSchedulerManager)
{
}

2
BBWY.Server.Business/PlatformSDK/_1688Business.cs

@ -23,7 +23,7 @@ namespace BBWY.Server.Business
private RestApiService restApiService;
private _1688TradeTypeCompare _1688TradeTypeCompare;
public _1688Business(IMemoryCache memoryCache, NLogManager nLogManager, RestApiService restApiService) : base(memoryCache, nLogManager)
public _1688Business(IMemoryCache memoryCache, NLogManager nLogManager, RestApiService restApiService, TaskSchedulerManager taskSchedulerManager) : base(memoryCache, nLogManager,taskSchedulerManager)
{
this.restApiService = restApiService;
_1688TradeTypeCompare = new _1688TradeTypeCompare();

4
BBWY.Server.Business/TaskSchedulerManager.cs

@ -22,6 +22,8 @@ namespace BBWY.Server.Business
public LimitedConcurrencyLevelTaskScheduler GOIWarningTaskScheduler { get; private set; }
public LimitedConcurrencyLevelTaskScheduler JDPromotionDelayTaskScheduler { get; private set; }
public TaskSchedulerManager()
{
SyncOrderTaskScheduler = new LimitedConcurrencyLevelTaskScheduler(10);
@ -35,6 +37,8 @@ namespace BBWY.Server.Business
StockNumWarningTaskScheduler = new LimitedConcurrencyLevelTaskScheduler(10);
GOIWarningTaskScheduler = new LimitedConcurrencyLevelTaskScheduler(10);
JDPromotionDelayTaskScheduler = new LimitedConcurrencyLevelTaskScheduler(10);
}
}
}

2
BBWY.Server.Model/Dto/Request/PromotionTask/StartPromotionTaskRequest.cs

@ -4,7 +4,7 @@ using System.Text;
namespace BBWY.Server.Model.Dto
{
public class StartPromotionTaskRequest: PlatformRequest
public class StartPromotionTaskRequest : PlatformRequest
{
public long Id { get; set; }
}

1
JD.API/Startup.cs

@ -41,6 +41,7 @@ namespace JD.API
services.AddMemoryCache();
services.AddSingleton<NLogManager>();
services.AddSingleton<TaskSchedulerManager>();
//services.AddSingleton(typeof(NLog.ILogger), NLog.LogManager.GetCurrentClassLogger());
var fsql = new FreeSql.FreeSqlBuilder().UseConnectionString(FreeSql.DataType.MySql, Configuration.GetConnectionString("DB")).Build();

Loading…
Cancel
Save