shanji 2 years ago
parent
commit
ad52488754
  1. 56
      BBWY.Server.Business/EvaluationAssistant/EvaluationAssistantBusiness.cs
  2. 17
      BBWY.Test/JDPromotionAPITest.cs
  3. 29
      BBWY.Test/Program.cs

56
BBWY.Server.Business/EvaluationAssistant/EvaluationAssistantBusiness.cs

@ -26,8 +26,9 @@ namespace BBWY.Server.Business
private DingDingBusiness dingDingBusiness; private DingDingBusiness dingDingBusiness;
private NLogManager nLogManager; private NLogManager nLogManager;
private List<Enums.OrderState> validOrderStateList; private List<Enums.OrderState> validOrderStateList;
private ProductBusiness productBusiness;
public EvaluationAssistantBusiness(RestApiService restApiService, IOptions<GlobalConfig> options, YunDingBusiness yunDingBusiness, IFreeSql fsql, IIdGenerator idGenerator, TaskSchedulerManager taskSchedulerManager, VenderBusiness venderBusiness, DingDingBusiness dingDingBusiness, NLogManager nLogManager) : base(restApiService, options, yunDingBusiness) public EvaluationAssistantBusiness(RestApiService restApiService, IOptions<GlobalConfig> options, YunDingBusiness yunDingBusiness, IFreeSql fsql, IIdGenerator idGenerator, TaskSchedulerManager taskSchedulerManager, VenderBusiness venderBusiness, DingDingBusiness dingDingBusiness, NLogManager nLogManager, ProductBusiness productBusiness) : base(restApiService, options, yunDingBusiness)
{ {
this.fsql = fsql; this.fsql = fsql;
this.idGenerator = idGenerator; this.idGenerator = idGenerator;
@ -35,6 +36,7 @@ namespace BBWY.Server.Business
this.venderBusiness = venderBusiness; this.venderBusiness = venderBusiness;
this.dingDingBusiness = dingDingBusiness; this.dingDingBusiness = dingDingBusiness;
this.nLogManager = nLogManager; this.nLogManager = nLogManager;
this.productBusiness = productBusiness;
validOrderStateList = new List<Enums.OrderState>() validOrderStateList = new List<Enums.OrderState>()
{ {
Enums.OrderState., Enums.OrderState.,
@ -463,8 +465,11 @@ namespace BBWY.Server.Business
throw new BusinessException(response.Msg); throw new BusinessException(response.Msg);
} }
fsql.Transaction(() =>
{
fsql.Delete<PromotionTask>(request.TaskId).ExecuteAffrows(); fsql.Delete<PromotionTask>(request.TaskId).ExecuteAffrows();
fsql.Delete<PromotionTaskSkuRecord>().Where(psr => psr.PromotionTaskId == request.TaskId).ExecuteAffrows();
});
} }
/// <summary> /// <summary>
@ -504,7 +509,12 @@ namespace BBWY.Server.Business
if (!response.Success) if (!response.Success)
throw new BusinessException(response.Msg); throw new BusinessException(response.Msg);
} }
fsql.Transaction(() =>
{
fsql.Delete<PromotionTask>(request.TaskId).ExecuteAffrows(); fsql.Delete<PromotionTask>(request.TaskId).ExecuteAffrows();
fsql.Delete<PromotionTaskSkuRecord>().Where(psr => psr.PromotionTaskId == request.TaskId).ExecuteAffrows();
});
} }
/// <summary> /// <summary>
@ -564,7 +574,7 @@ namespace BBWY.Server.Business
.InnerJoin((osku, o) => osku.OrderId == o.Id) .InnerJoin((osku, o) => osku.OrderId == o.Id)
.WhereIf(shopId != null, (osku, o) => o.ShopId == shopId) .WhereIf(shopId != null, (osku, o) => o.ShopId == shopId)
.Where((osku, o) => validOrderStateList.Contains(o.OrderState.Value)) .Where((osku, o) => validOrderStateList.Contains(o.OrderState.Value))
.Where((osku, o) => osku.Price > 0 && osku.CreateTime >= querySkuTime) .Where((osku, o) => osku.CreateTime >= querySkuTime)
.ToList((osku, o) => new OrderSku .ToList((osku, o) => new OrderSku
{ {
CreateTime = osku.CreateTime, CreateTime = osku.CreateTime,
@ -622,20 +632,42 @@ namespace BBWY.Server.Business
IList<OrderSku> orderSkuList, IList<OrderSku> orderSkuList,
IList<PromotionTaskSkuRecord> promotionTaskSkuRecordList) IList<PromotionTaskSkuRecord> promotionTaskSkuRecordList)
{ {
var loggerName = $"库存预警-{shop.ShopName}"; var loggerName = $"评价助手任务监控-{shop.ShopName}";
List<IUpdate<PromotionTask>> updatePromotionTaskList = new List<IUpdate<PromotionTask>>(); List<IUpdate<PromotionTask>> updatePromotionTaskList = new List<IUpdate<PromotionTask>>();
List<PromotionTaskSkuRecord> insertPromotionTaskSkuRecordList = new List<PromotionTaskSkuRecord>(); List<PromotionTaskSkuRecord> insertPromotionTaskSkuRecordList = new List<PromotionTaskSkuRecord>();
IList<long> jobDoneTaskIdList = new List<long>(); IList<long> jobDoneTaskIdList = new List<long>();
foreach (var promotionTask in runningTaskList) foreach (var promotionTask in runningTaskList)
{ {
var motherSkuList = new List<string>(); var productSkuList = new List<string>();
if (!string.IsNullOrEmpty(promotionTask.CustomMotherSku))
motherSkuList.AddRange(promotionTask.CustomMotherSku.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries)); #region 读取主商品sku
if (!string.IsNullOrEmpty(promotionTask.MainProductSku)) {
motherSkuList.AddRange(promotionTask.MainProductSku.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries)); var productResponseSkuList = productBusiness.GetProductSkuList(new SearchProductSkuRequest()
{
AppKey = shop.AppKey2,
AppSecret = shop.AppSecret2,
AppToken = shop.AppToken2,
IsContainSource = false,
Platform = Enums.Platform.,
Spu = promotionTask.MainProductSpu
});
if (productResponseSkuList == null || productResponseSkuList.Count() == 0)
{
LogMonitorError(shop, loggerName, $"{promotionTask.Id}-监控任务-查询主商品sku", "未查询到主商品sku信息");
continue;
}
productSkuList.AddRange(productResponseSkuList.Select(p => p.Id));
}
#endregion
if (!string.IsNullOrEmpty(promotionTask.GiftTemplatePutNewSku))
{
productSkuList.AddRange(promotionTask.GiftTemplatePutNewSku.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries));
}
var newOrderSkuList = orderSkuList.Where(osku => motherSkuList.Contains(osku.SkuId) && var newOrderSkuList = orderSkuList.Where(osku => productSkuList.Contains(osku.SkuId) &&
osku.CreateTime > promotionTask.StartTime && osku.CreateTime > promotionTask.StartTime &&
promotionTaskSkuRecordList.Count(psr => psr.PromotionTaskId == promotionTask.Id && promotionTaskSkuRecordList.Count(psr => psr.PromotionTaskId == promotionTask.Id &&
psr.OrderId == osku.OrderId) == 0).ToList(); psr.OrderId == osku.OrderId) == 0).ToList();
@ -694,14 +726,14 @@ namespace BBWY.Server.Business
if (httpResult.StatusCode != System.Net.HttpStatusCode.OK) if (httpResult.StatusCode != System.Net.HttpStatusCode.OK)
{ {
LogMonitorError(shop, loggerName, "自动任务-暂停京东活动", httpResult.Content); LogMonitorError(shop, loggerName, $"{promotionTask.Id}-监控任务-暂停京东活动", httpResult.Content);
} }
else else
{ {
var response = JsonConvert.DeserializeObject<ApiResponse>(httpResult.Content); var response = JsonConvert.DeserializeObject<ApiResponse>(httpResult.Content);
if (!response.Success) if (!response.Success)
{ {
LogMonitorError(shop, loggerName, "自动任务-暂停京东活动", response.Msg); LogMonitorError(shop, loggerName, $"{promotionTask.Id}-监控任务-暂停京东活动", response.Msg);
} }
else else
{ {

17
BBWY.Test/JDPromotionAPITest.cs

@ -11,16 +11,17 @@ namespace BBWY.Test
{ {
public void GetPromotionDetailById(IJdClient client, string token, long promotionId) public void GetPromotionDetailById(IJdClient client, string token, long promotionId)
{ {
//{ {
// var req = new SellerPromotionV2GetRequest(); var req = new SellerPromotionV2GetRequest();
// req.promoId = promotionId; req.promoId = promotionId;
// req.promoType = 4; req.promoType = 4;
// var response = client.Execute(req, token, DateTime.Now.ToLocalTime()); var response = client.Execute(req, token, DateTime.Now.ToLocalTime());
// Console.WriteLine(JsonConvert.SerializeObject(response)); Console.WriteLine(JsonConvert.SerializeObject(response));
Console.WriteLine();
// Console.WriteLine(); }
//}
{ {
var pageIndex = 1; var pageIndex = 1;
while (true) while (true)

29
BBWY.Test/Program.cs

@ -24,8 +24,8 @@ namespace BBWY.Test
////2ace3023200c4ea9aa682bbf8bffee18jztm 布莱特玩具 ////2ace3023200c4ea9aa682bbf8bffee18jztm 布莱特玩具
//var token = "01dc6f6e7fc34dcd99090d690312556cmdfk"; //齐盛 //var token = "01dc6f6e7fc34dcd99090d690312556cmdfk"; //齐盛
//var token = "9fffa982da23446fb035499ae5622f49odjk"; //腾奇 //var token = "9fffa982da23446fb035499ae5622f49odjk"; //腾奇
//var token = "c22ff4d37b6c4bbd82cd9e8d0dab42dbziyz"; //森王车品 var token = "c22ff4d37b6c4bbd82cd9e8d0dab42dbziyz"; //森王车品
var token = "44c19a1c1fbd4641957e6e8985ed1358jmtl"; //森王玩具 //var token = "44c19a1c1fbd4641957e6e8985ed1358jmtl"; //森王玩具
//var appkey = "120EA9EC65AB017567D78CC1139EEEA5"; //var appkey = "120EA9EC65AB017567D78CC1139EEEA5";
//var appSecret = "8a42bc2301e8439b896e99f5475e0a9b"; //var appSecret = "8a42bc2301e8439b896e99f5475e0a9b";
@ -42,29 +42,20 @@ namespace BBWY.Test
IJdClient client = GetJdClient(appkey, appSecret); IJdClient client = GetJdClient(appkey, appSecret);
//var p = new JDPromotionAPITest(); var p = new JDPromotionAPITest();
p.GetPromotionDetailById(client, token, 5625514004);
//var p = new JDProductAPITest();
//p.GetSkus(client, token);
//{ //{
// var req = new SellerPromotionCheckRequest(); // var req = new SellerPromotionV2SuspendRequest();
// req.promoId = 5623871513;
// req.status = 4; // req.requestId = Guid.NewGuid().ToString();
// var res = client.Execute(req, token, DateTime.Now.ToLocalTime()); // req.promoId = 562425929;
// req.promoType = 4;
// var res = client.Execute(req, "44c19a1c1fbd4641957e6e8985ed1358jmtl", DateTime.Now.ToLocalTime());
// Console.WriteLine(JsonConvert.SerializeObject(res)); // Console.WriteLine(JsonConvert.SerializeObject(res));
//} //}
{
var req = new SellerPromotionV2SuspendRequest();
req.requestId = Guid.NewGuid().ToString();
req.promoId = 562425929;
req.promoType = 4;
var res = client.Execute(req, "44c19a1c1fbd4641957e6e8985ed1358jmtl", DateTime.Now.ToLocalTime());
Console.WriteLine(JsonConvert.SerializeObject(res));
}
Console.ReadKey(); Console.ReadKey();
} }
} }

Loading…
Cancel
Save