shanji 3 years ago
parent
commit
ae4dc45ab0
  1. 22
      BBWY.Server.API/Controllers/PlatformSDKController.cs
  2. 43
      BBWY.Server.Business/PlatformSDK/JDBusiness.cs
  3. 10
      BBWY.Server.Business/PlatformSDK/PlatformSDKBusiness.cs
  4. 31
      BBWY.Server.Business/Sync/JD/JDPopularizeAdSkuReportFormSyncBusiness.cs
  5. 23
      BBWY.Server.Business/Sync/JD/JDPopularizeSyncBusiness.cs
  6. 66
      BBWY.Server.Model/Db/JD/JDOrderPopularizeRelation.cs
  7. 85
      BBWY.Server.Model/Db/JD/JDPopularizeAdGroup.cs
  8. 94
      BBWY.Server.Model/Db/JD/JDPopularizeAdSku.cs
  9. 78
      BBWY.Server.Model/Db/JD/JDPopularizeCampaign.cs
  10. 22
      BBWY.Server.Model/Db/Shop/JdShopPin.cs
  11. 15
      BBWY.Server.Model/Dto/Request/Sync/SyncJDPopularizeAdSkuRequest.cs

22
BBWY.Server.API/Controllers/PlatformSDKController.cs

@ -197,5 +197,27 @@ namespace BBWY.Server.API.Controllers
{
return platformSDKBusinessList.FirstOrDefault(p => p.Platform == syncShopPopularizeRequest.Platform).GetJDShopSopularizeRecordList(syncShopPopularizeRequest);
}
/// <summary>
/// 查询JD推广报表-Sku维度
/// </summary>
/// <param name="request"></param>
/// <returns></returns>
[HttpPost]
public JArray GetJDSopularizeReportFormBySkuLevel([FromBody]SyncJDPopularizeReportFormRequest request)
{
return platformSDKBusinessList.FirstOrDefault(p => p.Platform == request.Platform).GetJDSopularizeReportFormBySkuLevel(request);
}
/// <summary>
/// 查询JD推广报表-创意维度
/// </summary>
/// <param name="request"></param>
/// <returns></returns>
[HttpPost]
public JArray GetJDSopularizeReportFormByAdLevel([FromBody]SyncJDPopularizeReportFormRequest request)
{
return platformSDKBusinessList.FirstOrDefault(p => p.Platform == request.Platform).GetJDSopularizeReportFormByAdLevel(request);
}
}
}

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

@ -488,5 +488,48 @@ namespace BBWY.Server.Business
response.Json = JsonConvert.DeserializeObject<JObject>(response.Body);
return (JArray)response.Json["jingdong_dsp_platform_finance_openapi_querycostdetails_responce"]["returnType"]["data"]["page"]["data"];
}
public override JArray GetJDSopularizeReportFormBySkuLevel(SyncJDPopularizeReportFormRequest request)
{
var jdClient = GetJdClient(request.AppKey, request.AppSecret);
var req = new AdsIbgUniversalJosServiceSkuQueryRequest();
req.businessType = request.Business.ToString();
req.isDaily = "true";
req.clickOrOrderDay = "0";
req.pageSize = "100";
req.page = request.PageIndex.ToString();
req.clickOrOrderCaliber = "1";
req.startDay = request.StartDate.ToString("yyyy-MM-dd");
req.endDay = request.EndDate.ToString("yyyy-MM-dd");
req.giftFlag = "0";
var res = jdClient.Execute(req, request.AppToken, DateTime.Now.ToLocalTime());
if (res.IsError)
throw new BusinessException($"获取JD推广报表-Sku维度出错,{(string.IsNullOrEmpty(res.ErrorMsg) ? res.ErrMsg : res.ErrorMsg)}");
if (res.Json == null)
res.Json = JsonConvert.DeserializeObject<JObject>(res.Body);
return (JArray)res.Json["jingdong_ads_ibg_UniversalJosService_sku_query_responce"]["returnType"]["data"]["datas"];
}
public override JArray GetJDSopularizeReportFormByAdLevel(SyncJDPopularizeReportFormRequest request)
{
var jdClient = GetJdClient(request.AppKey, request.AppSecret);
var req = new AdsIbgUniversalJosServiceAdQueryRequest();
req.businessType = request.Business.ToString();
req.isDaily = "true";
req.clickOrOrderDay = "0";
req.pageSize = "100";
req.page = request.PageIndex.ToString();
req.clickOrOrderCaliber = "1";
req.startDay = request.StartDate.ToString("yyyy-MM-dd");
req.endDay = request.EndDate.ToString("yyyy-MM-dd");
req.giftFlag = "0";
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<JObject>(res.Body);
return (JArray)res.Json["jingdong_ads_ibg_UniversalJosService_ad_query_responce"]["returnType"]["data"]["datas"];
}
}
}

10
BBWY.Server.Business/PlatformSDK/PlatformSDKBusiness.cs

@ -112,5 +112,15 @@ namespace BBWY.Server.Business
{
throw new NotImplementedException();
}
public virtual JArray GetJDSopularizeReportFormBySkuLevel(SyncJDPopularizeReportFormRequest request)
{
throw new NotImplementedException();
}
public virtual JArray GetJDSopularizeReportFormByAdLevel(SyncJDPopularizeReportFormRequest request)
{
throw new NotImplementedException();
}
}
}

31
BBWY.Server.Business/Sync/JD/JDPopularizeAdSkuReportFormSyncBusiness.cs

@ -0,0 +1,31 @@
using BBWY.Common.Http;
using BBWY.Common.Models;
using BBWY.Server.Model;
using Microsoft.Extensions.Options;
using NLog;
using Yitter.IdGenerator;
namespace BBWY.Server.Business.Sync
{
public class JDPopularizeAdSkuReportFormSyncBusiness: BaseSyncBusiness, IDenpendency
{
public JDPopularizeAdSkuReportFormSyncBusiness(RestApiService restApiService,
IOptions<GlobalConfig> options,
ILogger logger,
IFreeSql fsql,
IIdGenerator idGenerator,
TaskSchedulerManager taskSchedulerManager,
VenderBusiness venderBusiness) : base(restApiService,
options,
logger,
fsql,
idGenerator,
taskSchedulerManager,
venderBusiness)
{
}
}
}

23
BBWY.Server.Business/Sync/JDPopularizeSyncBusiness.cs → BBWY.Server.Business/Sync/JD/JDPopularizeSyncBusiness.cs

@ -65,30 +65,7 @@ namespace BBWY.Server.Business.Sync
ShopId = shopId
});
}
//#region 新增pin保存逻辑
//var pinList = jArray.Select(j => j.Value<string>("pin")).Distinct().ToList();
//var dbPinList = fsql.Select<JdShopPin>().Where(p => p.ShopId == shopId).ToList(p => p.AccessPin);
//var pinchajiList = pinList.Except(dbPinList).ToList();
//List<JdShopPin> insertJDShopPinList = null;
//if (pinchajiList.Count() > 0)
//{
// insertJDShopPinList = pinchajiList.Select(pin => new JdShopPin()
// {
// Id = idGenerator.NewLong(),
// AccessPin = pin,
// CreateTime = DateTime.Now,
// ShopId = shopId
// }).ToList();
//}
//#endregion
//fsql.Transaction(() =>
// {
// if (insertJDShopPinList != null)
// fsql.Insert(insertJDShopPinList).ExecuteAffrows();
fsql.Insert(insertList).ExecuteAffrows();
//});
}
private void SyncShopPopularizeRecord(ShopResponse shop, DateTime startDate, DateTime endDate, int pageIndex, out int currentCount)

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

@ -0,0 +1,66 @@
using FreeSql.DataAnnotations;
using System;
namespace BBWY.Server.Model.Db
{
/// <summary>
/// 京东订单推广归属关系表
/// </summary>
[Table(Name = "jdorderpopularizerelation", DisableSyncStructure = true)]
public partial class JDOrderPopularizeRelation {
[ Column(IsPrimary = true)]
public long Id { get; set; }
/// <summary>
/// 单元Id
/// </summary>
public long? AdGroupId { get; set; }
/// <summary>
/// 创意Id
/// </summary>
public long? AdId { get; set; }
/// <summary>
/// 业务线(快车:2 京速推:134217728)
/// </summary>
public int? BusinessType { get; set; }
/// <summary>
/// 计划Id
/// </summary>
public long? CampaignId { get; set; }
[Column(DbType = "datetime")]
public DateTime? CreateTime { get; set; }
/// <summary>
/// 订单Id
/// </summary>
[Column(StringLength = 50)]
public string OrderId { get; set; }
/// <summary>
/// 下单Sku
/// </summary>
[Column(StringLength = 50)]
public string PlaceOrderSku { get; set; }
/// <summary>
/// 推广Sku
/// </summary>
[Column(StringLength = 50)]
public string PopularizeSku { get; set; }
public long? ShopId { get; set; }
}
}

85
BBWY.Server.Model/Db/JD/JDPopularizeAdGroup.cs

@ -0,0 +1,85 @@
using FreeSql.DataAnnotations;
using System;
namespace BBWY.Server.Model.Db
{
/// <summary>
/// 京东推广单元表
/// </summary>
[Table(Name = "jdpopularizeadgroup", DisableSyncStructure = true)]
public partial class JDPopularizeAdGroup
{
[Column(IsPrimary = true)]
public long Id { get; set; }
/// <summary>
/// 单元Id
/// </summary>
public long? AdGroupId { get; set; }
/// <summary>
/// 业务线(快车:2 京速推:134217728)
/// </summary>
public int? BusinessType { get; set; }
/// <summary>
/// 计划Id
/// </summary>
public long? CampaignId { get; set; }
/// <summary>
/// 点击数
/// </summary>
[Column(Name = "clicks")]
public int? Clicks { get; set; }
/// <summary>
/// 总花费
/// </summary>
[Column(DbType = "decimal(18,2)")]
public decimal? Cost { get; set; }
[Column(DbType = "datetime")]
public DateTime? CreateTime { get; set; }
/// <summary>
/// 计费日期
/// </summary>
[Column(DbType = "datetime")]
public DateTime? Date { get; set; }
/// <summary>
/// 展现次数
/// </summary>
[Column(Name = "impressions")]
public int? Impressions { get; set; }
/// <summary>
/// 账号归属
/// </summary>
[Column(Name = "pin")]
public string Pin { get; set; }
public long? ShopId { get; set; }
/// <summary>
/// 总加购人数
/// </summary>
[Column(Name = "totalCartCnt")]
public int? TotalCartCnt { get; set; }
/// <summary>
/// 总订单数
/// </summary>
[Column(Name = "totalOrderCnt")]
public int? TotalOrderCnt { get; set; }
}
}

94
BBWY.Server.Model/Db/JD/JDPopularizeAdSku.cs

@ -0,0 +1,94 @@
using FreeSql.DataAnnotations;
using System;
namespace BBWY.Server.Model.Db
{
/// <summary>
/// 京东推广SKU创意表
/// </summary>
[Table(Name = "jdpopularizeadsku", DisableSyncStructure = true)]
public partial class JDPopularizeAdSku
{
[Column(IsPrimary = true)]
public long Id { get; set; }
/// <summary>
/// 单元Id
/// </summary>
public long? AdGroupId { get; set; }
/// <summary>
/// 创意Id
/// </summary>
public long? AdId { get; set; }
/// <summary>
/// 业务线(快车:2 京速推:134217728)
/// </summary>
public int? BusinessType { get; set; }
/// <summary>
/// 计划Id
/// </summary>
public long? CampaignId { get; set; }
/// <summary>
/// 点击数
/// </summary>
[Column(Name = "clicks")]
public int? Clicks { get; set; }
/// <summary>
/// 总花费
/// </summary>
[Column(DbType = "decimal(18,2)")]
public decimal? Cost { get; set; }
[Column(DbType = "datetime")]
public DateTime? CreateTime { get; set; }
/// <summary>
/// 计费日期
/// </summary>
[Column(DbType = "datetime")]
public DateTime? Date { get; set; }
/// <summary>
/// 展现次数
/// </summary>
[Column(Name = "impressions")]
public int? Impressions { get; set; }
/// <summary>
/// 账号归属
/// </summary>
[Column(Name = "pin")]
public string Pin { get; set; }
public long? ShopId { get; set; }
[Column(StringLength = 50)]
public string Sku { get; set; }
/// <summary>
/// 总加购人数
/// </summary>
[Column(Name = "totalCartCnt")]
public int? TotalCartCnt { get; set; }
/// <summary>
/// 总订单数
/// </summary>
[Column(Name = "totalOrderCnt")]
public int? TotalOrderCnt { get; set; }
}
}

78
BBWY.Server.Model/Db/JD/JDPopularizeCampaign.cs

@ -0,0 +1,78 @@
using FreeSql.DataAnnotations;
using System;
namespace BBWY.Server.Model.Db
{
/// <summary>
/// 京东推广计划表
/// </summary>
[Table(Name = "jdpopularizecampaign", DisableSyncStructure = true)]
public partial class JDPopularizeCampaign
{
[Column(IsPrimary = true)]
public long Id { get; set; }
/// <summary>
/// 业务线(快车:2 京速推:134217728)
/// </summary>
public int? BusinessType { get; set; }
/// <summary>
/// 计划Id
/// </summary>
public long? CampaignId { get; set; }
/// <summary>
/// 点击数
/// </summary>
[Column(Name = "clicks")]
public int? Clicks { get; set; }
/// <summary>
/// 总花费
/// </summary>
[Column(DbType = "decimal(18,2)")]
public decimal? Cost { get; set; }
[Column(DbType = "datetime")]
public DateTime? CreateTime { get; set; }
/// <summary>
/// 计费日期
/// </summary>
[Column(DbType = "datetime")]
public DateTime? Date { get; set; }
/// <summary>
/// 展现次数
/// </summary>
[Column(Name = "impressions")]
public int? Impressions { get; set; }
/// <summary>
/// 账号归属
/// </summary>
[Column(Name = "pin")]
public string Pin { get; set; }
public long? ShopId { get; set; }
/// <summary>
/// 总加购人数
/// </summary>
[Column(Name = "totalCartCnt")]
public int? TotalCartCnt { get; set; }
/// <summary>
/// 总订单数
/// </summary>
[Column(Name = "totalOrderCnt")]
public int? TotalOrderCnt { get; set; }
}
}

22
BBWY.Server.Model/Db/Shop/JdShopPin.cs

@ -1,22 +0,0 @@
using FreeSql.DataAnnotations;
using System;
namespace BBWY.Server.Model.Db
{
[ Table(Name = "jdshoppin", DisableSyncStructure = true)]
public partial class JdShopPin {
[Column(StringLength = 100)]
public string AccessPin { get; set; }
[Column(DbType = "datetime")]
public DateTime? CreateTime { get; set; }
public long Id { get; set; }
public long? ShopId { get; set; }
}
}

15
BBWY.Server.Model/Dto/Request/Sync/SyncJDPopularizeAdSkuRequest.cs

@ -0,0 +1,15 @@
using System;
namespace BBWY.Server.Model.Dto
{
public class SyncJDPopularizeReportFormRequest: PlatformRequest
{
public DateTime StartDate { get; set; }
public DateTime EndDate { get; set; }
public int PageIndex { get; set; }
/// <summary>
/// 业务线(快车:2 京速推:134217728)
/// </summary>
public int? Business { get; set; }
}
}
Loading…
Cancel
Save