From d3b3587cf40c7862ec857c5ab497368064e70e20 Mon Sep 17 00:00:00 2001 From: shanj <18996038927@163.com> Date: Fri, 29 Sep 2023 23:55:07 +0800 Subject: [PATCH] 1 --- .../EvaluationAssistantBusiness.cs | 111 ++++++++++-------- .../PlatformSDK/JDBusiness.cs | 6 +- .../StartPromotionTaskRequest.cs | 14 +++ BBWY.Test/Program.cs | 40 ++++--- 4 files changed, 97 insertions(+), 74 deletions(-) diff --git a/BBWY.Server.Business/EvaluationAssistant/EvaluationAssistantBusiness.cs b/BBWY.Server.Business/EvaluationAssistant/EvaluationAssistantBusiness.cs index efdfcdc4..846d3f84 100644 --- a/BBWY.Server.Business/EvaluationAssistant/EvaluationAssistantBusiness.cs +++ b/BBWY.Server.Business/EvaluationAssistant/EvaluationAssistantBusiness.cs @@ -525,30 +525,34 @@ namespace BBWY.Server.Business CheckRepeatSkuInRuningTask(runingTaskList, dbPromotionTask.MainProductSku); } - - + var joinSkuCount = 0; var host = GetPlatformRelayAPIHost(Enums.Platform.京东); var haveGiftTemplateSku = giftTemplateSkuList != null && giftTemplateSkuList.Count() > 0; string barCode = string.Empty, categoryId = string.Empty; IList multiCateProps = null; 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, - AppToken = request.AppToken, - IsContainSource = true, - Platform = request.Platform, - Spu = dbPromotionTask.MainProductSpu - }, GetYunDingRequestHeader(), HttpMethod.Post); - if (mainSkuResult.StatusCode != System.Net.HttpStatusCode.OK) - throw new BusinessException($"获取主商品sku失败 {mainSkuResult.Content}"); - var mainSkuListResponse = JsonConvert.DeserializeObject>>(mainSkuResult.Content); - if (!mainSkuListResponse.Success) - throw new BusinessException($"获取主商品sku失败 {mainSkuListResponse.Msg}"); + AppKey = request.AppKey, + AppSecret = request.AppSecret, + AppToken = request.AppToken, + IsContainSource = true, + Platform = request.Platform, + Spu = dbPromotionTask.MainProductSpu + }, GetYunDingRequestHeader(), HttpMethod.Post); + if (mainSkuResult.StatusCode != System.Net.HttpStatusCode.OK) + throw new BusinessException($"获取主商品sku失败 {mainSkuResult.Content}"); + var mainSkuListResponse = JsonConvert.DeserializeObject>>(mainSkuResult.Content); + if (!mainSkuListResponse.Success) + throw new BusinessException($"获取主商品sku失败 {mainSkuListResponse.Msg}"); + joinSkuCount = mainSkuListResponse.Data.Count(); + //开启延迟任务 + if (!string.IsNullOrEmpty(dbPromotionTask.CustomMotherSku)) + joinSkuCount += dbPromotionTask.CustomMotherSku.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries).Count(); + if (haveGiftTemplateSku) + { barCode = mainSkuListResponse.Data[0].Source.Value("barCode"); categoryId = mainSkuListResponse.Data[0].Source.Value("categoryId"); 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) dbPromotionTask.GiftTemplatePutNewSku = string.Join(",", startResponse.DeleteGiftSkuList); - try - { - if (!string.IsNullOrEmpty(shop.PJZSDingDingKey) && !string.IsNullOrEmpty(shop.PJZSDingDingWebHook)) - dingDingBusiness.SendDingDingBotMessage(shop.PJZSDingDingKey, shop.PJZSDingDingWebHook, $"任务[{dbPromotionTask.ActivityName}]已开始,请及时查看任务是否正常进行"); - } - catch { } + //try + //{ + // if (!string.IsNullOrEmpty(shop.PJZSDingDingKey) && !string.IsNullOrEmpty(shop.PJZSDingDingWebHook)) + // dingDingBusiness.SendDingDingBotMessage(shop.PJZSDingDingKey, shop.PJZSDingDingWebHook, $"任务[{dbPromotionTask.ActivityName}]已开始,请及时查看任务是否正常进行"); + //} + //catch { } fsql.Update(request.Id).Set(pt => pt.PromotionId, startResponse.JDPromotionId) .SetIf(!string.IsNullOrEmpty(dbPromotionTask.GiftTemplatePutNewSku), pt => pt.GiftTemplatePutNewSku, dbPromotionTask.GiftTemplatePutNewSku) @@ -634,11 +638,10 @@ namespace BBWY.Server.Business .Set(pt => pt.Status, Enums.PromitionTaskStatus.进行中) .ExecuteAffrows(); - //开启延迟任务 - Task.Factory.StartNew(() => StartPromotionDelayTask(request, startResponse, dbPromotionTask, shop), CancellationToken.None, TaskCreationOptions.LongRunning, taskSchedulerManager.JDPromotionDelayTaskScheduler); + Task.Factory.StartNew(() => StartPromotionDelayTask(request, startResponse, dbPromotionTask, shop, joinSkuCount), 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.京东); @@ -653,8 +656,12 @@ namespace BBWY.Server.Business JDPromotionId = startResponse.JDPromotionId, MainProductSpu = promotionTask.MainProductSpu, HaveGiftTemplate = promotionTask.GiftTemplateId != null && promotionTask.GiftTemplateId != 0, - DeleteGiftSkuList = startResponse.DeleteGiftSkuList - }, GetYunDingRequestHeader(), HttpMethod.Post, timeOutSeconds: 300); + DeleteGiftSkuList = startResponse.DeleteGiftSkuList, + ActivityName = promotionTask.ActivityName, + JoinSkuCount = joinSkuCount, + PJZSDingDingKey = shop.PJZSDingDingKey, + PJZSDingDingWebHook = shop.PJZSDingDingWebHook + }, GetYunDingRequestHeader(), HttpMethod.Post, timeOutSeconds: 400); var errorBack = new Action((id, errorMsg) => { @@ -995,31 +1002,31 @@ namespace BBWY.Server.Business { #region 提前完成任务量,暂停JD活动 { - var httpResult = restApiService.SendRequest(GetPlatformRelayAPIHost(Enums.Platform.京东), - "api/platformsdk/SuspendJDPromotionTask", - new SuspendDPromotionTaskRequest() - { - AppKey = shop.AppKey2, - AppSecret = shop.AppSecret2, - AppToken = shop.AppToken2, - Platform = Enums.Platform.京东, - PromotionId = promotionTask.PromotionId.Value - }, - GetYunDingRequestHeader(), - HttpMethod.Post); + //var httpResult = restApiService.SendRequest(GetPlatformRelayAPIHost(Enums.Platform.京东), + // "api/platformsdk/SuspendJDPromotionTask", + // new SuspendDPromotionTaskRequest() + // { + // AppKey = shop.AppKey2, + // AppSecret = shop.AppSecret2, + // AppToken = shop.AppToken2, + // Platform = Enums.Platform.京东, + // PromotionId = promotionTask.PromotionId.Value + // }, + // GetYunDingRequestHeader(), + // HttpMethod.Post); - //if (httpResult.StatusCode != System.Net.HttpStatusCode.OK) - //{ - // Error(shop, loggerName, $"监控任务-暂停京东活动-任务Id {promotionTask.Id}", new Exception(httpResult.Content)); - //} - //else - //{ - // var response = JsonConvert.DeserializeObject(httpResult.Content); - // if (!response.Success) - // { - // Error(shop, loggerName, $"监控任务-暂停京东活动-任务Id {promotionTask.Id}", new Exception(response.Msg)); - // } - //} + var httpResult = restApiService.SendRequest(GetPlatformRelayAPIHost(Enums.Platform.京东), + "api/platformsdk/DeleteJDPromotionTask", + new DeleteJDPromotionTaskRequest() + { + AppKey = shop.AppKey2, + AppSecret = shop.AppSecret2, + AppToken = shop.AppToken2, + Platform = Enums.Platform.京东, + PromotionId = promotionTask.PromotionId.Value + }, + GetYunDingRequestHeader(), + HttpMethod.Post); } #endregion } diff --git a/BBWY.Server.Business/PlatformSDK/JDBusiness.cs b/BBWY.Server.Business/PlatformSDK/JDBusiness.cs index fccbbae0..4f850cec 100644 --- a/BBWY.Server.Business/PlatformSDK/JDBusiness.cs +++ b/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); try @@ -1312,13 +1312,13 @@ namespace BBWY.Server.Business #region 检查奶妈sku是否完全生效 { var i = 0; - while (i < 10) + while (i < 2) { i++; var promotionTaskSkuList = GetPromotionTaskSku(request.AppKey, request.AppSecret, request.AppToken, request.JDPromotionId); if (promotionTaskSkuList.Any(s => s.Value("bind_type") == 1 && s.Value("sku_status") == 0)) { - Thread.Sleep(2000); + Thread.Sleep(30000); continue; } break; diff --git a/BBWY.Server.Model/Dto/Request/PromotionTask/StartPromotionTaskRequest.cs b/BBWY.Server.Model/Dto/Request/PromotionTask/StartPromotionTaskRequest.cs index 0eac4de1..05281206 100644 --- a/BBWY.Server.Model/Dto/Request/PromotionTask/StartPromotionTaskRequest.cs +++ b/BBWY.Server.Model/Dto/Request/PromotionTask/StartPromotionTaskRequest.cs @@ -94,5 +94,19 @@ namespace BBWY.Server.Model.Dto /// 是否包含赠品模板 /// public bool HaveGiftTemplate { get; set; } + + /// + /// 参与活动的SKU数 (不含赠品) + /// + public int JoinSkuCount { get; set; } + + /// + /// 活动名称 + /// + public string ActivityName { get; set; } + + public string PJZSDingDingKey { get; set; } + + public string PJZSDingDingWebHook { get; set; } } } diff --git a/BBWY.Test/Program.cs b/BBWY.Test/Program.cs index 0197f527..624d20ea 100644 --- a/BBWY.Test/Program.cs +++ b/BBWY.Test/Program.cs @@ -10,6 +10,7 @@ using Microsoft.Extensions.DependencyInjection; using Newtonsoft.Json; using Newtonsoft.Json.Linq; using System; +using System.Collections.Generic; using System.Diagnostics; using System.Linq; using System.Net.Http; @@ -46,31 +47,32 @@ namespace BBWY.Test static void Main(string[] args) { - //var appkey = "E1AA9247D5583A6D87449CE6AB290185"; - //var appSecret = "e479558ddd9e40f8929cfc00c6cbbc9c"; + var appkey = "E1AA9247D5583A6D87449CE6AB290185"; + var appSecret = "e479558ddd9e40f8929cfc00c6cbbc9c"; - var appkey = "120EA9EC65AB017567D78CC1139EEEA5"; - var appSecret = "8a42bc2301e8439b896e99f5475e0a9b"; + // var appkey = "120EA9EC65AB017567D78CC1139EEEA5"; + // var appSecret = "8a42bc2301e8439b896e99f5475e0a9b"; ////0e61c4a8ec3e4df4b5836e10884db9220yth 齐盛 - var token = "2ace3023200c4ea9aa682bbf8bffee18jztm"; //布莱特玩具 - //var token = "01f5be2cb4d741dda66bce2356941597mdfm"; //布莱特玩具 token2 - //var token = "01dc6f6e7fc34dcd99090d690312556cmdfk"; //齐盛 - //var token = "9fffa982da23446fb035499ae5622f49odjk"; //腾奇 - //var token = "c22ff4d37b6c4bbd82cd9e8d0dab42dbziyz"; //森王车品 - //var token = "44c19a1c1fbd4641957e6e8985ed1358jmtl"; //森王玩具 - //var token = "4a0ddc095e054c7aa90adcaccb14f83cwzgr"; //可比车品 - //var token = "50a4c0f5c55848b5a8a715709e8d6fe0jntb"; //卿卿玩具专营店 + 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 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() { 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(); }