diff --git a/BBWY.Server.Business/PlatformSDK/JDBusiness.cs b/BBWY.Server.Business/PlatformSDK/JDBusiness.cs index f21bbfb6..d0f74f6a 100644 --- a/BBWY.Server.Business/PlatformSDK/JDBusiness.cs +++ b/BBWY.Server.Business/PlatformSDK/JDBusiness.cs @@ -531,5 +531,53 @@ namespace BBWY.Server.Business res.Json = JsonConvert.DeserializeObject(res.Body); return (JArray)res.Json["jingdong_ads_ibg_UniversalJosService_ad_query_responce"]["returnType"]["data"]["datas"]; } + + public override JArray GetJDSopularizeReportFormByCampaignLevel(SyncJDPopularizeReportFormRequest request) + { + var jdClient = GetJdClient(request.AppKey, request.AppSecret); + + var req = new AdsIbgUniversalJosServiceCampaignQueryRequest(); + req.startDay = request.StartDate.ToString("yyyy-MM-dd"); + req.endDay = request.EndDate.ToString("yyyy-MM-dd"); + req.businessType = request.Business.ToString(); + req.clickOrOrderDay = "0"; + req.clickOrOrderCaliber = "1"; + req.giftFlag = "0"; + req.isDaily = "true"; + req.pageSize = "100"; + req.page = request.PageIndex.ToString(); + + var res = jdClient.Execute(req, request.AppToken, DateTime.Now.ToLocalTime()); + if (res.IsError) + throw new BusinessException($"获取JD推广报表-计划维度出错,{(string.IsNullOrEmpty(res.ErrorMsg) ? res.ErrMsg : res.ErrorMsg)}"); + + if (res.Json == null) + res.Json = JsonConvert.DeserializeObject(res.Body); + return (JArray)res.Json["jingdong_ads_ibg_UniversalJosService_campaign_query_responce"]["returnType"]["data"]["datas"]; + } + + public override JArray GetJDSopularizeReportFormByAdGroupLevel(SyncJDPopularizeReportFormRequest request) + { + var jdClient = GetJdClient(request.AppKey, request.AppSecret); + + var req = new AdsIbgUniversalJosServiceGroupQueryRequest(); + req.startDay = request.StartDate.ToString("yyyy-MM-dd"); + req.endDay = request.EndDate.ToString("yyyy-MM-dd"); + req.businessType = request.Business.ToString(); + req.clickOrOrderDay = "0"; + req.giftFlag = "0"; + req.clickOrOrderCaliber = "1"; + req.pageSize = "100"; + req.isDaily = "true"; + req.page = request.PageIndex.ToString(); + + var res = jdClient.Execute(req, request.AppToken, DateTime.Now.ToLocalTime()); + if (res.IsError) + throw new BusinessException($"获取JD推广报表-单元维度出错,{(string.IsNullOrEmpty(res.ErrorMsg) ? res.ErrMsg : res.ErrorMsg)}"); + + if (res.Json == null) + res.Json = JsonConvert.DeserializeObject(res.Body); + return (JArray)res.Json["jingdong_ads_ibg_UniversalJosService_group_query_responce"]["returnType"]["data"]["datas"]; + } } } diff --git a/BBWY.Server.Business/PlatformSDK/PlatformSDKBusiness.cs b/BBWY.Server.Business/PlatformSDK/PlatformSDKBusiness.cs index 834442dc..e13dd1ea 100644 --- a/BBWY.Server.Business/PlatformSDK/PlatformSDKBusiness.cs +++ b/BBWY.Server.Business/PlatformSDK/PlatformSDKBusiness.cs @@ -122,5 +122,15 @@ namespace BBWY.Server.Business { throw new NotImplementedException(); } + + public virtual JArray GetJDSopularizeReportFormByCampaignLevel(SyncJDPopularizeReportFormRequest request) + { + throw new NotImplementedException(); + } + + public virtual JArray GetJDSopularizeReportFormByAdGroupLevel(SyncJDPopularizeReportFormRequest request) + { + throw new NotImplementedException(); + } } } diff --git a/BBWY.Test/JDBaoBiaoAPITest.cs b/BBWY.Test/JDBaoBiaoAPITest.cs index 87f222de..125e8efb 100644 --- a/BBWY.Test/JDBaoBiaoAPITest.cs +++ b/BBWY.Test/JDBaoBiaoAPITest.cs @@ -21,8 +21,8 @@ namespace BBWY.Test { Console.WriteLine("----------------------计划维度 快车---------------------------"); var req1 = new AdsIbgUniversalJosServiceCampaignQueryRequest(); - req1.startDay = "2022-10-05"; - req1.endDay = "2022-10-05"; + req1.startDay = "2022-10-16"; + req1.endDay = "2022-10-16"; req1.businessType = "2"; //req5.accessPin = "腾奇666"; req1.clickOrOrderDay = "0"; @@ -30,7 +30,7 @@ namespace BBWY.Test req1.clickOrOrderCaliber = "1"; req1.isDaily = "true"; req1.pageSize = "100"; - req1.page = "2"; + req1.page = "1"; var res1 = client.Execute(req1, token, DateTime.Now.ToLocalTime()); Console.WriteLine(JsonConvert.SerializeObject(res1)); @@ -40,8 +40,8 @@ namespace BBWY.Test Console.WriteLine("----------------------计划维度 京速推---------------------------"); var req2 = new AdsIbgUniversalJosServiceCampaignQueryRequest(); - req2.startDay = "2022-10-05"; - req2.endDay = "2022-10-05"; + req2.startDay = "2022-10-16"; + req2.endDay = "2022-10-16"; req2.businessType = "134217728"; //req6.accessPin = "腾奇666"; req2.clickOrOrderDay = "0"; @@ -338,5 +338,57 @@ namespace BBWY.Test Console.WriteLine($"{accessPin} page {pageIndex} sum {sum}"); } + + + + + /// + /// SKU维度-京速推业务线-指定pin请求报表 + /// + /// + /// + /// + public void TestJihua_JST(IJdClient client, string token, string accessPin) + { + var pageIndex = 1; + while (true) + { + SyncShopPopularizeReportFormJHJSTLevel(client, token, accessPin, pageIndex, out int count); + if (count < 100) + break; + pageIndex++; + Thread.Sleep(2000); + } + } + + private void SyncShopPopularizeReportFormJHJSTLevel(IJdClient client, string token, string accessPin, int pageIndex, out int currentCount) + { + currentCount = 0; + + var req12 = new AdsIbgUniversalJosServiceCampaignQueryRequest(); + req12.businessType = "134217728"; + req12.isDaily = "true"; + req12.clickOrOrderDay = "0"; + req12.pageSize = "100"; + req12.clickOrOrderCaliber = "1"; + req12.startDay = "2022-10-16"; + req12.endDay = "2022-10-16"; + req12.giftFlag = "0"; + req12.page = pageIndex.ToString(); + req12.accessPin = accessPin; + var res12 = client.Execute(req12, token, DateTime.Now.ToLocalTime()); + + + if (res12.Json == null) + res12.Json = JsonConvert.DeserializeObject(res12.Body); + var j = (JArray)res12.Json["jingdong_ads_ibg_UniversalJosService_campaign_query_responce"]["returnType"]["data"]["datas"]; + currentCount = j.Count(); + var sum = j.Select(j => new + { + Cost = j.Value("cost"), + }).Sum(x => x.Cost); + + Console.WriteLine($"{accessPin} page {pageIndex} sum {sum}"); + } } } diff --git a/BBWY.Test/Program.cs b/BBWY.Test/Program.cs index 405d679d..f4ba81db 100644 --- a/BBWY.Test/Program.cs +++ b/BBWY.Test/Program.cs @@ -35,7 +35,7 @@ namespace BBWY.Test Console.WriteLine(); Console.WriteLine(); - test1.Test1(client, token, "布莱特玩具"); + test1.TestJihua_JST(client, token, "布莱特玩具"); Console.ReadKey(); } }