shanji 3 years ago
parent
commit
b5b332f8bb
  1. 60
      BBWY.Server.API/Controllers/JDPopularizeSyncController.cs
  2. 31
      BBWY.Server.Business/Sync/JD/JDPopularizeAdSkuReportFormSyncBusiness.cs
  3. 165
      BBWY.Server.Business/Sync/JD/JDPopularizeReportFormAdLevelSyncBusiness.cs
  4. 151
      BBWY.Server.Business/Sync/JD/JDPopularizeReportFormSkuLevelSyncBusiness.cs
  5. 151
      BBWY.Server.Model/Db/JD/JDPopularizeAdGroup.cs
  6. 167
      BBWY.Server.Model/Db/JD/JDPopularizeAdSku.cs
  7. 5
      BBWY.Server.Model/Db/JD/JDPopularizeCampaign.cs
  8. 0
      BBWY.Server.Model/Dto/Request/Sync/SyncJDPopularizeReportFormRequest.cs
  9. 252
      doc/.back_步步为盈数据库/步步为盈数据库-backup-20221014050426.pdma.json
  10. 269
      doc/步步为盈数据库.pdma.json

60
BBWY.Server.API/Controllers/JDPopularizeSyncController.cs

@ -9,21 +9,79 @@ namespace BBWY.Server.API.Controllers
public class JDPopularizeSyncController : BaseApiController
{
private JDPopularizeSyncBusiness jdPopularizeSyncBusiness;
public JDPopularizeSyncController(IHttpContextAccessor httpContextAccessor, JDPopularizeSyncBusiness jdPopularizeSyncBusiness) : base(httpContextAccessor)
private JDPopularizeReportFormSkuLevelSyncBusiness jdPopularizeReportFormSkuLevelSyncBusiness;
private JDPopularizeReportFormAdLevelSyncBusiness jdPopularizeReportFormAdLevelSyncBusiness;
public JDPopularizeSyncController(IHttpContextAccessor httpContextAccessor,
JDPopularizeSyncBusiness jdPopularizeSyncBusiness,
JDPopularizeReportFormSkuLevelSyncBusiness jdPopularizeReportFormSkuLevelSyncBusiness,
JDPopularizeReportFormAdLevelSyncBusiness jdPopularizeReportFormAdLevelSyncBusiness) : base(httpContextAccessor)
{
this.jdPopularizeSyncBusiness = jdPopularizeSyncBusiness;
this.jdPopularizeReportFormSkuLevelSyncBusiness = jdPopularizeReportFormSkuLevelSyncBusiness;
this.jdPopularizeReportFormAdLevelSyncBusiness = jdPopularizeReportFormAdLevelSyncBusiness;
}
/// <summary>
/// 同步全店推广记录
/// </summary>
[HttpGet]
public void SyncAllShopPopularizeRecord()
{
jdPopularizeSyncBusiness.SyncAllShopPopularizeRecord();
}
/// <summary>
/// 同步指定条件的推广记录
/// </summary>
/// <param name="shopId"></param>
/// <param name="startDate"></param>
/// <param name="endDate"></param>
[HttpGet]
public void SyncShopPopularizeRecordByDate(long? shopId, DateTime startDate, DateTime endDate)
{
jdPopularizeSyncBusiness.SyncShopPopularizeRecordByDate(shopId, startDate, endDate);
}
/// <summary>
/// 同步全店推广报表-sku维度
/// </summary>
[HttpGet]
public void SyncAllShopPopularizeReportFormSkuLevel()
{
jdPopularizeReportFormSkuLevelSyncBusiness.SyncAllShopPopularizeReportFormSkuLevel();
}
/// <summary>
/// 同步指定条件的推广报表-sku维度
/// </summary>
/// <param name="shopId"></param>
/// <param name="startDate"></param>
/// <param name="endDate"></param>
[HttpGet]
public void SyncShopPopularizeReportFormSkuLevelByDate(long? shopId, DateTime startDate, DateTime endDate)
{
jdPopularizeReportFormSkuLevelSyncBusiness.SyncShopPopularizeReportFormSkuLevelByDate(shopId, startDate, endDate);
}
/// <summary>
/// 同步全店推广报表-创意维度
/// </summary>
[HttpGet]
public void SyncAllShopPopularizeReportFormAdLevel()
{
jdPopularizeReportFormAdLevelSyncBusiness.SyncAllShopPopularizeReportFormAdLevel();
}
/// <summary>
/// 同步指定条件的推广报表-创意维度
/// </summary>
/// <param name="shopId"></param>
/// <param name="startDate"></param>
/// <param name="endDate"></param>
[HttpGet]
public void SyncShopPopularizeReportFormAdLevelByDate(long? shopId, DateTime startDate, DateTime endDate)
{
jdPopularizeReportFormAdLevelSyncBusiness.SyncShopPopularizeReportFormAdLevelByDate(shopId, startDate, endDate);
}
}
}

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

@ -1,31 +0,0 @@
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)
{
}
}
}

165
BBWY.Server.Business/Sync/JD/JDPopularizeReportFormAdLevelSyncBusiness.cs

@ -0,0 +1,165 @@
using BBWY.Common.Http;
using BBWY.Common.Models;
using BBWY.Server.Model;
using BBWY.Server.Model.Db;
using BBWY.Server.Model.Dto;
using Microsoft.Extensions.Options;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
using NLog;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net.Http;
using System.Text.RegularExpressions;
using System.Threading;
using System.Threading.Tasks;
using Yitter.IdGenerator;
namespace BBWY.Server.Business.Sync
{
public class JDPopularizeReportFormAdLevelSyncBusiness : BaseSyncBusiness, IDenpendency
{
public JDPopularizeReportFormAdLevelSyncBusiness(RestApiService restApiService,
IOptions<GlobalConfig> options,
ILogger logger,
IFreeSql fsql,
IIdGenerator idGenerator,
TaskSchedulerManager taskSchedulerManager,
VenderBusiness venderBusiness) : base(restApiService,
options,
logger,
fsql,
idGenerator,
taskSchedulerManager,
venderBusiness)
{
}
/// <summary>
/// 删除推广报表-sku维度-京速推业务线数据
/// </summary>
/// <param name="shops"></param>
/// <param name="startDate"></param>
/// <param name="endDate"></param>
private void DeleteOldData(IList<ShopResponse> shops, DateTime startDate, DateTime endDate)
{
var shopIds = shops.Select(s => Convert.ToInt64(s.ShopId)).ToList();
fsql.Delete<JDPopularizeAdSku>().Where(s => shopIds.Contains(s.ShopId.Value) &&
s.Date >= startDate && s.Date <= endDate &&
s.BusinessType == 2).ExecuteAffrows();
}
public void SyncAllShopPopularizeReportFormAdLevel()
{
var shopList = venderBusiness.GetShopList(shopId: null, Enums.Platform.);
var date = DateTime.Now.Date.AddDays(-1);
DeleteOldData(shopList, date, date);
foreach (var shop in shopList)
{
Task.Factory.StartNew(() => SyncShopPopularizeReportFormAdLevelByDate(shop, date, date),
System.Threading.CancellationToken.None,
TaskCreationOptions.LongRunning,
taskSchedulerManager.JDPopularizeTaskScheduler);
}
}
public void SyncShopPopularizeReportFormAdLevelByDate(long? shopId, DateTime startDate, DateTime endDate)
{
startDate = startDate.Date;
endDate = endDate.Date;
var shopList = venderBusiness.GetShopList(shopId, Enums.Platform.);
DeleteOldData(shopList, startDate, endDate);
foreach (var shop in shopList)
{
Task.Factory.StartNew(() => SyncShopPopularizeReportFormAdLevelByDate(shop, startDate, endDate),
System.Threading.CancellationToken.None,
TaskCreationOptions.LongRunning,
taskSchedulerManager.JDPopularizeTaskScheduler);
}
}
private void SyncShopPopularizeReportFormAdLevelByDate(ShopResponse shop, DateTime startDate, DateTime endDate)
{
var pageIndex = 1;
while (true)
{
SyncShopPopularizeReportFormAdLevel(shop, startDate, endDate, pageIndex, out int count);
if (count < 100)
break;
pageIndex++;
Thread.Sleep(2000);
}
}
private void SyncShopPopularizeReportFormAdLevel(ShopResponse shop, DateTime startDate, DateTime endDate, int pageIndex, out int currentCount)
{
currentCount = 0;
try
{
var relayAPIHost = GetPlatformRelayAPIHost(shop.PlatformId);
var httpResult = restApiService.SendRequest(relayAPIHost, "Api/PlatformSDK/GetJDSopularizeReportFormByAdLevel", new SyncJDPopularizeReportFormRequest()
{
AppKey = shop.AppKey,
AppSecret = shop.AppSecret,
AppToken = shop.AppToken,
EndDate = endDate,
StartDate = startDate,
Platform = shop.PlatformId,
PageIndex = pageIndex,
Business = 2
}, null, HttpMethod.Post);
if (httpResult.StatusCode != System.Net.HttpStatusCode.OK)
throw new Exception($"获取JD推广报表-创意维度失败 {httpResult.Content}");
var presponse = JsonConvert.DeserializeObject<ApiResponse<JArray>>(httpResult.Content);
if (!presponse.Success)
throw new Exception($"获取JD推广报表-创意维度失败 {presponse.Msg}");
SyncShopPopularizeReportFormAdLevel(long.Parse(shop.ShopId), presponse.Data);
currentCount = presponse.Data?.Count() ?? 0;
}
catch (Exception ex)
{
var data = JsonConvert.SerializeObject(new { shop, startDate, endDate, pageIndex });
logger.Error(ex, $"SyncShopPopularizeReportFormAdLevel Data:{data}");
}
}
private void SyncShopPopularizeReportFormAdLevel(long shopId, JArray jArray)
{
if (jArray == null || !jArray.HasValues)
return;
var insertList = new List<JDPopularizeAdSku>();
foreach (var j in jArray)
{
var adName = j.Value<string>("adName");
var skuMatch = Regex.Match(adName, @"^(.*-)?(\d+)-(.*)$");
if (!skuMatch.Success)
continue;
var sku = skuMatch.Groups[2].Value;
insertList.Add(new JDPopularizeAdSku()
{
Id = idGenerator.NewLong(),
BusinessType = 2,
ShopId = shopId,
CreateTime = DateTime.Now,
CampaignId = j.Value<long>("campaignId"),
AdGroupId = j.Value<long>("adGroupId"),
AdId = j.Value<long>("adId"),
AdName = adName,
Date = DateTime.ParseExact(j.Value<string>("date"), "yyyyMMdd", System.Globalization.CultureInfo.CurrentCulture),
Cost = j["retrievalType0"].Value<decimal>("cost"),
Clicks = j["retrievalType0"].Value<int?>("clicks") ?? 0,
Impressions = j["retrievalType0"].Value<int?>("impressions") ?? 0,
TotalCartCnt = j["retrievalType0"].Value<int?>("totalCartCnt") ?? 0,
TotalOrderCnt = j["retrievalType0"].Value<int?>("totalOrderCnt") ?? 0,
Sku = sku
});
}
if (insertList.Count > 0)
fsql.Insert(insertList).ExecuteAffrows();
}
}
}

151
BBWY.Server.Business/Sync/JD/JDPopularizeReportFormSkuLevelSyncBusiness.cs

@ -0,0 +1,151 @@
using BBWY.Common.Http;
using BBWY.Common.Models;
using BBWY.Server.Model;
using BBWY.Server.Model.Db;
using BBWY.Server.Model.Dto;
using Microsoft.Extensions.Options;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
using NLog;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net.Http;
using System.Threading;
using System.Threading.Tasks;
using Yitter.IdGenerator;
namespace BBWY.Server.Business.Sync
{
public class JDPopularizeReportFormSkuLevelSyncBusiness : BaseSyncBusiness, IDenpendency
{
public JDPopularizeReportFormSkuLevelSyncBusiness(RestApiService restApiService,
IOptions<GlobalConfig> options,
ILogger logger,
IFreeSql fsql,
IIdGenerator idGenerator,
TaskSchedulerManager taskSchedulerManager,
VenderBusiness venderBusiness) : base(restApiService,
options,
logger,
fsql,
idGenerator,
taskSchedulerManager,
venderBusiness)
{
}
/// <summary>
/// 删除推广报表-sku维度-京速推业务线数据
/// </summary>
/// <param name="shops"></param>
/// <param name="startDate"></param>
/// <param name="endDate"></param>
private void DeleteOldData(IList<ShopResponse> shops, DateTime startDate, DateTime endDate)
{
var shopIds = shops.Select(s => Convert.ToInt64(s.ShopId)).ToList();
fsql.Delete<JDPopularizeAdSku>().Where(s => shopIds.Contains(s.ShopId.Value) &&
s.Date >= startDate && s.Date <= endDate &&
s.BusinessType == 134217728).ExecuteAffrows();
}
public void SyncAllShopPopularizeReportFormSkuLevel()
{
var shopList = venderBusiness.GetShopList(shopId: null, Enums.Platform.);
var date = DateTime.Now.Date.AddDays(-1);
DeleteOldData(shopList, date, date);
foreach (var shop in shopList)
{
Task.Factory.StartNew(() => SyncShopPopularizeReportFormSkuLevelByDate(shop, date, date),
System.Threading.CancellationToken.None,
TaskCreationOptions.LongRunning,
taskSchedulerManager.JDPopularizeTaskScheduler);
}
}
public void SyncShopPopularizeReportFormSkuLevelByDate(long? shopId, DateTime startDate, DateTime endDate)
{
startDate = startDate.Date;
endDate = endDate.Date;
var shopList = venderBusiness.GetShopList(shopId, Enums.Platform.);
DeleteOldData(shopList, startDate, endDate);
foreach (var shop in shopList)
{
Task.Factory.StartNew(() => SyncShopPopularizeReportFormSkuLevelByDate(shop, startDate, endDate),
System.Threading.CancellationToken.None,
TaskCreationOptions.LongRunning,
taskSchedulerManager.JDPopularizeTaskScheduler);
}
}
private void SyncShopPopularizeReportFormSkuLevelByDate(ShopResponse shop, DateTime startDate, DateTime endDate)
{
var pageIndex = 1;
while (true)
{
SyncShopPopularizeReportFormSkuLevel(shop, startDate, endDate, pageIndex, out int count);
if (count < 100)
break;
pageIndex++;
Thread.Sleep(2000);
}
}
private void SyncShopPopularizeReportFormSkuLevel(ShopResponse shop, DateTime startDate, DateTime endDate, int pageIndex, out int currentCount)
{
currentCount = 0;
try
{
var relayAPIHost = GetPlatformRelayAPIHost(shop.PlatformId);
var httpResult = restApiService.SendRequest(relayAPIHost, "Api/PlatformSDK/GetJDSopularizeReportFormBySkuLevel", new SyncJDPopularizeReportFormRequest()
{
AppKey = shop.AppKey,
AppSecret = shop.AppSecret,
AppToken = shop.AppToken,
EndDate = endDate,
StartDate = startDate,
Platform = shop.PlatformId,
PageIndex = pageIndex,
Business = 134217728
}, null, HttpMethod.Post);
if (httpResult.StatusCode != System.Net.HttpStatusCode.OK)
throw new Exception($"获取JD推广报表-sku维度失败 {httpResult.Content}");
var presponse = JsonConvert.DeserializeObject<ApiResponse<JArray>>(httpResult.Content);
if (!presponse.Success)
throw new Exception($"获取JD推广报表-sku维度失败 {presponse.Msg}");
SyncShopPopularizeReportFormSkuLevel(long.Parse(shop.ShopId), presponse.Data);
currentCount = presponse.Data?.Count() ?? 0;
}
catch (Exception ex)
{
var data = JsonConvert.SerializeObject(new { shop, startDate, endDate, pageIndex });
logger.Error(ex, $"SyncShopPopularizeReportFormSkuLevel Data:{data}");
}
}
private void SyncShopPopularizeReportFormSkuLevel(long shopId, JArray jArray)
{
if (jArray == null || !jArray.HasValues)
return;
var insertList = jArray.Select(j => new JDPopularizeAdSku()
{
Id = idGenerator.NewLong(),
BusinessType = 134217728,
ShopId = shopId,
CreateTime = DateTime.Now,
CampaignId = j.Value<long>("campaignId"),
Cost = j.Value<decimal>("cost"),
Date = DateTime.ParseExact(j.Value<string>("date"), "yyyyMMdd", System.Globalization.CultureInfo.CurrentCulture),
Clicks = j.Value<int?>("clicks") ?? 0,
Impressions = j.Value<int?>("impressions") ?? 0,
Sku = j.Value<string>("skuId"),
TotalCartCnt = j.Value<int?>("totalCartCnt") ?? 0,
TotalOrderCnt = j.Value<int?>("totalOrderCnt") ?? 0
}).ToList();
fsql.Insert(insertList).ExecuteAffrows();
}
}
}

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

@ -1,4 +1,4 @@
using FreeSql.DataAnnotations;
using FreeSql.DataAnnotations;
using System;
namespace BBWY.Server.Model.Db
@ -8,78 +8,81 @@ namespace BBWY.Server.Model.Db
/// 京东推广单元表
/// </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; }
}
public partial class JDPopularizeAdGroup
{
[Column(IsPrimary = true)]
public long Id { get; set; }
/// <summary>
/// 单元Id
/// </summary>
public long? AdGroupId { get; set; }
[Column(StringLength = 100)]
public string AdGroupName { 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; }
}
}

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

@ -8,87 +8,90 @@ namespace BBWY.Server.Model.Db
/// 京东推广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; }
}
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; }
[Column(StringLength = 100)]
public string AdName { 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; }
}
}

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

@ -1,4 +1,4 @@
using FreeSql.DataAnnotations;
using FreeSql.DataAnnotations;
using System;
namespace BBWY.Server.Model.Db
@ -25,6 +25,9 @@ namespace BBWY.Server.Model.Db
/// </summary>
public long? CampaignId { get; set; }
[Column(StringLength = 100)]
public string CampaignName { get; set; }
/// <summary>
/// 点击数
/// </summary>

0
BBWY.Server.Model/Dto/Request/Sync/SyncJDPopularizeAdSkuRequest.cs → BBWY.Server.Model/Dto/Request/Sync/SyncJDPopularizeReportFormRequest.cs

252
doc/.back_步步为盈数据库/步步为盈数据库-backup-20221013185403.pdma.json → doc/.back_步步为盈数据库/步步为盈数据库-backup-20221014050426.pdma.json

@ -2,9 +2,9 @@
"name": "步步为盈数据库",
"describe": "步步为盈数据库关系图",
"avatar": "",
"version": "4.1.1",
"version": "4.1.3",
"createdTime": "2022-10-3 12:39:39",
"updatedTime": "2022-10-13 16:45:16",
"updatedTime": "2022-10-14 05:03:26",
"dbConns": [],
"profile": {
"default": {
@ -2181,72 +2181,7 @@
"hideInGraph": true
}
],
"correlations": [
{
"myField": "198D443B-59EF-4F60-AA16-7F7CCBA63E76",
"refEntity": "CD64DEB3-500E-48AF-896E-123922A03290",
"refField": "672717A5-A65E-4A6C-9F10-C4689C92FD45",
"myRows": "n",
"refRows": "1",
"innerType": ""
},
{
"myField": "198D443B-59EF-4F60-AA16-7F7CCBA63E76",
"refEntity": "6C3F90C3-1F4F-48DC-AF2B-6F3A91D4940E",
"refField": "E3ECBB1B-D2F3-45AE-AD54-FB0A6886635E",
"myRows": "n",
"refRows": "1",
"innerType": ""
},
{
"myField": "198D443B-59EF-4F60-AA16-7F7CCBA63E76",
"refEntity": "D2D83A3F-F985-44C0-9E6B-057FE01F7FD1",
"refField": "3D2A0846-F961-4CC6-82DD-AC9D778700AF",
"myRows": "n",
"refRows": "1",
"innerType": ""
},
{
"myField": "198D443B-59EF-4F60-AA16-7F7CCBA63E76",
"refEntity": "AFBF3A2E-1169-4602-B6D0-7C109C293E9A",
"refField": "C2FE946F-02B4-4B24-9AA4-433A6E98F7A9",
"myRows": "n",
"refRows": "1",
"innerType": ""
},
{
"myField": "198D443B-59EF-4F60-AA16-7F7CCBA63E76",
"refEntity": "37E1918D-18E8-4C9F-8FBB-46D84FFCAE74",
"refField": "BD4C9D08-9D6C-4878-A539-BE15AC2420E3",
"myRows": "n",
"refRows": "1",
"innerType": ""
},
{
"myField": "198D443B-59EF-4F60-AA16-7F7CCBA63E76",
"refEntity": "379D48BE-3522-413B-8FA3-752D65ADB597",
"refField": "65A1A6ED-EF2C-4369-8CCB-B6E762EEF9D0",
"myRows": "n",
"refRows": "1",
"innerType": ""
},
{
"myField": "198D443B-59EF-4F60-AA16-7F7CCBA63E76",
"refEntity": "70EFBBA5-586A-41A9-9051-03B037561DE3",
"refField": "8BF0615B-95E0-4B44-A1C3-85FFCFB498E3",
"myRows": "n",
"refRows": "1",
"innerType": ""
},
{
"myField": "198D443B-59EF-4F60-AA16-7F7CCBA63E76",
"refEntity": "30E9507B-707C-4BCF-99F2-104066BCC3F9",
"refField": "88311B02-719F-45ED-9603-84EEA4F6F802",
"myRows": "n",
"refRows": "1",
"innerType": ""
}
]
"correlations": []
},
{
"id": "CD64DEB3-500E-48AF-896E-123922A03290",
@ -4670,16 +4605,7 @@
"hideInGraph": true
}
],
"correlations": [
{
"myField": "0EE3108C-0995-4D82-AA03-FF63F0D62626",
"refEntity": "36D3AE16-4B8F-4FB6-B607-0D5F94F647A9",
"refField": "9A555E08-6CC2-4A7C-8967-888F2B46CBFE",
"myRows": "n",
"refRows": "1",
"innerType": ""
}
]
"correlations": []
},
{
"id": "36D3AE16-4B8F-4FB6-B607-0D5F94F647A9",
@ -5234,16 +5160,7 @@
"hideInGraph": true
}
],
"correlations": [
{
"myField": "1012CEB5-702E-428F-ABEF-17BD9856E4E3",
"refEntity": "AFBF3A2E-1169-4602-B6D0-7C109C293E9A",
"refField": "EDBAA4E6-1F5F-4FF4-B467-B02ED749BCD9",
"myRows": "n",
"refRows": "1",
"innerType": ""
}
]
"correlations": []
},
{
"id": "F9DDBC09-6B8A-48B8-A106-8F2A7966AA95",
@ -5731,32 +5648,7 @@
"hideInGraph": true
}
],
"correlations": [
{
"myField": "B503CFCF-19DA-4D5B-9416-C3DD65E477CD",
"refEntity": "379D48BE-3522-413B-8FA3-752D65ADB597",
"refField": "E85EE812-0F49-49B3-8FBD-E6435CF08CDA",
"myRows": "n",
"refRows": "1",
"innerType": ""
},
{
"myField": "3F567BD5-256D-4843-ADDF-0805BE706112",
"refEntity": "30E9507B-707C-4BCF-99F2-104066BCC3F9",
"refField": "DEFBFE32-2FF7-41E5-A871-2978539AD6A7",
"myRows": "n",
"refRows": "1",
"innerType": ""
},
{
"myField": "3F567BD5-256D-4843-ADDF-0805BE706112",
"refEntity": "AFBF3A2E-1169-4602-B6D0-7C109C293E9A",
"refField": "93852E9B-AD50-40B6-A131-B62EFFE3438C",
"myRows": "n",
"refRows": "1",
"innerType": ""
}
]
"correlations": []
},
{
"id": "DACA02F0-DE03-4869-82DF-6DB92B0C5D26",
@ -6080,16 +5972,7 @@
"hideInGraph": true
}
],
"correlations": [
{
"myField": "6F03B0D9-DECD-45A0-B0F5-1921289472EF",
"refEntity": "31D73A1D-A582-48E3-8D31-1F65E1B7BC32",
"refField": "5FD032F5-CF4B-4308-BB7C-2B1F6FD7774E",
"myRows": "n",
"refRows": "1",
"innerType": ""
}
]
"correlations": []
},
{
"id": "31D73A1D-A582-48E3-8D31-1F65E1B7BC32",
@ -6336,24 +6219,7 @@
"hideInGraph": true
}
],
"correlations": [
{
"myField": "69FA1246-23B5-4DB0-9CD7-A82D5E27C1CF",
"refEntity": "34EEFEC3-FF23-4ABF-8C72-CE57979E444A",
"refField": "98F8F005-A630-4C98-8C1F-ECCA64E65996",
"myRows": "n",
"refRows": "1",
"innerType": ""
},
{
"myField": "69FA1246-23B5-4DB0-9CD7-A82D5E27C1CF",
"refEntity": "8B58D0E4-2781-49D2-9B31-682EAE4D94C2",
"refField": "61C58DEB-2779-451F-82AD-3B03BC9C795D",
"myRows": "n",
"refRows": "1",
"innerType": ""
}
]
"correlations": []
},
{
"id": "34EEFEC3-FF23-4ABF-8C72-CE57979E444A",
@ -6566,16 +6432,7 @@
"hideInGraph": true
}
],
"correlations": [
{
"myField": "41BFEC37-8F13-42D0-B8ED-123071447D18",
"refEntity": "8B58D0E4-2781-49D2-9B31-682EAE4D94C2",
"refField": "4C09B365-4B2A-4613-9133-DF0421BFC85C",
"myRows": "n",
"refRows": "1",
"innerType": ""
}
]
"correlations": []
},
{
"id": "8B58D0E4-2781-49D2-9B31-682EAE4D94C2",
@ -7261,24 +7118,7 @@
"id": "FB5BB057-8F3E-4F68-91CF-7E2923C489F9"
}
],
"correlations": [
{
"myField": "81703BD3-514F-4E8E-8898-54FDBFF90D7A",
"refEntity": "28A57F78-5B0C-4F38-B3D8-CAE9A0950386",
"refField": "16E62919-C979-4830-930A-EAE234252B2F",
"myRows": "n",
"refRows": "1",
"innerType": ""
},
{
"myField": "ED33CB09-DBB2-4FD6-B3E9-BEE77BD14B63",
"refEntity": "DA24C713-1155-424A-AC92-2B2DF62789CD",
"refField": "5F519CD5-5B0E-4C18-99AD-CD24BADE9ED3",
"myRows": "n",
"refRows": "1",
"innerType": ""
}
],
"correlations": [],
"indexes": []
},
{
@ -7419,6 +7259,23 @@
"domain": "",
"id": "6680ECC1-3A51-4EC6-BDD8-7F8B0FEB6788"
},
{
"defKey": "CampaignName",
"defName": "计划名称",
"comment": "",
"type": "VARCHAR",
"len": 100,
"scale": "",
"primaryKey": false,
"notNull": false,
"autoIncrement": false,
"defaultValue": "",
"hideInGraph": false,
"refDict": "",
"extProps": {},
"domain": "",
"id": "8D260D1D-FAC5-4759-A479-C5A111BCBD0E"
},
{
"defKey": "Date",
"defName": "计费日期",
@ -7573,32 +7430,7 @@
"id": "07FFE4B1-4275-4407-832A-1F2193E3DA37"
}
],
"correlations": [
{
"myField": "6680ECC1-3A51-4EC6-BDD8-7F8B0FEB6788",
"refEntity": "91555D00-CE97-4666-94BA-E83996533E52",
"refField": "A3C3A9A6-05BF-4514-9789-15C5732F7241",
"myRows": "n",
"refRows": "1",
"innerType": ""
},
{
"myField": "6680ECC1-3A51-4EC6-BDD8-7F8B0FEB6788",
"refEntity": "28A57F78-5B0C-4F38-B3D8-CAE9A0950386",
"refField": "6680ECC1-3A51-4EC6-BDD8-7F8B0FEB6788",
"myRows": "n",
"refRows": "1",
"innerType": ""
},
{
"myField": "6680ECC1-3A51-4EC6-BDD8-7F8B0FEB6788",
"refEntity": "DA24C713-1155-424A-AC92-2B2DF62789CD",
"refField": "6680ECC1-3A51-4EC6-BDD8-7F8B0FEB6788",
"myRows": "n",
"refRows": "1",
"innerType": ""
}
],
"correlations": [],
"indexes": []
},
{
@ -7739,6 +7571,23 @@
"domain": "",
"id": "16E62919-C979-4830-930A-EAE234252B2F"
},
{
"defKey": "AdGroupName",
"defName": "单元名称",
"comment": "",
"type": "VARCHAR",
"len": 100,
"scale": "",
"primaryKey": false,
"notNull": false,
"autoIncrement": false,
"defaultValue": "",
"hideInGraph": false,
"refDict": "",
"extProps": {},
"domain": "",
"id": "CF89ECDD-7A3E-4553-9523-2A3D823FF879"
},
{
"defKey": "CampaignId",
"defName": "计划Id",
@ -7910,16 +7759,7 @@
"id": "07FFE4B1-4275-4407-832A-1F2193E3DA37"
}
],
"correlations": [
{
"myField": "16E62919-C979-4830-930A-EAE234252B2F",
"refEntity": "DA24C713-1155-424A-AC92-2B2DF62789CD",
"refField": "58444AC3-3BDE-408A-BE47-3C063EC54731",
"myRows": "n",
"refRows": "1",
"innerType": ""
}
],
"correlations": [],
"indexes": []
},
{

269
doc/步步为盈数据库.pdma.json

@ -2,9 +2,9 @@
"name": "步步为盈数据库",
"describe": "步步为盈数据库关系图",
"avatar": "",
"version": "4.1.1",
"version": "4.1.3",
"createdTime": "2022-10-3 12:39:39",
"updatedTime": "2022-10-13 18:54:03",
"updatedTime": "2022-10-14 05:04:26",
"dbConns": [],
"profile": {
"default": {
@ -2181,72 +2181,7 @@
"hideInGraph": true
}
],
"correlations": [
{
"myField": "198D443B-59EF-4F60-AA16-7F7CCBA63E76",
"refEntity": "CD64DEB3-500E-48AF-896E-123922A03290",
"refField": "672717A5-A65E-4A6C-9F10-C4689C92FD45",
"myRows": "n",
"refRows": "1",
"innerType": ""
},
{
"myField": "198D443B-59EF-4F60-AA16-7F7CCBA63E76",
"refEntity": "6C3F90C3-1F4F-48DC-AF2B-6F3A91D4940E",
"refField": "E3ECBB1B-D2F3-45AE-AD54-FB0A6886635E",
"myRows": "n",
"refRows": "1",
"innerType": ""
},
{
"myField": "198D443B-59EF-4F60-AA16-7F7CCBA63E76",
"refEntity": "D2D83A3F-F985-44C0-9E6B-057FE01F7FD1",
"refField": "3D2A0846-F961-4CC6-82DD-AC9D778700AF",
"myRows": "n",
"refRows": "1",
"innerType": ""
},
{
"myField": "198D443B-59EF-4F60-AA16-7F7CCBA63E76",
"refEntity": "AFBF3A2E-1169-4602-B6D0-7C109C293E9A",
"refField": "C2FE946F-02B4-4B24-9AA4-433A6E98F7A9",
"myRows": "n",
"refRows": "1",
"innerType": ""
},
{
"myField": "198D443B-59EF-4F60-AA16-7F7CCBA63E76",
"refEntity": "37E1918D-18E8-4C9F-8FBB-46D84FFCAE74",
"refField": "BD4C9D08-9D6C-4878-A539-BE15AC2420E3",
"myRows": "n",
"refRows": "1",
"innerType": ""
},
{
"myField": "198D443B-59EF-4F60-AA16-7F7CCBA63E76",
"refEntity": "379D48BE-3522-413B-8FA3-752D65ADB597",
"refField": "65A1A6ED-EF2C-4369-8CCB-B6E762EEF9D0",
"myRows": "n",
"refRows": "1",
"innerType": ""
},
{
"myField": "198D443B-59EF-4F60-AA16-7F7CCBA63E76",
"refEntity": "70EFBBA5-586A-41A9-9051-03B037561DE3",
"refField": "8BF0615B-95E0-4B44-A1C3-85FFCFB498E3",
"myRows": "n",
"refRows": "1",
"innerType": ""
},
{
"myField": "198D443B-59EF-4F60-AA16-7F7CCBA63E76",
"refEntity": "30E9507B-707C-4BCF-99F2-104066BCC3F9",
"refField": "88311B02-719F-45ED-9603-84EEA4F6F802",
"myRows": "n",
"refRows": "1",
"innerType": ""
}
]
"correlations": []
},
{
"id": "CD64DEB3-500E-48AF-896E-123922A03290",
@ -4670,16 +4605,7 @@
"hideInGraph": true
}
],
"correlations": [
{
"myField": "0EE3108C-0995-4D82-AA03-FF63F0D62626",
"refEntity": "36D3AE16-4B8F-4FB6-B607-0D5F94F647A9",
"refField": "9A555E08-6CC2-4A7C-8967-888F2B46CBFE",
"myRows": "n",
"refRows": "1",
"innerType": ""
}
]
"correlations": []
},
{
"id": "36D3AE16-4B8F-4FB6-B607-0D5F94F647A9",
@ -5234,16 +5160,7 @@
"hideInGraph": true
}
],
"correlations": [
{
"myField": "1012CEB5-702E-428F-ABEF-17BD9856E4E3",
"refEntity": "AFBF3A2E-1169-4602-B6D0-7C109C293E9A",
"refField": "EDBAA4E6-1F5F-4FF4-B467-B02ED749BCD9",
"myRows": "n",
"refRows": "1",
"innerType": ""
}
]
"correlations": []
},
{
"id": "F9DDBC09-6B8A-48B8-A106-8F2A7966AA95",
@ -5731,32 +5648,7 @@
"hideInGraph": true
}
],
"correlations": [
{
"myField": "B503CFCF-19DA-4D5B-9416-C3DD65E477CD",
"refEntity": "379D48BE-3522-413B-8FA3-752D65ADB597",
"refField": "E85EE812-0F49-49B3-8FBD-E6435CF08CDA",
"myRows": "n",
"refRows": "1",
"innerType": ""
},
{
"myField": "3F567BD5-256D-4843-ADDF-0805BE706112",
"refEntity": "30E9507B-707C-4BCF-99F2-104066BCC3F9",
"refField": "DEFBFE32-2FF7-41E5-A871-2978539AD6A7",
"myRows": "n",
"refRows": "1",
"innerType": ""
},
{
"myField": "3F567BD5-256D-4843-ADDF-0805BE706112",
"refEntity": "AFBF3A2E-1169-4602-B6D0-7C109C293E9A",
"refField": "93852E9B-AD50-40B6-A131-B62EFFE3438C",
"myRows": "n",
"refRows": "1",
"innerType": ""
}
]
"correlations": []
},
{
"id": "DACA02F0-DE03-4869-82DF-6DB92B0C5D26",
@ -6080,16 +5972,7 @@
"hideInGraph": true
}
],
"correlations": [
{
"myField": "6F03B0D9-DECD-45A0-B0F5-1921289472EF",
"refEntity": "31D73A1D-A582-48E3-8D31-1F65E1B7BC32",
"refField": "5FD032F5-CF4B-4308-BB7C-2B1F6FD7774E",
"myRows": "n",
"refRows": "1",
"innerType": ""
}
]
"correlations": []
},
{
"id": "31D73A1D-A582-48E3-8D31-1F65E1B7BC32",
@ -6336,24 +6219,7 @@
"hideInGraph": true
}
],
"correlations": [
{
"myField": "69FA1246-23B5-4DB0-9CD7-A82D5E27C1CF",
"refEntity": "34EEFEC3-FF23-4ABF-8C72-CE57979E444A",
"refField": "98F8F005-A630-4C98-8C1F-ECCA64E65996",
"myRows": "n",
"refRows": "1",
"innerType": ""
},
{
"myField": "69FA1246-23B5-4DB0-9CD7-A82D5E27C1CF",
"refEntity": "8B58D0E4-2781-49D2-9B31-682EAE4D94C2",
"refField": "61C58DEB-2779-451F-82AD-3B03BC9C795D",
"myRows": "n",
"refRows": "1",
"innerType": ""
}
]
"correlations": []
},
{
"id": "34EEFEC3-FF23-4ABF-8C72-CE57979E444A",
@ -6566,16 +6432,7 @@
"hideInGraph": true
}
],
"correlations": [
{
"myField": "41BFEC37-8F13-42D0-B8ED-123071447D18",
"refEntity": "8B58D0E4-2781-49D2-9B31-682EAE4D94C2",
"refField": "4C09B365-4B2A-4613-9133-DF0421BFC85C",
"myRows": "n",
"refRows": "1",
"innerType": ""
}
]
"correlations": []
},
{
"id": "8B58D0E4-2781-49D2-9B31-682EAE4D94C2",
@ -7261,24 +7118,7 @@
"id": "FB5BB057-8F3E-4F68-91CF-7E2923C489F9"
}
],
"correlations": [
{
"myField": "81703BD3-514F-4E8E-8898-54FDBFF90D7A",
"refEntity": "28A57F78-5B0C-4F38-B3D8-CAE9A0950386",
"refField": "16E62919-C979-4830-930A-EAE234252B2F",
"myRows": "n",
"refRows": "1",
"innerType": ""
},
{
"myField": "ED33CB09-DBB2-4FD6-B3E9-BEE77BD14B63",
"refEntity": "DA24C713-1155-424A-AC92-2B2DF62789CD",
"refField": "5F519CD5-5B0E-4C18-99AD-CD24BADE9ED3",
"myRows": "n",
"refRows": "1",
"innerType": ""
}
],
"correlations": [],
"indexes": []
},
{
@ -7419,6 +7259,23 @@
"domain": "",
"id": "6680ECC1-3A51-4EC6-BDD8-7F8B0FEB6788"
},
{
"defKey": "CampaignName",
"defName": "计划名称",
"comment": "",
"type": "VARCHAR",
"len": 100,
"scale": "",
"primaryKey": false,
"notNull": false,
"autoIncrement": false,
"defaultValue": "",
"hideInGraph": false,
"refDict": "",
"extProps": {},
"domain": "",
"id": "8D260D1D-FAC5-4759-A479-C5A111BCBD0E"
},
{
"defKey": "Date",
"defName": "计费日期",
@ -7573,32 +7430,7 @@
"id": "07FFE4B1-4275-4407-832A-1F2193E3DA37"
}
],
"correlations": [
{
"myField": "6680ECC1-3A51-4EC6-BDD8-7F8B0FEB6788",
"refEntity": "91555D00-CE97-4666-94BA-E83996533E52",
"refField": "A3C3A9A6-05BF-4514-9789-15C5732F7241",
"myRows": "n",
"refRows": "1",
"innerType": ""
},
{
"myField": "6680ECC1-3A51-4EC6-BDD8-7F8B0FEB6788",
"refEntity": "28A57F78-5B0C-4F38-B3D8-CAE9A0950386",
"refField": "6680ECC1-3A51-4EC6-BDD8-7F8B0FEB6788",
"myRows": "n",
"refRows": "1",
"innerType": ""
},
{
"myField": "6680ECC1-3A51-4EC6-BDD8-7F8B0FEB6788",
"refEntity": "DA24C713-1155-424A-AC92-2B2DF62789CD",
"refField": "6680ECC1-3A51-4EC6-BDD8-7F8B0FEB6788",
"myRows": "n",
"refRows": "1",
"innerType": ""
}
],
"correlations": [],
"indexes": []
},
{
@ -7739,6 +7571,23 @@
"domain": "",
"id": "16E62919-C979-4830-930A-EAE234252B2F"
},
{
"defKey": "AdGroupName",
"defName": "单元名称",
"comment": "",
"type": "VARCHAR",
"len": 100,
"scale": "",
"primaryKey": false,
"notNull": false,
"autoIncrement": false,
"defaultValue": "",
"hideInGraph": false,
"refDict": "",
"extProps": {},
"domain": "",
"id": "CF89ECDD-7A3E-4553-9523-2A3D823FF879"
},
{
"defKey": "CampaignId",
"defName": "计划Id",
@ -7910,16 +7759,7 @@
"id": "07FFE4B1-4275-4407-832A-1F2193E3DA37"
}
],
"correlations": [
{
"myField": "16E62919-C979-4830-930A-EAE234252B2F",
"refEntity": "DA24C713-1155-424A-AC92-2B2DF62789CD",
"refField": "58444AC3-3BDE-408A-BE47-3C063EC54731",
"myRows": "n",
"refRows": "1",
"innerType": ""
}
],
"correlations": [],
"indexes": []
},
{
@ -8372,6 +8212,23 @@
"domain": "",
"id": "5F519CD5-5B0E-4C18-99AD-CD24BADE9ED3"
},
{
"defKey": "AdName",
"defName": "创意名称",
"comment": "",
"type": "VARCHAR",
"len": 100,
"scale": "",
"primaryKey": false,
"notNull": false,
"autoIncrement": false,
"defaultValue": "",
"hideInGraph": false,
"refDict": "",
"extProps": {},
"domain": "",
"id": "BEC26AB4-937C-459A-A8DA-F8582C1A6D6A"
},
{
"defKey": "AdGroupId",
"defName": "单元Id",

Loading…
Cancel
Save