From 66d1400c61f5c27a73b38f3361bdaff8444893bb Mon Sep 17 00:00:00 2001 From: sanji Date: Thu, 30 Nov 2023 16:09:45 +0800 Subject: [PATCH] =?UTF-8?q?=E5=88=97=E8=A1=A8=E6=90=9C=E7=B4=A2=E5=A2=9E?= =?UTF-8?q?=E5=8A=A0UV?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- SBF.Business/TrusteeshipBusiness.cs | 31 +- SBF.Model/Db/XingXiang/Newskus.cs | 425 ++++++++++++++++++ .../Dto/Response/TrusteeshipTaskResponse.cs | 2 +- SBF.Model/JDXX生成.bat | 2 + SBF.Model/SBF.Model.csproj | 4 + 5 files changed, 451 insertions(+), 13 deletions(-) create mode 100644 SBF.Model/Db/XingXiang/Newskus.cs create mode 100644 SBF.Model/JDXX生成.bat diff --git a/SBF.Business/TrusteeshipBusiness.cs b/SBF.Business/TrusteeshipBusiness.cs index 148d7de..1022611 100644 --- a/SBF.Business/TrusteeshipBusiness.cs +++ b/SBF.Business/TrusteeshipBusiness.cs @@ -1,4 +1,5 @@ -using SBF.Common.Extensions; +using JDXX.Model.Db; +using SBF.Common.Extensions; using SBF.Common.Log; using SBF.Common.Models; using SBF.Model.Db; @@ -158,15 +159,6 @@ namespace SBF.Business x.BusinessType, x.Cost }); - //.GroupBy(x => new { x.Date, x.SkuId, x.CampaignId, x.BusinessType }) - //.ToList(g => new - //{ - // Date = g.Key.Date, - // SkuId = g.Key.SkuId, - // CampaignId = g.Key.CampaignId, - // BusinessType = g.Key.BusinessType, - // Cost = g.Sum(g.Value.Cost) - //}); #endregion #region 商品营业额 @@ -185,12 +177,19 @@ namespace SBF.Business #endregion #region 免费访客量 - + var shopIdStr = request.ShopId.ToString(); + var uvList = fsql.Select().Where(s => s.ShopId == shopIdStr && + s.CreateTime >= startDate && + s.CreateTime <= endDate && + skuIdList.Contains(s.Sku)) + .ToList(s => new { s.Uv, s.Sku, Date = s.CreateTime }); #endregion foreach (var task in list) { - task.CostByDateList = costList.Where(x => x.SkuId == task.SkuId && x.CampaignId == task.CampaignId && x.BusinessType == task.BusinessType) + task.CostByDateList = costList.Where(x => x.SkuId == task.SkuId && + x.CampaignId == task.CampaignId && + x.BusinessType == task.BusinessType) .OrderBy(x => x.Date) .Select(x => new NumberByDate() { @@ -205,6 +204,14 @@ namespace SBF.Business Date = x.Date, Value = x.ActualAmount }).ToList(); + + task.UVByDateList = uvList.Where(x => x.Sku == task.SkuId) + .OrderBy(x => x.Date) + .Select(x => new NumberByDate() + { + Date = x.Date, + Value = x.Uv + }).ToList(); } return new ListResponse() { ItemList = list, Count = count }; diff --git a/SBF.Model/Db/XingXiang/Newskus.cs b/SBF.Model/Db/XingXiang/Newskus.cs new file mode 100644 index 0000000..eaa7100 --- /dev/null +++ b/SBF.Model/Db/XingXiang/Newskus.cs @@ -0,0 +1,425 @@ +using FreeSql.DataAnnotations; + +namespace JDXX.Model.Db +{ + [Table(Name = "newskus", DisableSyncStructure = true)] + public partial class Newskus + { + + /// + /// Id + /// + [Column(StringLength = 50, IsPrimary = true, IsNullable = false)] + public string Id { get; set; } + + /// + /// 加购物车数量 + /// + [Column(DbType = "int")] + public int? AddCardCount { get; set; } + + /// + /// 加购人数 + /// + [Column(DbType = "int")] + public int? AddCardMember { get; set; } + + /// + /// 加购率 + /// + [Column(DbType = "decimal(11,2)")] + public decimal? AddCardRate { get; set; } + + /// + /// 点击次数 + /// + [Column(DbType = "int")] + public int? ClickCount { get; set; } + + /// + /// 点击率 + /// + [Column(DbType = "decimal(11,2)")] + public decimal? ClickRate { get; set; } + + /// + /// 栏目订单 + /// + [Column(DbType = "int")] + public int? ColumnOrder { get; set; } + + /// + /// 转化率 + /// + [Column(DbType = "decimal(11,2)")] + public decimal? ConversionRate { get; set; } + + /// + /// 收费流量 + /// + [Column(DbType = "int")] + public int? CostUv { get; set; } + + /// + /// 创建时间 + /// + [Column(DbType = "datetime")] + public DateTime CreateTime { get; set; } + + /// + /// 盈亏小节 + /// + [Column(DbType = "decimal(19,4)")] + public decimal? EarningsPrice { get; set; } + + /// + /// 曝光量 + /// + [Column(DbType = "int")] + public int? Exposure { get; set; } + + /// + /// 快车点击率 + /// + [Column(DbType = "decimal(11,2)")] + public decimal? ExposureClickRate { get; set; } + + /// + /// 快车点击 + /// + [Column(DbType = "int")] + public int? ExpressClick { get; set; } + + /// + /// 快车花费 + /// + [Column(DbType = "decimal(19,4)")] + public decimal? ExpressCost { get; set; } + + /// + /// 快车展现 + /// + + public decimal? ExpressExposure { get; set; } + + /// + /// 快车订单 + /// + [Column(DbType = "int")] + public int? ExpressOrder { get; set; } + + /// + /// 快车成交额 + /// + [Column(DbType = "decimal(19,4)")] + public decimal? ExpressPayPrice { get; set; } + + /// + /// 快车人均点击 + /// + [Column(DbType = "decimal(11,4)")] + public decimal? ExpressPeopleClick { get; set; } + + /// + /// 快车访客 + /// + [Column(DbType = "int")] + public int? ExpressUv { get; set; } + + /// + /// 免费订单 + /// + [Column(DbType = "int")] + public int? FreeOrder { get; set; } + + /// + /// 免费成交额 + /// + [Column(DbType = "decimal(19,4)")] + public decimal? FreePayPrice { get; set; } + + /// + /// 免费流量 + /// + [Column(DbType = "int")] + public int? FreeUv { get; set; } + + /// + /// 首页访客 + /// + [Column(DbType = "int")] + public int? IndexUv { get; set; } + + /// + /// 是否收藏 + /// + [Column(DbType = "tinyint")] + public sbyte? IsStar { get; set; } + + /// + /// 新品交易榜单 + /// + [Column(DbType = "int")] + public int? NewSaleTopIndex { get; set; } + + /// + /// 新品人气榜单 + /// + [Column(DbType = "int")] + public int? NewUvTopIndex { get; set; } + + /// + /// 一级类目 + /// + [Column(StringLength = 50)] + public string OneCatId { get; set; } + + /// + /// 其他订单 + /// + [Column(DbType = "int")] + public int? OtherOrder { get; set; } + + /// + /// 其他成交额 + /// + [Column(DbType = "decimal(19,4)")] + public decimal? OtherPrice { get; set; } + + /// + /// 其他访客 + /// + [Column(DbType = "int")] + public int? OtherUv { get; set; } + + /// + /// 流量路径 + /// + [Column(StringLength = -2)] + public string PathList { get; set; } + + /// + /// 下单商品件数 + /// + [Column(DbType = "int")] + public int? PayItemCount { get; set; } + + /// + /// 下单客户数 + /// + [Column(DbType = "int")] + public int? PayMember { get; set; } + + /// + /// 下单数 + /// + [Column(DbType = "int")] + public int? PayOrder { get; set; } + + /// + /// 下单金额 + /// + [Column(DbType = "decimal(19,4)")] + public decimal? PayPrice { get; set; } + + /// + /// 下单转化率 + /// + [Column(DbType = "decimal(11,2)")] + public decimal? PayRate { get; set; } + + /// + /// 毛利 + /// + [Column(DbType = "decimal(19,4)")] + public decimal? Profits { get; set; } + + /// + /// 流量 + /// + [Column(DbType = "int")] + public int? Pv { get; set; } + + /// + /// 真实转化率 + /// + [Column(DbType = "decimal(11,2)")] + public decimal? RealConversionRate { get; set; } + + /// + /// 真实成交额 + /// + [Column(DbType = "decimal(19,4)")] + public decimal? RealPrice { get; set; } + + /// + /// 成交客户数 + /// + [Column(DbType = "int")] + public int? SaleMember { get; set; } + + /// + /// 成交金额 + /// + [Column(DbType = "decimal(19,4)")] + public decimal? SalePrice { get; set; } + + /// + /// 成交转化率 + /// + [Column(DbType = "decimal(11,2)")] + public decimal? SaleRate { get; set; } + + /// + /// 成交件数 + /// + [Column(DbType = "int")] + public int? Sales { get; set; } + + /// + /// 交易榜单排名 + /// + [Column(DbType = "int")] + public int? SaleTopIndex { get; set; } + + /// + /// 风向标 + /// + [Column(DbType = "decimal(11,2)")] + public decimal? ScoreRank { get; set; } + + /// + /// 刷单花费 + /// + [Column(DbType = "decimal(19,4)")] + public decimal? SdCost { get; set; } + + /// + /// 刷单单量 + /// + [Column(DbType = "int")] + public int? SdOrder { get; set; } + + /// + /// 刷单成交额 + /// + [Column(DbType = "decimal(19,4)")] + public decimal? SdPrice { get; set; } + + /// + /// 搜索访客 + /// + [Column(DbType = "int")] + public int? SearchUv { get; set; } + + /// + /// 二级类目 + /// + [Column(StringLength = 50)] + public string SecondCatId { get; set; } + + /// + /// 自主订单 + /// + [Column(DbType = "int")] + public int? SelfOrder { get; set; } + + /// + /// 店铺ID + /// + [Column(StringLength = 50)] + public string ShopId { get; set; } + + /// + /// 海投点击 + /// + [Column(DbType = "int")] + public int? ShotgunClick { get; set; } + + /// + /// 海投点击率 + /// + [Column(DbType = "decimal(11,2)")] + public decimal? ShotgunClickRate { get; set; } + + /// + /// 海投花费 + /// + [Column(DbType = "decimal(19,4)")] + public decimal? ShotgunCost { get; set; } + + /// + /// 海投展现 + /// + [Column(DbType = "decimal(11,2)")] + public decimal? ShotgunExposure { get; set; } + + /// + /// 海投订单 + /// + [Column(DbType = "int")] + public int? ShotgunOrder { get; set; } + + /// + /// 海投成交额 + /// + [Column(DbType = "decimal(19,4)")] + public decimal? ShotgunPayPrice { get; set; } + + /// + /// 海投人均点击 + /// + [Column(DbType = "decimal(11,4)")] + public decimal? ShotgunPeopleClick { get; set; } + + /// + /// 海投访客 + /// + [Column(DbType = "int")] + public int? ShotgunUv { get; set; } + + /// + /// sku + /// + [Column(StringLength = 50)] + public string Sku { get; set; } + + /// + /// Spu + /// + [Column(StringLength = 50)] + public string Spu { get; set; } + + /// + /// 推荐访客 + /// + [Column(DbType = "int")] + public int? StarUv { get; set; } + + /// + /// 三级类目 + /// + [Column(StringLength = 50)] + public string ThirdCatId { get; set; } + + /// + /// 总花费 + /// + [Column(DbType = "decimal(19,4)")] + public decimal? TotalCost { get; set; } + + /// + /// 访客 + /// + [Column(DbType = "int")] + public int? Uv { get; set; } + + /// + /// 人气榜单排名 + /// + [Column(DbType = "int")] + public int? UvTopIndex { get; set; } + + } + +} diff --git a/SBF.Model/Dto/Response/TrusteeshipTaskResponse.cs b/SBF.Model/Dto/Response/TrusteeshipTaskResponse.cs index 433a53d..278cef3 100644 --- a/SBF.Model/Dto/Response/TrusteeshipTaskResponse.cs +++ b/SBF.Model/Dto/Response/TrusteeshipTaskResponse.cs @@ -81,7 +81,7 @@ namespace SBF.Model.Dto /// /// 按日期分组的免费访客量 /// - public IList FreeCountByDateList { get; set; } + public IList UVByDateList { get; set; } /// /// 托管开始时间 diff --git a/SBF.Model/JDXX生成.bat b/SBF.Model/JDXX生成.bat new file mode 100644 index 0000000..4e33ea1 --- /dev/null +++ b/SBF.Model/JDXX生成.bat @@ -0,0 +1,2 @@ + +FreeSql.Generator -Razor 1 -NameOptions 1,0,0,0 -NameSpace BBWY.Server.Model.Db -DB "MySql,data source=rm-bp1508okrh23710yfao.mysql.rds.aliyuncs.com;port=3306;user id=qyroot;password=kaicn1132+-;initial catalog=jdxx;charset=utf8;sslmode=none;" -FileName "{name}.cs" diff --git a/SBF.Model/SBF.Model.csproj b/SBF.Model/SBF.Model.csproj index 732cb12..5d8b3da 100644 --- a/SBF.Model/SBF.Model.csproj +++ b/SBF.Model/SBF.Model.csproj @@ -12,4 +12,8 @@ + + + +