diff --git a/BBWY.Server.API/Controllers/JDPopularizeSyncController.cs b/BBWY.Server.API/Controllers/JDPopularizeSyncController.cs index 7be00822..30a99dd8 100644 --- a/BBWY.Server.API/Controllers/JDPopularizeSyncController.cs +++ b/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; } + /// + /// 同步全店推广记录 + /// [HttpGet] public void SyncAllShopPopularizeRecord() { jdPopularizeSyncBusiness.SyncAllShopPopularizeRecord(); } + /// + /// 同步指定条件的推广记录 + /// + /// + /// + /// [HttpGet] public void SyncShopPopularizeRecordByDate(long? shopId, DateTime startDate, DateTime endDate) { jdPopularizeSyncBusiness.SyncShopPopularizeRecordByDate(shopId, startDate, endDate); } + + /// + /// 同步全店推广报表-sku维度 + /// + [HttpGet] + public void SyncAllShopPopularizeReportFormSkuLevel() + { + jdPopularizeReportFormSkuLevelSyncBusiness.SyncAllShopPopularizeReportFormSkuLevel(); + } + + /// + /// 同步指定条件的推广报表-sku维度 + /// + /// + /// + /// + [HttpGet] + public void SyncShopPopularizeReportFormSkuLevelByDate(long? shopId, DateTime startDate, DateTime endDate) + { + jdPopularizeReportFormSkuLevelSyncBusiness.SyncShopPopularizeReportFormSkuLevelByDate(shopId, startDate, endDate); + } + + /// + /// 同步全店推广报表-创意维度 + /// + [HttpGet] + public void SyncAllShopPopularizeReportFormAdLevel() + { + jdPopularizeReportFormAdLevelSyncBusiness.SyncAllShopPopularizeReportFormAdLevel(); + } + + /// + /// 同步指定条件的推广报表-创意维度 + /// + /// + /// + /// + [HttpGet] + public void SyncShopPopularizeReportFormAdLevelByDate(long? shopId, DateTime startDate, DateTime endDate) + { + jdPopularizeReportFormAdLevelSyncBusiness.SyncShopPopularizeReportFormAdLevelByDate(shopId, startDate, endDate); + } } } diff --git a/BBWY.Server.Business/Sync/JD/JDPopularizeAdSkuReportFormSyncBusiness.cs b/BBWY.Server.Business/Sync/JD/JDPopularizeAdSkuReportFormSyncBusiness.cs deleted file mode 100644 index 6f6d2afb..00000000 --- a/BBWY.Server.Business/Sync/JD/JDPopularizeAdSkuReportFormSyncBusiness.cs +++ /dev/null @@ -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 options, - ILogger logger, - IFreeSql fsql, - IIdGenerator idGenerator, - TaskSchedulerManager taskSchedulerManager, - VenderBusiness venderBusiness) : base(restApiService, - options, - logger, - fsql, - idGenerator, - taskSchedulerManager, - venderBusiness) - { - - } - - - } -} diff --git a/BBWY.Server.Business/Sync/JD/JDPopularizeReportFormAdLevelSyncBusiness.cs b/BBWY.Server.Business/Sync/JD/JDPopularizeReportFormAdLevelSyncBusiness.cs new file mode 100644 index 00000000..1089337f --- /dev/null +++ b/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 options, + ILogger logger, + IFreeSql fsql, + IIdGenerator idGenerator, + TaskSchedulerManager taskSchedulerManager, + VenderBusiness venderBusiness) : base(restApiService, + options, + logger, + fsql, + idGenerator, + taskSchedulerManager, + venderBusiness) + { + + } + + /// + /// 删除推广报表-sku维度-京速推业务线数据 + /// + /// + /// + /// + private void DeleteOldData(IList shops, DateTime startDate, DateTime endDate) + { + var shopIds = shops.Select(s => Convert.ToInt64(s.ShopId)).ToList(); + fsql.Delete().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>(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(); + foreach (var j in jArray) + { + var adName = j.Value("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("campaignId"), + AdGroupId = j.Value("adGroupId"), + AdId = j.Value("adId"), + AdName = adName, + Date = DateTime.ParseExact(j.Value("date"), "yyyyMMdd", System.Globalization.CultureInfo.CurrentCulture), + Cost = j["retrievalType0"].Value("cost"), + Clicks = j["retrievalType0"].Value("clicks") ?? 0, + Impressions = j["retrievalType0"].Value("impressions") ?? 0, + TotalCartCnt = j["retrievalType0"].Value("totalCartCnt") ?? 0, + TotalOrderCnt = j["retrievalType0"].Value("totalOrderCnt") ?? 0, + Sku = sku + }); + } + if (insertList.Count > 0) + fsql.Insert(insertList).ExecuteAffrows(); + } + } +} diff --git a/BBWY.Server.Business/Sync/JD/JDPopularizeReportFormSkuLevelSyncBusiness.cs b/BBWY.Server.Business/Sync/JD/JDPopularizeReportFormSkuLevelSyncBusiness.cs new file mode 100644 index 00000000..901cdd85 --- /dev/null +++ b/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 options, + ILogger logger, + IFreeSql fsql, + IIdGenerator idGenerator, + TaskSchedulerManager taskSchedulerManager, + VenderBusiness venderBusiness) : base(restApiService, + options, + logger, + fsql, + idGenerator, + taskSchedulerManager, + venderBusiness) + { + + } + + /// + /// 删除推广报表-sku维度-京速推业务线数据 + /// + /// + /// + /// + private void DeleteOldData(IList shops, DateTime startDate, DateTime endDate) + { + var shopIds = shops.Select(s => Convert.ToInt64(s.ShopId)).ToList(); + fsql.Delete().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>(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("campaignId"), + Cost = j.Value("cost"), + Date = DateTime.ParseExact(j.Value("date"), "yyyyMMdd", System.Globalization.CultureInfo.CurrentCulture), + Clicks = j.Value("clicks") ?? 0, + Impressions = j.Value("impressions") ?? 0, + Sku = j.Value("skuId"), + TotalCartCnt = j.Value("totalCartCnt") ?? 0, + TotalOrderCnt = j.Value("totalOrderCnt") ?? 0 + }).ToList(); + fsql.Insert(insertList).ExecuteAffrows(); + } + } +} diff --git a/BBWY.Server.Model/Db/JD/JDPopularizeAdGroup.cs b/BBWY.Server.Model/Db/JD/JDPopularizeAdGroup.cs index 36e5ea2e..b7aa57f2 100644 --- a/BBWY.Server.Model/Db/JD/JDPopularizeAdGroup.cs +++ b/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 /// 京东推广单元表 /// [Table(Name = "jdpopularizeadgroup", DisableSyncStructure = true)] - public partial class JDPopularizeAdGroup - { - - [Column(IsPrimary = true)] - public long Id { get; set; } - - /// - /// 单元Id - /// - - public long? AdGroupId { get; set; } - - /// - /// 业务线(快车:2 京速推:134217728) - /// - - public int? BusinessType { get; set; } - - /// - /// 计划Id - /// - - public long? CampaignId { get; set; } - - /// - /// 点击数 - /// - [Column(Name = "clicks")] - public int? Clicks { get; set; } - - /// - /// 总花费 - /// - [Column(DbType = "decimal(18,2)")] - public decimal? Cost { get; set; } - - [Column(DbType = "datetime")] - public DateTime? CreateTime { get; set; } - - /// - /// 计费日期 - /// - [Column(DbType = "datetime")] - public DateTime? Date { get; set; } - - /// - /// 展现次数 - /// - [Column(Name = "impressions")] - public int? Impressions { get; set; } - - /// - /// 账号归属 - /// - [Column(Name = "pin")] - public string Pin { get; set; } - - - public long? ShopId { get; set; } - - /// - /// 总加购人数 - /// - [Column(Name = "totalCartCnt")] - public int? TotalCartCnt { get; set; } - - /// - /// 总订单数 - /// - [Column(Name = "totalOrderCnt")] - public int? TotalOrderCnt { get; set; } - - } + public partial class JDPopularizeAdGroup + { + + [Column(IsPrimary = true)] + public long Id { get; set; } + + /// + /// 单元Id + /// + + public long? AdGroupId { get; set; } + + [Column(StringLength = 100)] + public string AdGroupName { get; set; } + + /// + /// 业务线(快车:2 京速推:134217728) + /// + + public int? BusinessType { get; set; } + + /// + /// 计划Id + /// + + public long? CampaignId { get; set; } + + /// + /// 点击数 + /// + [Column(Name = "clicks")] + public int? Clicks { get; set; } + + /// + /// 总花费 + /// + [Column(DbType = "decimal(18,2)")] + public decimal? Cost { get; set; } + + [Column(DbType = "datetime")] + public DateTime? CreateTime { get; set; } + + /// + /// 计费日期 + /// + [Column(DbType = "datetime")] + public DateTime? Date { get; set; } + + /// + /// 展现次数 + /// + [Column(Name = "impressions")] + public int? Impressions { get; set; } + + /// + /// 账号归属 + /// + [Column(Name = "pin")] + public string Pin { get; set; } + + + public long? ShopId { get; set; } + + /// + /// 总加购人数 + /// + [Column(Name = "totalCartCnt")] + public int? TotalCartCnt { get; set; } + + /// + /// 总订单数 + /// + [Column(Name = "totalOrderCnt")] + public int? TotalOrderCnt { get; set; } + + } } diff --git a/BBWY.Server.Model/Db/JD/JDPopularizeAdSku.cs b/BBWY.Server.Model/Db/JD/JDPopularizeAdSku.cs index 743f9ec8..759a17a2 100644 --- a/BBWY.Server.Model/Db/JD/JDPopularizeAdSku.cs +++ b/BBWY.Server.Model/Db/JD/JDPopularizeAdSku.cs @@ -8,87 +8,90 @@ namespace BBWY.Server.Model.Db /// 京东推广SKU创意表 /// [Table(Name = "jdpopularizeadsku", DisableSyncStructure = true)] - public partial class JDPopularizeAdSku - { - - [Column(IsPrimary = true)] - public long Id { get; set; } - - /// - /// 单元Id - /// - - public long? AdGroupId { get; set; } - - /// - /// 创意Id - /// - - public long? AdId { get; set; } - - /// - /// 业务线(快车:2 京速推:134217728) - /// - - public int? BusinessType { get; set; } - - /// - /// 计划Id - /// - - public long? CampaignId { get; set; } - - /// - /// 点击数 - /// - [Column(Name = "clicks")] - public int? Clicks { get; set; } - - /// - /// 总花费 - /// - [Column(DbType = "decimal(18,2)")] - public decimal? Cost { get; set; } - - [Column(DbType = "datetime")] - public DateTime? CreateTime { get; set; } - - /// - /// 计费日期 - /// - [Column(DbType = "datetime")] - public DateTime? Date { get; set; } - - /// - /// 展现次数 - /// - [Column(Name = "impressions")] - public int? Impressions { get; set; } - - /// - /// 账号归属 - /// - [Column(Name = "pin")] - public string Pin { get; set; } - - - public long? ShopId { get; set; } - - [Column(StringLength = 50)] - public string Sku { get; set; } - - /// - /// 总加购人数 - /// - [Column(Name = "totalCartCnt")] - public int? TotalCartCnt { get; set; } - - /// - /// 总订单数 - /// - [Column(Name = "totalOrderCnt")] - public int? TotalOrderCnt { get; set; } - - } + public partial class JDPopularizeAdSku + { + + [Column(IsPrimary = true)] + public long Id { get; set; } + + /// + /// 单元Id + /// + + public long? AdGroupId { get; set; } + + /// + /// 创意Id + /// + + public long? AdId { get; set; } + + [Column(StringLength = 100)] + public string AdName { get; set; } + + /// + /// 业务线(快车:2 京速推:134217728) + /// + + public int? BusinessType { get; set; } + + /// + /// 计划Id + /// + + public long? CampaignId { get; set; } + + /// + /// 点击数 + /// + [Column(Name = "clicks")] + public int? Clicks { get; set; } + + /// + /// 总花费 + /// + [Column(DbType = "decimal(18,2)")] + public decimal? Cost { get; set; } + + [Column(DbType = "datetime")] + public DateTime? CreateTime { get; set; } + + /// + /// 计费日期 + /// + [Column(DbType = "datetime")] + public DateTime? Date { get; set; } + + /// + /// 展现次数 + /// + [Column(Name = "impressions")] + public int? Impressions { get; set; } + + /// + /// 账号归属 + /// + [Column(Name = "pin")] + public string Pin { get; set; } + + + public long? ShopId { get; set; } + + [Column(StringLength = 50)] + public string Sku { get; set; } + + /// + /// 总加购人数 + /// + [Column(Name = "totalCartCnt")] + public int? TotalCartCnt { get; set; } + + /// + /// 总订单数 + /// + [Column(Name = "totalOrderCnt")] + public int? TotalOrderCnt { get; set; } + + } } diff --git a/BBWY.Server.Model/Db/JD/JDPopularizeCampaign.cs b/BBWY.Server.Model/Db/JD/JDPopularizeCampaign.cs index 36ef2e83..946dd97e 100644 --- a/BBWY.Server.Model/Db/JD/JDPopularizeCampaign.cs +++ b/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 /// public long? CampaignId { get; set; } + [Column(StringLength = 100)] + public string CampaignName { get; set; } + /// /// 点击数 /// diff --git a/BBWY.Server.Model/Dto/Request/Sync/SyncJDPopularizeAdSkuRequest.cs b/BBWY.Server.Model/Dto/Request/Sync/SyncJDPopularizeReportFormRequest.cs similarity index 100% rename from BBWY.Server.Model/Dto/Request/Sync/SyncJDPopularizeAdSkuRequest.cs rename to BBWY.Server.Model/Dto/Request/Sync/SyncJDPopularizeReportFormRequest.cs diff --git a/doc/.back_步步为盈数据库/步步为盈数据库-backup-20221013185403.pdma.json b/doc/.back_步步为盈数据库/步步为盈数据库-backup-20221014050426.pdma.json similarity index 98% rename from doc/.back_步步为盈数据库/步步为盈数据库-backup-20221013185403.pdma.json rename to doc/.back_步步为盈数据库/步步为盈数据库-backup-20221014050426.pdma.json index 45c3692e..b7e1a855 100644 --- a/doc/.back_步步为盈数据库/步步为盈数据库-backup-20221013185403.pdma.json +++ b/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": [] }, { diff --git a/doc/步步为盈数据库.pdma.json b/doc/步步为盈数据库.pdma.json index 646905a5..95cf750e 100644 --- a/doc/步步为盈数据库.pdma.json +++ b/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",