Browse Source

1.订单维度表增加点击时间(cookieTime)

2.订单维度同步改为前15天
3.关联订单维度计算GOI使用点击时间(cookieTime)
qianyi
shanji 3 years ago
parent
commit
d9e3383b11
  1. 48
      BBWY.Server.Business/Statistics/JDReportFormStatisticsBusiness.cs
  2. 19
      BBWY.Server.Business/Sync/JD/JDPopularizeReportFormOrderLevelSyncBusiness.cs
  3. 6
      BBWY.Server.Model/Db/JD/JDOrderPopularizeRelation.cs
  4. 62
      BBWY.Test/JDBaoBiaoAPITest.cs
  5. 6
      BBWY.Test/Program.cs

48
BBWY.Server.Business/Statistics/JDReportFormStatisticsBusiness.cs

@ -40,8 +40,8 @@ namespace BBWY.Server.Business.Statistics
var _7dCampaignProfits = fsql.Select<JDOrderPopularizeRelation, OrderCost>().InnerJoin((jr, oc) => jr.OrderId == oc.OrderId)
.Where((jr, oc) => gOIRequest.LevelIdList.Contains(jr.CampaignId.Value) &&
jr.OrderTime >= _7dStartDate &&
jr.OrderTime <= _7dEndTime)
jr.CookieTime >= _7dStartDate &&
jr.CookieTime <= _7dEndTime)
.GroupBy((jr, oc) => jr.CampaignId)
.ToList(g => new
{
@ -61,8 +61,8 @@ namespace BBWY.Server.Business.Statistics
var _30dCampaignProfits = fsql.Select<JDOrderPopularizeRelation, OrderCost>().InnerJoin((jr, oc) => jr.OrderId == oc.OrderId)
.Where((jr, oc) => gOIRequest.LevelIdList.Contains(jr.CampaignId.Value) &&
jr.OrderTime >= _30dStartDate &&
jr.OrderTime <= _30dEndTime)
jr.CookieTime >= _30dStartDate &&
jr.CookieTime <= _30dEndTime)
.GroupBy((jr, oc) => jr.CampaignId)
.ToList(g => new
{
@ -82,8 +82,8 @@ namespace BBWY.Server.Business.Statistics
var customDaysCampaignProfits = fsql.Select<JDOrderPopularizeRelation, OrderCost>().InnerJoin((jr, oc) => jr.OrderId == oc.OrderId)
.Where((jr, oc) => gOIRequest.LevelIdList.Contains(jr.CampaignId.Value) &&
jr.OrderTime >= gOIRequest.StartDate &&
jr.OrderTime <= customEndTime)
jr.CookieTime >= gOIRequest.StartDate &&
jr.CookieTime <= customEndTime)
.GroupBy((jr, oc) => jr.CampaignId)
.ToList(g => new
{
@ -136,8 +136,8 @@ namespace BBWY.Server.Business.Statistics
var _7dAdGroupProfits = fsql.Select<JDOrderPopularizeRelation, OrderCost>().InnerJoin((jr, oc) => jr.OrderId == oc.OrderId)
.Where((jr, oc) => gOIRequest.LevelIdList.Contains(jr.AdGroupId.Value) &&
jr.OrderTime >= _7dStartDate &&
jr.OrderTime <= _7dEndTime)
jr.CookieTime >= _7dStartDate &&
jr.CookieTime <= _7dEndTime)
.GroupBy((jr, oc) => jr.AdGroupId)
.ToList(g => new
{
@ -157,8 +157,8 @@ namespace BBWY.Server.Business.Statistics
var _30dAdGroupProfits = fsql.Select<JDOrderPopularizeRelation, OrderCost>().InnerJoin((jr, oc) => jr.OrderId == oc.OrderId)
.Where((jr, oc) => gOIRequest.LevelIdList.Contains(jr.AdGroupId.Value) &&
jr.OrderTime >= _30dStartDate &&
jr.OrderTime <= _30dEndTime)
jr.CookieTime >= _30dStartDate &&
jr.CookieTime <= _30dEndTime)
.GroupBy((jr, oc) => jr.AdGroupId)
.ToList(g => new
{
@ -178,8 +178,8 @@ namespace BBWY.Server.Business.Statistics
var customDaysAdGroupProfits = fsql.Select<JDOrderPopularizeRelation, OrderCost>().InnerJoin((jr, oc) => jr.OrderId == oc.OrderId)
.Where((jr, oc) => gOIRequest.LevelIdList.Contains(jr.AdGroupId.Value) &&
jr.OrderTime >= gOIRequest.StartDate &&
jr.OrderTime <= customEndTime)
jr.CookieTime >= gOIRequest.StartDate &&
jr.CookieTime <= customEndTime)
.GroupBy((jr, oc) => jr.AdGroupId)
.ToList(g => new
{
@ -232,8 +232,8 @@ namespace BBWY.Server.Business.Statistics
var _7dAdProfits = fsql.Select<JDOrderPopularizeRelation, OrderCost>().InnerJoin((jr, oc) => jr.OrderId == oc.OrderId)
.Where((jr, oc) => gOIRequest.LevelIdList.Contains(jr.AdId.Value) &&
jr.OrderTime >= _7dStartDate &&
jr.OrderTime <= _7dEndTime)
jr.CookieTime >= _7dStartDate &&
jr.CookieTime <= _7dEndTime)
.GroupBy((jr, oc) => jr.AdId)
.ToList(g => new
{
@ -253,8 +253,8 @@ namespace BBWY.Server.Business.Statistics
var _30dAdProfits = fsql.Select<JDOrderPopularizeRelation, OrderCost>().InnerJoin((jr, oc) => jr.OrderId == oc.OrderId)
.Where((jr, oc) => gOIRequest.LevelIdList.Contains(jr.AdId.Value) &&
jr.OrderTime >= _30dStartDate &&
jr.OrderTime <= _30dEndTime)
jr.CookieTime >= _30dStartDate &&
jr.CookieTime <= _30dEndTime)
.GroupBy((jr, oc) => jr.AdId)
.ToList(g => new
{
@ -274,8 +274,8 @@ namespace BBWY.Server.Business.Statistics
var customDaysAdProfits = fsql.Select<JDOrderPopularizeRelation, OrderCost>().InnerJoin((jr, oc) => jr.OrderId == oc.OrderId)
.Where((jr, oc) => gOIRequest.LevelIdList.Contains(jr.AdId.Value) &&
jr.OrderTime >= gOIRequest.StartDate &&
jr.OrderTime <= customEndTime)
jr.CookieTime >= gOIRequest.StartDate &&
jr.CookieTime <= customEndTime)
.GroupBy((jr, oc) => jr.AdId)
.ToList(g => new
{
@ -330,8 +330,8 @@ namespace BBWY.Server.Business.Statistics
var _7dSkuProfits = fsql.Select<JDOrderPopularizeRelation, OrderCost>().InnerJoin((jr, oc) => jr.OrderId == oc.OrderId)
.Where((jr, oc) => gOIRequest.LevelIdList.Contains(jr.PopularizeSku) &&
jr.BusinessType == 134217728 &&
jr.OrderTime >= _7dStartDate &&
jr.OrderTime <= _7dEndTime)
jr.CookieTime >= _7dStartDate &&
jr.CookieTime <= _7dEndTime)
.GroupBy((jr, oc) => jr.PopularizeSku)
.ToList(g => new
{
@ -353,8 +353,8 @@ namespace BBWY.Server.Business.Statistics
var _30dSkuProfits = fsql.Select<JDOrderPopularizeRelation, OrderCost>().InnerJoin((jr, oc) => jr.OrderId == oc.OrderId)
.Where((jr, oc) => gOIRequest.LevelIdList.Contains(jr.PopularizeSku) &&
jr.BusinessType == 134217728 &&
jr.OrderTime >= _30dStartDate &&
jr.OrderTime <= _30dEndTime)
jr.CookieTime >= _30dStartDate &&
jr.CookieTime <= _30dEndTime)
.GroupBy((jr, oc) => jr.PopularizeSku)
.ToList(g => new
{
@ -376,8 +376,8 @@ namespace BBWY.Server.Business.Statistics
var customDaysSkuProfits = fsql.Select<JDOrderPopularizeRelation, OrderCost>().InnerJoin((jr, oc) => jr.OrderId == oc.OrderId)
.Where((jr, oc) => gOIRequest.LevelIdList.Contains(jr.PopularizeSku) &&
jr.BusinessType == 134217728 &&
jr.OrderTime >= gOIRequest.StartDate &&
jr.OrderTime <= customEndTime)
jr.CookieTime >= gOIRequest.StartDate &&
jr.CookieTime <= customEndTime)
.GroupBy((jr, oc) => jr.PopularizeSku)
.ToList(g => new
{

19
BBWY.Server.Business/Sync/JD/JDPopularizeReportFormOrderLevelSyncBusiness.cs

@ -43,22 +43,23 @@ namespace BBWY.Server.Business.Sync
{
var shopIds = shops.Select(s => Convert.ToInt64(s.ShopId)).ToList();
fsql.Delete<JDOrderPopularizeRelation>().Where(s => shopIds.Contains(s.ShopId.Value) &&
s.OrderTime >= startDate && s.OrderTime <= endDate).ExecuteAffrows();
s.CookieTime >= startDate && s.CookieTime <= endDate).ExecuteAffrows();
}
public void SyncAllShopPopularizeReportFormOrderLevel()
{
var shopList = venderBusiness.GetShopList(shopId: null, Enums.Platform.);
var date = DateTime.Now.Date.AddDays(-1);
DeleteOldData(shopList, date, date);
var startDate = DateTime.Now.Date.AddDays(-15);
var endDate = DateTime.Now;
DeleteOldData(shopList, startDate, endDate);
foreach (var shop in shopList)
{
Task.Factory.StartNew(() => SyncShopPopularizeReportFormOrderLevelByDate(shop, date, date, 2),
Task.Factory.StartNew(() => SyncShopPopularizeReportFormOrderLevelByDate(shop, startDate, endDate, 2),
System.Threading.CancellationToken.None,
TaskCreationOptions.LongRunning,
taskSchedulerManager.JDPopularizeTaskScheduler);
Task.Factory.StartNew(() => SyncShopPopularizeReportFormOrderLevelByDate(shop, date, date, 134217728),
Task.Factory.StartNew(() => SyncShopPopularizeReportFormOrderLevelByDate(shop, startDate, endDate, 134217728),
System.Threading.CancellationToken.None,
TaskCreationOptions.LongRunning,
taskSchedulerManager.JDPopularizeTaskScheduler);
@ -157,15 +158,15 @@ namespace BBWY.Server.Business.Sync
var ads = fsql.Select<JDPopularizeAdSku>()
.Where(c => c.ShopId == shopId && adNames.Contains(c.AdName))
.GroupBy(c => new { c.AdId, c.AdName, c.AdGroupId })
.ToList(g => new { g.Key.AdId, g.Key.AdName, g.Key.AdGroupId });
.GroupBy(c => new { c.AdId, c.AdName })
.ToList(g => new { g.Key.AdId, g.Key.AdName });
var insertList = new List<JDOrderPopularizeRelation>();
foreach (var j in jArray)
{
var campaign = campaigns.FirstOrDefault(c => c.CampaignName == j.Value<string>("campaignName"));
var adGroup = adGroups.FirstOrDefault(g => g.AdGroupName == j.Value<string>("adGroupName"));
var ad = ads.FirstOrDefault(a => a.AdName == j.Value<string>("adName") && adGroup != null && adGroup.AdGroupId == a.AdGroupId);
var ad = ads.FirstOrDefault(a => a.AdName == j.Value<string>("adName"));
var popularizeSku = string.Empty;
if (ad != null)
@ -188,6 +189,7 @@ namespace BBWY.Server.Business.Sync
AdId = ad?.AdId,
OrderId = j.Value<string>("orderId"),
OrderTime = DateTime.ParseExact(j.Value<string>("orderTime"), "yyyyMMddHHmmss", System.Globalization.CultureInfo.CurrentCulture),
CookieTime = DateTime.ParseExact(j.Value<string>("cookieTime"), "yyyyMMddHHmmss", System.Globalization.CultureInfo.CurrentCulture),
PlaceOrderSku = j.Value<string>("skuId"),
PopularizeSku = popularizeSku
});
@ -218,6 +220,7 @@ namespace BBWY.Server.Business.Sync
CreateTime = DateTime.Now,
CampaignId = campaigns.FirstOrDefault(c => c.CampaignName == j.Value<string>("campaignName"))?.CampaignId,
OrderTime = DateTime.ParseExact(j.Value<string>("orderTime"), "yyyyMMddHHmmss", System.Globalization.CultureInfo.CurrentCulture),
CookieTime = DateTime.ParseExact(j.Value<string>("cookieTime"), "yyyyMMddHHmmss", System.Globalization.CultureInfo.CurrentCulture),
OrderId = j.Value<string>("orderId"),
PlaceOrderSku = j.Value<string>("skuId"),
PopularizeSku = j.Value<string>("clickSkuId")

6
BBWY.Server.Model/Db/JD/JDOrderPopularizeRelation.cs

@ -43,6 +43,12 @@ namespace BBWY.Server.Model.Db
[Column(DbType = "datetime")]
public DateTime? OrderTime { get; set; }
/// <summary>
/// 点击时间
/// </summary>
[Column(DbType = "datetime")]
public DateTime? CookieTime { get; set; }
/// <summary>
/// 订单Id
/// </summary>

62
BBWY.Test/JDBaoBiaoAPITest.cs

@ -566,27 +566,7 @@ namespace BBWY.Test
Console.WriteLine(JsonConvert.SerializeObject(res));
}
public void Test_订单维度_快车(IJdClient client, string token)
{
var req = new AdsIbgUniversalJosServiceOrderQueryRequest();
req.businessType = "2";
req.clickOrOrderDay = "0";
req.pageSize = "100";
req.clickOrOrderCaliber = "1";
req.orderStartDay = "2022-10-01";
req.orderEndDay = "2022-10-29";
req.clickStartDay = "2022-10-01";
req.clickEndDay = "2022-10-29";
req.giftFlag = "0";
//req.orderStatus = "2,4";
req.page = "1";
req.myself = "1,3";
var res = client.Execute(req, token, DateTime.Now.ToLocalTime());
Console.WriteLine(JsonConvert.SerializeObject(res));
Console.WriteLine();
}
public void Test_创意维度_ShopId_11611866(IJdClient client, string token)
@ -605,5 +585,47 @@ namespace BBWY.Test
var res = client.Execute(req, token, DateTime.Now.ToLocalTime());
Console.WriteLine(JsonConvert.SerializeObject(res));
}
public void Test_订单维度_快车(IJdClient client, string token)
{
var req13 = new AdsIbgUniversalJosServiceOrderQueryRequest();
req13.businessType = "2";
//req13.isDaily = "true";
req13.clickOrOrderDay = "0";
req13.pageSize = "100";
req13.clickOrOrderCaliber = "1";
req13.orderStartDay = "2022-10-01";
req13.orderEndDay = "2022-10-30";
req13.clickStartDay = "2022-10-01";
req13.clickEndDay = "2022-10-30";
req13.giftFlag = "0";
req13.orderStatus = "4";
req13.myself = "1,3"; //直接订单
var res13 = client.Execute(req13, token, DateTime.Now.ToLocalTime());
Console.WriteLine(JsonConvert.SerializeObject(res13));
Console.WriteLine();
Console.WriteLine();
}
public void Test_订单维度_京速推(IJdClient client, string token)
{
var req13 = new AdsIbgUniversalJosServiceOrderQueryRequest();
req13.businessType = "134217728";
//req13.isDaily = "true";
req13.clickOrOrderDay = "0";
req13.pageSize = "100";
req13.clickOrOrderCaliber = "1";
req13.orderStartDay = "2022-10-01";
req13.orderEndDay = "2022-10-30";
req13.clickStartDay = "2022-10-01";
req13.clickEndDay = "2022-10-30";
req13.giftFlag = "0";
req13.orderStatus = "4";
req13.myself = "1,3"; //直接订单
var res4 = client.Execute(req13, token, DateTime.Now.ToLocalTime());
Console.WriteLine(JsonConvert.SerializeObject(res4));
Console.WriteLine();
Console.WriteLine();
}
}
}

6
BBWY.Test/Program.cs

@ -26,12 +26,12 @@ namespace BBWY.Test
{
var appkey = "120EA9EC65AB017567D78CC1139EEEA5";
var appSecret = "8a42bc2301e8439b896e99f5475e0a9b";
var token = "e3bb89d1dcf6461fae2f197dfc5d6d68niyj"; //"b46065ef5b894f2297686e28d39cb37a2mdy";//"2ace3023200c4ea9aa682bbf8bffee18jztm";
var token = "b46065ef5b894f2297686e28d39cb37a2mdy"; //"b46065ef5b894f2297686e28d39cb37a2mdy";//"2ace3023200c4ea9aa682bbf8bffee18jztm";
IJdClient client = GetJdClient(appkey, appSecret);
var test1 = new JDBaoBiaoAPITest();
test1.Test_创意维度_ShopId_11611866(client, token);
test1.Test_订单维度_快车(client, token);
test1.Test_订单维度_京速推(client, token);
Console.WriteLine();
Console.WriteLine();

Loading…
Cancel
Save