From 786dc55fd05379c0aaf0b63f3c24a65d8c1a8d56 Mon Sep 17 00:00:00 2001 From: shanj <18996038927@163.com> Date: Thu, 19 May 2022 02:48:45 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B5=B7=E6=8A=95=E5=BF=AB=E8=BD=A6=E8=8A=B1?= =?UTF-8?q?=E8=B4=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- BBWY.Server.API/Startup.cs | 3 +- BBWY.Server.API/appsettings.json | 3 +- BBWY.Server.Business/FreeSqlMultiDBManager.cs | 2 + .../Statistics/StatisticsBusiness.cs | 17 +- BBWY.Server.Model/BBWY.Server.Model.csproj | 4 + BBWY.Server.Model/Db/JDXX/Shopsdetail.cs | 420 ++++++++++++++++++ BBWY.Server.Model/Db/JDXX生成.bat | 2 + .../Statistics/OrderAchievementResponse.cs | 5 + 8 files changed, 453 insertions(+), 3 deletions(-) create mode 100644 BBWY.Server.Model/Db/JDXX/Shopsdetail.cs create mode 100644 BBWY.Server.Model/Db/JDXX生成.bat diff --git a/BBWY.Server.API/Startup.cs b/BBWY.Server.API/Startup.cs index 4e17b59e..d667b210 100644 --- a/BBWY.Server.API/Startup.cs +++ b/BBWY.Server.API/Startup.cs @@ -45,12 +45,13 @@ namespace BBWY.Server.API services.AddSingleton(typeof(IFreeSql), fsql); var fsql2 = new FreeSql.FreeSqlBuilder().UseConnectionString(FreeSql.DataType.MySql, Configuration.GetConnectionString("MDSDB")).Build(); - + var fsql3 = new FreeSql.FreeSqlBuilder().UseConnectionString(FreeSql.DataType.MySql, Configuration.GetConnectionString("JDXX")).Build(); services.AddSingleton(new FreeSqlMultiDBManager() { BBWYfsql = fsql, MDSfsql = fsql2, + JDXXfsql = fsql3 }); services.AddSingleton(typeof(NLog.ILogger), NLog.LogManager.GetCurrentClassLogger()); services.AddSingleton(); diff --git a/BBWY.Server.API/appsettings.json b/BBWY.Server.API/appsettings.json index cbe7b837..e21adaf7 100644 --- a/BBWY.Server.API/appsettings.json +++ b/BBWY.Server.API/appsettings.json @@ -10,7 +10,8 @@ "ConnectionStrings": { //"DB": "data source=rm-bp1508okrh23710yfao.mysql.rds.aliyuncs.com;port=3306;user id=qyroot;password=kaicn1132+-;initial catalog=bbwy;charset=utf8;sslmode=none;" "DB": "data source=rm-bp1508okrh23710yfao.mysql.rds.aliyuncs.com;port=3306;user id=qyroot;password=kaicn1132+-;initial catalog=bbwy_test;charset=utf8;sslmode=none;", - "MDSDB": "data source=rm-bp1508okrh23710yfao.mysql.rds.aliyuncs.com;port=3306;user id=qyroot;password=kaicn1132+-;initial catalog=mds;charset=utf8;sslmode=none;" + "MDSDB": "data source=rm-bp1508okrh23710yfao.mysql.rds.aliyuncs.com;port=3306;user id=qyroot;password=kaicn1132+-;initial catalog=mds;charset=utf8;sslmode=none;", + "JDXX": "data source=rm-bp1508okrh23710yfao.mysql.rds.aliyuncs.com;port=3306;user id=qyroot;password=kaicn1132+-;initial catalog=jdxx;charset=utf8;sslmode=none;" }, "GlobalSetting": { "MdsApi": "http://mdsapi.qiyue666.com", diff --git a/BBWY.Server.Business/FreeSqlMultiDBManager.cs b/BBWY.Server.Business/FreeSqlMultiDBManager.cs index bc713cbd..055e6755 100644 --- a/BBWY.Server.Business/FreeSqlMultiDBManager.cs +++ b/BBWY.Server.Business/FreeSqlMultiDBManager.cs @@ -8,5 +8,7 @@ namespace BBWY.Server.Business { public IFreeSql BBWYfsql { get; set; } public IFreeSql MDSfsql { get; set; } + + public IFreeSql JDXXfsql { get; set; } } } diff --git a/BBWY.Server.Business/Statistics/StatisticsBusiness.cs b/BBWY.Server.Business/Statistics/StatisticsBusiness.cs index c5fdc42f..711aceca 100644 --- a/BBWY.Server.Business/Statistics/StatisticsBusiness.cs +++ b/BBWY.Server.Business/Statistics/StatisticsBusiness.cs @@ -1,6 +1,7 @@ using BBWY.Common.Models; using BBWY.Server.Model; using BBWY.Server.Model.Db; +using BBWY.Server.Model.Db.Mds; using BBWY.Server.Model.Dto; using System; using System.Collections.Generic; @@ -12,10 +13,12 @@ namespace BBWY.Server.Business public class StatisticsBusiness : BaseBusiness, IDenpendency { private IList invalidOrderStateList; + private FreeSqlMultiDBManager freeSqlMultiDBManager; - public StatisticsBusiness(IFreeSql fsql, NLog.ILogger logger, IIdGenerator idGenerator) : base(fsql, logger, idGenerator) + public StatisticsBusiness(IFreeSql fsql, NLog.ILogger logger, IIdGenerator idGenerator, FreeSqlMultiDBManager freeSqlMultiDBManager) : base(fsql, logger, idGenerator) { invalidOrderStateList = new List() { Enums.OrderState.待付款, Enums.OrderState.已取消 }; + this.freeSqlMultiDBManager = freeSqlMultiDBManager; } public OrderAchievementResponse GetOrderAchievementStatistics(OrderAchievementRequest request) @@ -36,6 +39,18 @@ namespace BBWY.Server.Business PlatformCommissionAmount = oc.Sum(oc.Key.PlatformCommissionAmount), PurchaseAmount = oc.Sum(oc.Key.PurchaseAmount) }); + var shopId = request.ShopId.ToString(); + var mdsShop = freeSqlMultiDBManager.MDSfsql.Select().Where(s => s.ShopId == shopId).ToOne(); + if (mdsShop != null) + { + var advCost = freeSqlMultiDBManager.JDXXfsql.Select().Where(s => s.ShopsId == mdsShop.Id && + s.CreateTime >= request.StartTime && + s.CreateTime <= request.EndTime) + .ToAggregate(s => s.Sum(s.Key.ExpressCost + s.Key.ShotgunCost)); + response.AdvCost = advCost; + response.Profit -= advCost; + } + return response; } diff --git a/BBWY.Server.Model/BBWY.Server.Model.csproj b/BBWY.Server.Model/BBWY.Server.Model.csproj index 891a9e46..c8dd518b 100644 --- a/BBWY.Server.Model/BBWY.Server.Model.csproj +++ b/BBWY.Server.Model/BBWY.Server.Model.csproj @@ -10,4 +10,8 @@ + + + + diff --git a/BBWY.Server.Model/Db/JDXX/Shopsdetail.cs b/BBWY.Server.Model/Db/JDXX/Shopsdetail.cs new file mode 100644 index 00000000..9d322c12 --- /dev/null +++ b/BBWY.Server.Model/Db/JDXX/Shopsdetail.cs @@ -0,0 +1,420 @@ +using FreeSql.DataAnnotations; +using System; + +namespace BBWY.Server.Model.Db +{ + + [Table(Name = "shopsdetail", DisableSyncStructure = true)] + public partial class Shopsdetail { + + /// + /// 活动订单 + /// + [Column(DbType = "decimal(11,4)")] + public decimal? ActiveOrder { get; set; } + + /// + /// 活动访客 + /// + [Column(DbType = "decimal(11,4)")] + public decimal? ActiveUv { get; set; } + + /// + /// 加购人数 + /// + [Column(DbType = "decimal(11,4)")] + public decimal? AddCardMember { get; set; } + + /// + /// 加购率 + /// + [Column(DbType = "decimal(11,4)")] + public decimal? AddCardRate { get; set; } + + /// + /// 购物车订单 + /// + [Column(DbType = "decimal(11,4)")] + public decimal? CarOrder { get; set; } + + /// + /// 购物车访客 + /// + [Column(DbType = "decimal(11,4)")] + public decimal? CarUv { get; set; } + + /// + /// 栏目订单 + /// + [Column(DbType = "decimal(11,4)")] + public decimal? ColumnOrder { get; set; } + + /// + /// 栏目访客 + /// + [Column(DbType = "decimal(11,4)")] + public decimal? ColumnUv { get; set; } + + [Column(DbType = "decimal(11,4)")] + public decimal? ContentOrder { get; set; } + + [Column(DbType = "decimal(11,4)")] + public decimal? ContentUv { get; set; } + + /// + /// 总转化率 + /// + [Column(DbType = "decimal(11,4)")] + public decimal? ConversionRate { get; set; } + + /// + /// 创建时间 + /// + [Column(DbType = "datetime")] + public DateTime CreateTime { get; set; } + + /// + /// 创建人Id + /// + [Column(StringLength = 50)] + public string CreatorId { get; set; } + + /// + /// 创建人 + /// + [Column(StringLength = 50, IsNullable = false)] + public string CreatorRealName { get; set; } + + /// + /// 直接访问订单 + /// + [Column(DbType = "decimal(11,4)")] + public decimal? DirectlyOrder { get; set; } + + /// + /// 直接访问访客 + /// + [Column(DbType = "decimal(11,4)")] + public decimal? DirectlyUv { get; set; } + + /// + /// 盈亏小节 + /// + [Column(DbType = "decimal(11,4)")] + public decimal? EarningsPrice { get; set; } + + /// + /// 快车点击 + /// + [Column(DbType = "decimal(11,4)")] + public decimal? ExpressClick { get; set; } + + /// + /// 快车花费 + /// + [Column(DbType = "decimal(11,4)")] + public decimal? ExpressCost { get; set; } + + /// + /// 快车订单 + /// + [Column(DbType = "decimal(11,4)")] + public decimal? ExpressOrder { get; set; } + + /// + /// 快车成交额 + /// + [Column(DbType = "decimal(11,4)")] + public decimal? ExpressPayPrice { get; set; } + + /// + /// 快车人均点击 + /// + [Column(DbType = "decimal(11,4)")] + public decimal? ExpressPeopleClick { get; set; } + + /// + /// 快车访客 + /// + [Column(DbType = "decimal(11,4)")] + public decimal? ExpressUv { get; set; } + + /// + /// 免费成交额 + /// + [Column(DbType = "decimal(11,4)")] + public decimal? FreePayPrice { get; set; } + + [Column(DbType = "decimal(11,4)")] + public decimal? GameOrder { get; set; } + + [Column(DbType = "decimal(11,4)")] + public decimal? GameUv { get; set; } + + /// + /// Id + /// + [Column(StringLength = 50, IsNullable = false)] + public string Id { get; set; } + + /// + /// 首页订单 + /// + [Column(DbType = "decimal(11,4)")] + public decimal? IndexOrder { get; set; } + + /// + /// 首页访客 + /// + [Column(DbType = "decimal(11,4)")] + public decimal? IndexUv { get; set; } + + [Column(DbType = "decimal(11,4)")] + public decimal? JTKOrder { get; set; } + + [Column(DbType = "decimal(11,4)")] + public decimal? JTKUv { get; set; } + + /// + /// 消息中心订单 + /// + [Column(DbType = "decimal(11,4)")] + public decimal? MsgOrder { get; set; } + + /// + /// 消息中心访客 + /// + [Column(DbType = "decimal(11,4)")] + public decimal? MsgUv { get; set; } + + /// + /// 我的订单 + /// + [Column(DbType = "decimal(11,4)")] + public decimal? MyOrder { get; set; } + + /// + /// 我的访客 + /// + [Column(DbType = "decimal(11,4)")] + public decimal? MyUv { get; set; } + + /// + /// 上架新品数 + /// + + public int? NewItemCount { get; set; } + + [Column(DbType = "decimal(11,4)")] + public decimal? OrderPayOrder { get; set; } + + [Column(DbType = "decimal(11,4)")] + public decimal? OrderPayUv { get; set; } + + /// + /// 其他店铺订单 + /// + [Column(DbType = "decimal(11,4)")] + public decimal? OrderShopOrder { get; set; } + + /// + /// 其他店铺订单 + /// + [Column(DbType = "decimal(11,4)")] + public decimal? OtherItemOrder { get; set; } + + /// + /// 其他店铺商品访客 + /// + [Column(DbType = "decimal(11,4)")] + public decimal? OtherItemUv { get; set; } + + /// + /// 其他订单 + /// + [Column(DbType = "decimal(11,4)")] + public decimal? OtherOrder { get; set; } + + /// + /// 其他成交额 + /// + [Column(DbType = "decimal(11,4)")] + public decimal? OtherPrice { get; set; } + + /// + /// 其他店铺访客 + /// + [Column(DbType = "decimal(11,4)")] + public decimal? OtherShopUv { get; set; } + + /// + /// 其他访客 + /// + [Column(DbType = "decimal(11,4)")] + public decimal? OtherUv { get; set; } + + /// + /// 总订单数 + /// + [Column(DbType = "decimal(11,4)")] + public decimal? PayOrder { get; set; } + + /// + /// 毛利 + /// + [Column(DbType = "decimal(11,4)")] + public decimal? Profits { get; set; } + + /// + /// 推广活动页订单 + /// + [Column(DbType = "decimal(11,4)")] + public decimal? PromoteOrder { get; set; } + + /// + /// 推广落地页访客 + /// + [Column(DbType = "decimal(11,4)")] + public decimal? PromoteUv { get; set; } + + /// + /// 真实转化率 + /// + [Column(DbType = "decimal(11,4)")] + public decimal? RealConversionRate { get; set; } + + /// + /// 真实成交额 + /// + [Column(DbType = "decimal(11,4)")] + public decimal? RealSalePrice { get; set; } + + /// + /// 推荐订单 + /// + [Column(DbType = "decimal(11,4)")] + public decimal? RecommendedOrder { get; set; } + + /// + /// 推荐访客 + /// + [Column(DbType = "decimal(11,4)")] + public decimal? RecommendedUv { get; set; } + + /// + /// 总成交额 + /// + [Column(DbType = "decimal(11,4)")] + public decimal? SalePrice { get; set; } + + /// + /// 扫一扫订单 + /// + [Column(DbType = "decimal(11,4)")] + public decimal? ScanOrder { get; set; } + + /// + /// 扫一扫访客 + /// + [Column(DbType = "decimal(11,4)")] + public decimal? ScanUv { get; set; } + + /// + /// 风向标 + /// + [Column(DbType = "decimal(11,4)")] + public decimal? ScoreRank { get; set; } + + /// + /// Sd花费 + /// + [Column(DbType = "decimal(11,4)")] + public decimal? SdCost { get; set; } + + /// + /// Sd单量 + /// + [Column(DbType = "decimal(11,4)")] + public decimal? SdOrder { get; set; } + + /// + /// Sd成交额 + /// + [Column(DbType = "decimal(11,4)")] + public decimal? SdPrice { get; set; } + + /// + /// 搜索订单 + /// + [Column(DbType = "decimal(11,4)")] + public decimal? SearchOrder { get; set; } + + /// + /// 搜索访客 + /// + [Column(DbType = "decimal(11,4)")] + public decimal? SearchUv { get; set; } + + /// + /// 店铺名称 + /// + + public string ShopName { get; set; } + + /// + /// 店铺ID + /// + [Column(StringLength = 50)] + public string ShopsId { get; set; } + + /// + /// 海投点击 + /// + [Column(DbType = "decimal(11,4)")] + public decimal? ShotgunClick { get; set; } + + /// + /// 海投花费 + /// + [Column(DbType = "decimal(11,4)")] + public decimal? ShotgunCost { get; set; } + + /// + /// 海投订单 + /// + [Column(DbType = "decimal(11,4)")] + public decimal? ShotgunOrder { get; set; } + + /// + /// 海投成交额 + /// + [Column(DbType = "decimal(11,4)")] + public decimal? ShotgunPayPrice { get; set; } + + /// + /// 海投人均点击 + /// + [Column(DbType = "decimal(11,4)")] + public decimal? ShotgunPeopleClick { get; set; } + + /// + /// 海投访客 + /// + [Column(DbType = "decimal(11,4)")] + public decimal? ShotgunUv { get; set; } + + /// + /// 总花费 + /// + [Column(DbType = "decimal(11,4)")] + public decimal? TotalCost { get; set; } + + /// + /// 总访客 + /// + [Column(DbType = "decimal(11,4)")] + public decimal? Uv { get; set; } + + } + +} diff --git a/BBWY.Server.Model/Db/JDXX生成.bat b/BBWY.Server.Model/Db/JDXX生成.bat new file mode 100644 index 00000000..4e33ea16 --- /dev/null +++ b/BBWY.Server.Model/Db/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/BBWY.Server.Model/Dto/Response/Statistics/OrderAchievementResponse.cs b/BBWY.Server.Model/Dto/Response/Statistics/OrderAchievementResponse.cs index 075f6a3b..e628425a 100644 --- a/BBWY.Server.Model/Dto/Response/Statistics/OrderAchievementResponse.cs +++ b/BBWY.Server.Model/Dto/Response/Statistics/OrderAchievementResponse.cs @@ -56,5 +56,10 @@ namespace BBWY.Server.Model.Dto /// 订单数量 /// public int OrderCount { get; set; } + + /// + /// 广告投入 + /// + public decimal AdvCost { get; set; } } }