Browse Source

1

AddValidOverTime
shanji 2 years ago
parent
commit
d3b3587cf4
  1. 111
      BBWY.Server.Business/EvaluationAssistant/EvaluationAssistantBusiness.cs
  2. 6
      BBWY.Server.Business/PlatformSDK/JDBusiness.cs
  3. 14
      BBWY.Server.Model/Dto/Request/PromotionTask/StartPromotionTaskRequest.cs
  4. 40
      BBWY.Test/Program.cs

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

@ -525,30 +525,34 @@ namespace BBWY.Server.Business
CheckRepeatSkuInRuningTask(runingTaskList, dbPromotionTask.MainProductSku); CheckRepeatSkuInRuningTask(runingTaskList, dbPromotionTask.MainProductSku);
} }
var joinSkuCount = 0;
var host = GetPlatformRelayAPIHost(Enums.Platform.); var host = GetPlatformRelayAPIHost(Enums.Platform.);
var haveGiftTemplateSku = giftTemplateSkuList != null && giftTemplateSkuList.Count() > 0; var haveGiftTemplateSku = giftTemplateSkuList != null && giftTemplateSkuList.Count() > 0;
string barCode = string.Empty, categoryId = string.Empty; string barCode = string.Empty, categoryId = string.Empty;
IList<JToken> multiCateProps = null; IList<JToken> multiCateProps = null;
var mainProductSkuInStore = false; var mainProductSkuInStore = false;
if (haveGiftTemplateSku)
var mainSkuResult = restApiService.SendRequest(host, "api/PlatformSDK/GetProductSkuList", new SearchProductSkuRequest()
{ {
var mainSkuResult = restApiService.SendRequest(host, "api/PlatformSDK/GetProductSkuList", new SearchProductSkuRequest() AppKey = request.AppKey,
{ AppSecret = request.AppSecret,
AppKey = request.AppKey, AppToken = request.AppToken,
AppSecret = request.AppSecret, IsContainSource = true,
AppToken = request.AppToken, Platform = request.Platform,
IsContainSource = true, Spu = dbPromotionTask.MainProductSpu
Platform = request.Platform, }, GetYunDingRequestHeader(), HttpMethod.Post);
Spu = dbPromotionTask.MainProductSpu if (mainSkuResult.StatusCode != System.Net.HttpStatusCode.OK)
}, GetYunDingRequestHeader(), HttpMethod.Post); throw new BusinessException($"获取主商品sku失败 {mainSkuResult.Content}");
if (mainSkuResult.StatusCode != System.Net.HttpStatusCode.OK) var mainSkuListResponse = JsonConvert.DeserializeObject<ApiResponse<IList<ProductSkuResponse>>>(mainSkuResult.Content);
throw new BusinessException($"获取主商品sku失败 {mainSkuResult.Content}"); if (!mainSkuListResponse.Success)
var mainSkuListResponse = JsonConvert.DeserializeObject<ApiResponse<IList<ProductSkuResponse>>>(mainSkuResult.Content); throw new BusinessException($"获取主商品sku失败 {mainSkuListResponse.Msg}");
if (!mainSkuListResponse.Success) joinSkuCount = mainSkuListResponse.Data.Count();
throw new BusinessException($"获取主商品sku失败 {mainSkuListResponse.Msg}"); //开启延迟任务
if (!string.IsNullOrEmpty(dbPromotionTask.CustomMotherSku))
joinSkuCount += dbPromotionTask.CustomMotherSku.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries).Count();
if (haveGiftTemplateSku)
{
barCode = mainSkuListResponse.Data[0].Source.Value<string>("barCode"); barCode = mainSkuListResponse.Data[0].Source.Value<string>("barCode");
categoryId = mainSkuListResponse.Data[0].Source.Value<string>("categoryId"); categoryId = mainSkuListResponse.Data[0].Source.Value<string>("categoryId");
multiCateProps = mainSkuListResponse.Data[0].Source["multiCateProps"] != null ? mainSkuListResponse.Data[0].Source["multiCateProps"].ToList() : null; multiCateProps = mainSkuListResponse.Data[0].Source["multiCateProps"] != null ? mainSkuListResponse.Data[0].Source["multiCateProps"].ToList() : null;
@ -620,12 +624,12 @@ namespace BBWY.Server.Business
startResponse.DeleteGiftSkuList.Count() != 0) startResponse.DeleteGiftSkuList.Count() != 0)
dbPromotionTask.GiftTemplatePutNewSku = string.Join(",", startResponse.DeleteGiftSkuList); dbPromotionTask.GiftTemplatePutNewSku = string.Join(",", startResponse.DeleteGiftSkuList);
try //try
{ //{
if (!string.IsNullOrEmpty(shop.PJZSDingDingKey) && !string.IsNullOrEmpty(shop.PJZSDingDingWebHook)) // if (!string.IsNullOrEmpty(shop.PJZSDingDingKey) && !string.IsNullOrEmpty(shop.PJZSDingDingWebHook))
dingDingBusiness.SendDingDingBotMessage(shop.PJZSDingDingKey, shop.PJZSDingDingWebHook, $"任务[{dbPromotionTask.ActivityName}]已开始,请及时查看任务是否正常进行"); // dingDingBusiness.SendDingDingBotMessage(shop.PJZSDingDingKey, shop.PJZSDingDingWebHook, $"任务[{dbPromotionTask.ActivityName}]已开始,请及时查看任务是否正常进行");
} //}
catch { } //catch { }
fsql.Update<PromotionTask>(request.Id).Set(pt => pt.PromotionId, startResponse.JDPromotionId) fsql.Update<PromotionTask>(request.Id).Set(pt => pt.PromotionId, startResponse.JDPromotionId)
.SetIf(!string.IsNullOrEmpty(dbPromotionTask.GiftTemplatePutNewSku), pt => pt.GiftTemplatePutNewSku, dbPromotionTask.GiftTemplatePutNewSku) .SetIf(!string.IsNullOrEmpty(dbPromotionTask.GiftTemplatePutNewSku), pt => pt.GiftTemplatePutNewSku, dbPromotionTask.GiftTemplatePutNewSku)
@ -634,11 +638,10 @@ namespace BBWY.Server.Business
.Set(pt => pt.Status, Enums.PromitionTaskStatus.) .Set(pt => pt.Status, Enums.PromitionTaskStatus.)
.ExecuteAffrows(); .ExecuteAffrows();
//开启延迟任务 Task.Factory.StartNew(() => StartPromotionDelayTask(request, startResponse, dbPromotionTask, shop, joinSkuCount), CancellationToken.None, TaskCreationOptions.LongRunning, taskSchedulerManager.JDPromotionDelayTaskScheduler);
Task.Factory.StartNew(() => StartPromotionDelayTask(request, startResponse, dbPromotionTask, shop), CancellationToken.None, TaskCreationOptions.LongRunning, taskSchedulerManager.JDPromotionDelayTaskScheduler);
} }
private void StartPromotionDelayTask(StartPromotionTaskRequest request, StartPromotionTaskResponse startResponse, PromotionTask promotionTask, ShopResponse shop) private void StartPromotionDelayTask(StartPromotionTaskRequest request, StartPromotionTaskResponse startResponse, PromotionTask promotionTask, ShopResponse shop, int joinSkuCount)
{ {
var host = GetPlatformRelayAPIHost(Enums.Platform.); var host = GetPlatformRelayAPIHost(Enums.Platform.);
@ -653,8 +656,12 @@ namespace BBWY.Server.Business
JDPromotionId = startResponse.JDPromotionId, JDPromotionId = startResponse.JDPromotionId,
MainProductSpu = promotionTask.MainProductSpu, MainProductSpu = promotionTask.MainProductSpu,
HaveGiftTemplate = promotionTask.GiftTemplateId != null && promotionTask.GiftTemplateId != 0, HaveGiftTemplate = promotionTask.GiftTemplateId != null && promotionTask.GiftTemplateId != 0,
DeleteGiftSkuList = startResponse.DeleteGiftSkuList DeleteGiftSkuList = startResponse.DeleteGiftSkuList,
}, GetYunDingRequestHeader(), HttpMethod.Post, timeOutSeconds: 300); ActivityName = promotionTask.ActivityName,
JoinSkuCount = joinSkuCount,
PJZSDingDingKey = shop.PJZSDingDingKey,
PJZSDingDingWebHook = shop.PJZSDingDingWebHook
}, GetYunDingRequestHeader(), HttpMethod.Post, timeOutSeconds: 400);
var errorBack = new Action<long, string>((id, errorMsg) => var errorBack = new Action<long, string>((id, errorMsg) =>
{ {
@ -995,31 +1002,31 @@ namespace BBWY.Server.Business
{ {
#region 提前完成任务量,暂停JD活动 #region 提前完成任务量,暂停JD活动
{ {
var httpResult = restApiService.SendRequest(GetPlatformRelayAPIHost(Enums.Platform.), //var httpResult = restApiService.SendRequest(GetPlatformRelayAPIHost(Enums.Platform.京东),
"api/platformsdk/SuspendJDPromotionTask", // "api/platformsdk/SuspendJDPromotionTask",
new SuspendDPromotionTaskRequest() // new SuspendDPromotionTaskRequest()
{ // {
AppKey = shop.AppKey2, // AppKey = shop.AppKey2,
AppSecret = shop.AppSecret2, // AppSecret = shop.AppSecret2,
AppToken = shop.AppToken2, // AppToken = shop.AppToken2,
Platform = Enums.Platform., // Platform = Enums.Platform.京东,
PromotionId = promotionTask.PromotionId.Value // PromotionId = promotionTask.PromotionId.Value
}, // },
GetYunDingRequestHeader(), // GetYunDingRequestHeader(),
HttpMethod.Post); // HttpMethod.Post);
//if (httpResult.StatusCode != System.Net.HttpStatusCode.OK) var httpResult = restApiService.SendRequest(GetPlatformRelayAPIHost(Enums.Platform.),
//{ "api/platformsdk/DeleteJDPromotionTask",
// Error(shop, loggerName, $"监控任务-暂停京东活动-任务Id {promotionTask.Id}", new Exception(httpResult.Content)); new DeleteJDPromotionTaskRequest()
//} {
//else AppKey = shop.AppKey2,
//{ AppSecret = shop.AppSecret2,
// var response = JsonConvert.DeserializeObject<ApiResponse>(httpResult.Content); AppToken = shop.AppToken2,
// if (!response.Success) Platform = Enums.Platform.,
// { PromotionId = promotionTask.PromotionId.Value
// Error(shop, loggerName, $"监控任务-暂停京东活动-任务Id {promotionTask.Id}", new Exception(response.Msg)); },
// } GetYunDingRequestHeader(),
//} HttpMethod.Post);
} }
#endregion #endregion
} }

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

@ -1294,7 +1294,7 @@ namespace BBWY.Server.Business
} }
} }
public override void StartJDPromotionDelayTask(StartPromotionTaskDelayRequest request) public override void StartJDPromotionDelayTask(StartPromotionTaskDelayRequest request
{ {
Thread.Sleep(60 * 1000); Thread.Sleep(60 * 1000);
try try
@ -1312,13 +1312,13 @@ namespace BBWY.Server.Business
#region 检查奶妈sku是否完全生效 #region 检查奶妈sku是否完全生效
{ {
var i = 0; var i = 0;
while (i < 10) while (i < 2)
{ {
i++; i++;
var promotionTaskSkuList = GetPromotionTaskSku(request.AppKey, request.AppSecret, request.AppToken, request.JDPromotionId); var promotionTaskSkuList = GetPromotionTaskSku(request.AppKey, request.AppSecret, request.AppToken, request.JDPromotionId);
if (promotionTaskSkuList.Any(s => s.Value<int>("bind_type") == 1 && s.Value<int>("sku_status") == 0)) if (promotionTaskSkuList.Any(s => s.Value<int>("bind_type") == 1 && s.Value<int>("sku_status") == 0))
{ {
Thread.Sleep(2000); Thread.Sleep(30000);
continue; continue;
} }
break; break;

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

@ -94,5 +94,19 @@ namespace BBWY.Server.Model.Dto
/// 是否包含赠品模板 /// 是否包含赠品模板
/// </summary> /// </summary>
public bool HaveGiftTemplate { get; set; } public bool HaveGiftTemplate { get; set; }
/// <summary>
/// 参与活动的SKU数 (不含赠品)
/// </summary>
public int JoinSkuCount { get; set; }
/// <summary>
/// 活动名称
/// </summary>
public string ActivityName { get; set; }
public string PJZSDingDingKey { get; set; }
public string PJZSDingDingWebHook { get; set; }
} }
} }

40
BBWY.Test/Program.cs

@ -10,6 +10,7 @@ using Microsoft.Extensions.DependencyInjection;
using Newtonsoft.Json; using Newtonsoft.Json;
using Newtonsoft.Json.Linq; using Newtonsoft.Json.Linq;
using System; using System;
using System.Collections.Generic;
using System.Diagnostics; using System.Diagnostics;
using System.Linq; using System.Linq;
using System.Net.Http; using System.Net.Http;
@ -46,31 +47,32 @@ namespace BBWY.Test
static void Main(string[] args) static void Main(string[] args)
{ {
//var appkey = "E1AA9247D5583A6D87449CE6AB290185"; var appkey = "E1AA9247D5583A6D87449CE6AB290185";
//var appSecret = "e479558ddd9e40f8929cfc00c6cbbc9c"; var appSecret = "e479558ddd9e40f8929cfc00c6cbbc9c";
var appkey = "120EA9EC65AB017567D78CC1139EEEA5"; // var appkey = "120EA9EC65AB017567D78CC1139EEEA5";
var appSecret = "8a42bc2301e8439b896e99f5475e0a9b"; // var appSecret = "8a42bc2301e8439b896e99f5475e0a9b";
////0e61c4a8ec3e4df4b5836e10884db9220yth 齐盛 ////0e61c4a8ec3e4df4b5836e10884db9220yth 齐盛
var token = "2ace3023200c4ea9aa682bbf8bffee18jztm"; //布莱特玩具 var token = "8404898e42d04358879785f0e576019cwndg"; //爱维亲玩具专营店
//var token = "01f5be2cb4d741dda66bce2356941597mdfm"; //布莱特玩具 token2
//var token = "01dc6f6e7fc34dcd99090d690312556cmdfk"; //齐盛
//var token = "9fffa982da23446fb035499ae5622f49odjk"; //腾奇
//var token = "c22ff4d37b6c4bbd82cd9e8d0dab42dbziyz"; //森王车品
//var token = "44c19a1c1fbd4641957e6e8985ed1358jmtl"; //森王玩具
//var token = "4a0ddc095e054c7aa90adcaccb14f83cwzgr"; //可比车品
//var token = "50a4c0f5c55848b5a8a715709e8d6fe0jntb"; //卿卿玩具专营店
//布莱特玩具
//var token = "01f5be2cb4d741dda66bce2356941597mdfm"; //布莱特玩具 token2
//var token = "01dc6f6e7fc34dcd99090d690312556cmdfk"; //齐盛
//var token = "9fffa982da23446fb035499ae5622f49odjk"; //腾奇
//var token = "c22ff4d37b6c4bbd82cd9e8d0dab42dbziyz"; //森王车品
//var token = "44c19a1c1fbd4641957e6e8985ed1358jmtl"; //森王玩具
//var token = "4a0ddc095e054c7aa90adcaccb14f83cwzgr"; //可比车品
//var token = "50a4c0f5c55848b5a8a715709e8d6fe0jntb"; //卿卿玩具专营店
{
var nNogManager = new NLogManager();
var pid = Process.GetCurrentProcess().Id;
var message = $"{pid}-{Guid.NewGuid()}";
Console.WriteLine(message);
nNogManager.GetLogger(pid.ToString()).Info(message);
}
var list1 = new List<long>() { 10079228186359, 10082297500241, 10082297500240, 10080447316056, 10079220447523, 10079201912937, 10079200088836, 10079200088833, 10079200088835, 10079200088832, 10079200088837, 10079194625126, 10083879389389, 10079200088834, 10083879389388, 10079124348172, 10079124348173, 10079144365199, 10079144365198, 10079115478818, 10079115478817, 10079115478819, 10079139644032, 10079139644033, 10079080505031, 10079080505032, 10079075020922, 10079075020921, 10079179600978, 10079178664215, 10079140753258, 10079123319498, 10079123319497, 10079140753259, 10079139644034, 10079075020917, 10079075020916, 10079075020919, 10079075020915, 10079075020920, 10079068398356, 10079068398357, 10079068398359, 10079068398358, 10079068398355, 10079070766630, 10079070766628, 10079070766629, 10079070766627, 10079061727434, 10079061727435, 10079067078716, 10079067078715, 10079051550275, 10079065234196, 10078949765112, 10079051550272, 10079051550273, 10078995578574, 10081271571077, 10078995578584, 10081271571078, 10079005060684, 10079005060685, 10078954770972, 10078954770970, 10078954770973, 10078954770971, 10078954090365, 10078950737155, 10078950737156, 10078950737154, 10078995578575, 10078995578573, 10079051550274, 10078942630181, 10078942630178, 10078942630180, 10078942630179, 10078949642109, 10078949642110, 10078949765111, 10078932762284, 10078932762282, 10078932762283, 10078932762285, 10078932762281, 10078932762280, 10078929048530, 10078929048529, 10078936875484, 10078936875486, 10078936875483, 10078936875482, 10078936875485, 10078927516637, 10078927516638, 10078927516636, 10078929048528, 10078924483318, 10078923909230, 10078923909232, 10078923909231, 10078915305594, 10078915305595, 10078915305596, 10078914570530, 10078913764603, 10078913764604, 10078893084597, 10078893084596, 10078895132329, 10078895132330, 10078926484276, 10078889852852, 10078885484651, 10078886812153, 10078887252150, 10078887252149, 10078881382522, 10078888593569, 10078884983577, 10078888593568, 10078886812154, 10078886812152, 10078888998815, 10078882492446, 10078882492445, 10078882939250, 10078886812151, 10078882939249, 10078889511230, 10078886812150, 10078887717699, 10078887717700, 10078881382521, 10078881382520, 10078881382519, 10078881382518, 10078878463607, 10078878463601, 10078878463603, 10078878463600, 10078878463606, 10078878463604, 10078878463602, 10078880399096, 10078878463608, 10078880399097, 10078878463605, 10078880399094, 10078875403071, 10079281444782, 10078880399095, 10078875403072, 10078874775401, 10078872017883, 10079059750532, 10079059750533, 10079059750534, 10079059750529, 10079059750530, 10078872696834, 10078872311300, 10078873232966, 10078873585555, 10078872311299, 10078872311301, 10079277073137, 10079277073138, 10079277073139, 10079277073140, 10079277073141 }.Distinct().ToList();
Console.WriteLine(list1.Count());
Console.ReadKey(); Console.ReadKey();
} }

Loading…
Cancel
Save