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

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

@ -26,8 +26,9 @@ namespace BBWY.Server.Business
private DingDingBusiness dingDingBusiness;
private NLogManager nLogManager;
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.idGenerator = idGenerator;
@ -35,6 +36,7 @@ namespace BBWY.Server.Business
this.venderBusiness = venderBusiness;
this.dingDingBusiness = dingDingBusiness;
this.nLogManager = nLogManager;
this.productBusiness = productBusiness;
validOrderStateList = new List<Enums.OrderState>()
{
Enums.OrderState.,
@ -463,8 +465,11 @@ namespace BBWY.Server.Business
throw new BusinessException(response.Msg);
}
fsql.Delete<PromotionTask>(request.TaskId).ExecuteAffrows();
fsql.Transaction(() =>
{
fsql.Delete<PromotionTask>(request.TaskId).ExecuteAffrows();
fsql.Delete<PromotionTaskSkuRecord>().Where(psr => psr.PromotionTaskId == request.TaskId).ExecuteAffrows();
});
}
/// <summary>
@ -504,7 +509,12 @@ namespace BBWY.Server.Business
if (!response.Success)
throw new BusinessException(response.Msg);
}
fsql.Delete<PromotionTask>(request.TaskId).ExecuteAffrows();
fsql.Transaction(() =>
{
fsql.Delete<PromotionTask>(request.TaskId).ExecuteAffrows();
fsql.Delete<PromotionTaskSkuRecord>().Where(psr => psr.PromotionTaskId == request.TaskId).ExecuteAffrows();
});
}
/// <summary>
@ -564,7 +574,7 @@ namespace BBWY.Server.Business
.InnerJoin((osku, o) => osku.OrderId == o.Id)
.WhereIf(shopId != null, (osku, o) => o.ShopId == shopId)
.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
{
CreateTime = osku.CreateTime,
@ -622,20 +632,42 @@ namespace BBWY.Server.Business
IList<OrderSku> orderSkuList,
IList<PromotionTaskSkuRecord> promotionTaskSkuRecordList)
{
var loggerName = $"库存预警-{shop.ShopName}";
var loggerName = $"评价助手任务监控-{shop.ShopName}";
List<IUpdate<PromotionTask>> updatePromotionTaskList = new List<IUpdate<PromotionTask>>();
List<PromotionTaskSkuRecord> insertPromotionTaskSkuRecordList = new List<PromotionTaskSkuRecord>();
IList<long> jobDoneTaskIdList = new List<long>();
foreach (var promotionTask in runningTaskList)
{
var motherSkuList = new List<string>();
if (!string.IsNullOrEmpty(promotionTask.CustomMotherSku))
motherSkuList.AddRange(promotionTask.CustomMotherSku.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries));
if (!string.IsNullOrEmpty(promotionTask.MainProductSku))
motherSkuList.AddRange(promotionTask.MainProductSku.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries));
var productSkuList = new List<string>();
#region 读取主商品sku
{
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 &&
promotionTaskSkuRecordList.Count(psr => psr.PromotionTaskId == promotionTask.Id &&
psr.OrderId == osku.OrderId) == 0).ToList();
@ -694,14 +726,14 @@ namespace BBWY.Server.Business
if (httpResult.StatusCode != System.Net.HttpStatusCode.OK)
{
LogMonitorError(shop, loggerName, "自动任务-暂停京东活动", httpResult.Content);
LogMonitorError(shop, loggerName, $"{promotionTask.Id}-监控任务-暂停京东活动", httpResult.Content);
}
else
{
var response = JsonConvert.DeserializeObject<ApiResponse>(httpResult.Content);
if (!response.Success)
{
LogMonitorError(shop, loggerName, "自动任务-暂停京东活动", response.Msg);
LogMonitorError(shop, loggerName, $"{promotionTask.Id}-监控任务-暂停京东活动", response.Msg);
}
else
{

17
BBWY.Test/JDPromotionAPITest.cs

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

29
BBWY.Test/Program.cs

@ -24,8 +24,8 @@ namespace BBWY.Test
////2ace3023200c4ea9aa682bbf8bffee18jztm 布莱特玩具
//var token = "01dc6f6e7fc34dcd99090d690312556cmdfk"; //齐盛
//var token = "9fffa982da23446fb035499ae5622f49odjk"; //腾奇
//var token = "c22ff4d37b6c4bbd82cd9e8d0dab42dbziyz"; //森王车品
var token = "44c19a1c1fbd4641957e6e8985ed1358jmtl"; //森王玩具
var token = "c22ff4d37b6c4bbd82cd9e8d0dab42dbziyz"; //森王车品
//var token = "44c19a1c1fbd4641957e6e8985ed1358jmtl"; //森王玩具
//var appkey = "120EA9EC65AB017567D78CC1139EEEA5";
//var appSecret = "8a42bc2301e8439b896e99f5475e0a9b";
@ -42,29 +42,20 @@ namespace BBWY.Test
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();
// req.promoId = 5623871513;
// req.status = 4;
// var res = client.Execute(req, token, DateTime.Now.ToLocalTime());
// 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));
//}
{
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();
}
}

Loading…
Cancel
Save