Commit c0522cc3 authored by 吴春's avatar 吴春

提交代码

parent c5433921
...@@ -65,6 +65,11 @@ namespace Mall.Model.Query ...@@ -65,6 +65,11 @@ namespace Mall.Model.Query
/// </summary> /// </summary>
public decimal PayMoney { get; set; } public decimal PayMoney { get; set; }
/// <summary>
/// 复购人数
/// </summary>
public int RepurchaseNum { get; set; }
/// <summary> /// <summary>
/// 支付人数 /// 支付人数
......
...@@ -921,13 +921,6 @@ LEFT JOIN rb_member_user as c on b.UserId=c.Id ...@@ -921,13 +921,6 @@ LEFT JOIN rb_member_user as c on b.UserId=c.Id
{ {
orderTypeWhere += $@" and {nameof(RB_Goods_OrderDetail.OrderType)}={dmodel.OrderType}"; orderTypeWhere += $@" and {nameof(RB_Goods_OrderDetail.OrderType)}={dmodel.OrderType}";
} }
//if (dmodel.OrderType > 0)
//{
// where += $@" and a.{nameof(RB_Goods_Order.or)}={(int)dmodel.OrderType}";
// payMemerNumWhere += $@" and {nameof(RB_Goods_Order.OrderSource)}={(int)dmodel.PlatformType}";
//}
if (dmodel.OrderStatus == 1 || dmodel.OrderStatus == 0) if (dmodel.OrderStatus == 1 || dmodel.OrderStatus == 0)
{ {
where += $@" and a.{nameof(RB_Goods_Order.OrderStatus)} in (2,4,3,5,6)"; where += $@" and a.{nameof(RB_Goods_Order.OrderStatus)} in (2,4,3,5,6)";
...@@ -956,29 +949,25 @@ LEFT JOIN rb_member_user as c on b.UserId=c.Id ...@@ -956,29 +949,25 @@ LEFT JOIN rb_member_user as c on b.UserId=c.Id
if (!string.IsNullOrWhiteSpace(dmodel.StartDate)) if (!string.IsNullOrWhiteSpace(dmodel.StartDate))
{ {
where += $" AND DATE_FORMAT(a.{nameof(RB_Goods_Order.CreateDate)},'%Y-%m-%d' )>= DATE_FORMAT('{dmodel.StartDate}','%Y-%m-%d' )"; where += $" AND DATE_FORMAT(a.{nameof(RB_Goods_Order.CreateDate)},'%Y-%m-%d' )>= DATE_FORMAT('{dmodel.StartDate}','%Y-%m-%d' )";
// payMemerNumWhere += $" AND DATE_FORMAT({nameof(RB_Goods_Order.CreateDate)},'%Y-%m-%d' )>= DATE_FORMAT('{dmodel.StartDate}','%Y-%m-%d' )";
payMemerNumWhere += $" AND DATE_FORMAT({nameof(RB_Goods_OrderAfterSale.CreateDate)},'%Y-%m-%d' )>= DATE_FORMAT('{dmodel.StartDate}','%Y-%m-%d' )"; payMemerNumWhere += $" AND DATE_FORMAT({nameof(RB_Goods_OrderAfterSale.CreateDate)},'%Y-%m-%d' )>= DATE_FORMAT('{dmodel.StartDate}','%Y-%m-%d' )";
} }
if (!string.IsNullOrWhiteSpace(dmodel.EndDate)) if (!string.IsNullOrWhiteSpace(dmodel.EndDate))
{ {
where += $" AND DATE_FORMAT(a.{nameof(RB_Goods_Order.CreateDate)},'%Y-%m-%d' )<= DATE_FORMAT('{dmodel.EndDate}','%Y-%m-%d' )"; where += $" AND DATE_FORMAT(a.{nameof(RB_Goods_Order.CreateDate)},'%Y-%m-%d' )<= DATE_FORMAT('{dmodel.EndDate}','%Y-%m-%d' )";
payMemerNumWhere += $" AND DATE_FORMAT({nameof(RB_Goods_OrderAfterSale.CreateDate)},'%Y-%m-%d' )<= DATE_FORMAT('{dmodel.EndDate}','%Y-%m-%d' )"; payMemerNumWhere += $" AND DATE_FORMAT({nameof(RB_Goods_OrderAfterSale.CreateDate)},'%Y-%m-%d' )<= DATE_FORMAT('{dmodel.EndDate}','%Y-%m-%d' )";
// payMemerNumWhere += $" AND DATE_FORMAT({nameof(RB_Goods_Order.CreateDate)},'%Y-%m-%d' )<= DATE_FORMAT('{dmodel.EndDate}','%Y-%m-%d' )";
} }
// string sql = $@"SELECT t.CreateDate,SUM(t.GoodsNum)as GoodsNum ,COUNT(t.OrderId)as OrderNum ,SUM(t.Income)as PayMoney,
//(SELECT COUNT(distinct UserId) from rb_goods_order where DATE_FORMAT(CreateDate,'%Y-%m-%d' )=t.CreateDate {payMemerNumWhere} ) as PayMemerNum
//from (SELECT DATE_FORMAT(a.CreateDate,'%Y-%m-%d' )as CreateDate,b.GoodsNum,a.UserId,a.Income,a.OrderId from rb_goods_order as a
// LEFT JOIN (SELECT OrderId,SUM(Number)as GoodsNum from rb_goods_orderdetail where 1=1 {orderTypeWhere} GROUP BY OrderId)as b on a.OrderId=b.OrderId {where})
//as t GROUP BY t.CreateDate desc";
if (dmodel.OrderStatus == 0 || dmodel.OrderStatus == 1 || dmodel.OrderStatus == 2 || dmodel.OrderStatus == 3) if (dmodel.OrderStatus == 0 || dmodel.OrderStatus == 1 || dmodel.OrderStatus == 2 || dmodel.OrderStatus == 3)
{ {
sql = $@"SELECT t.CreateDate,SUM(t.GoodsNum)as GoodsNum ,COUNT(t.OrderId)as OrderNum ,SUM(t.Income)as PayMoney,MAX(t.PayMemerNum) as PayMemerNum sql = $@"SELECT t.CreateDate,SUM(t.GoodsNum)as GoodsNum ,COUNT(t.OrderId)as OrderNum ,SUM(t.Income)as PayMoney,MAX(t.PayMemerNum) as PayMemerNum,MAX(t.RepurchaseNum) as RepurchaseNum
from (SELECT DATE_FORMAT(a.CreateDate,'%Y-%m-%d' )as CreateDate,b.GoodsNum,a.UserId,a.Income,a.OrderId,c.PayMemerNum from rb_goods_order as a from (SELECT DATE_FORMAT(a.CreateDate,'%Y-%m-%d' )as CreateDate,b.GoodsNum,a.UserId,a.Income,a.OrderId,c.PayMemerNum,d.RepurchaseNum from rb_goods_order as a
LEFT JOIN (SELECT OrderId,SUM(Number)as GoodsNum from rb_goods_orderdetail where 1=1 {orderTypeWhere} GROUP BY OrderId)as b on a.OrderId=b.OrderId LEFT JOIN (SELECT OrderId,SUM(Number)as GoodsNum from rb_goods_orderdetail where 1=1 {orderTypeWhere} GROUP BY OrderId)as b on a.OrderId=b.OrderId
LEFT JOIN (SELECT COUNT(DISTINCT UserId) as PayMemerNum, DATE_FORMAT(CreateDate,'%Y-%m-%d' ) as CreateDate from rb_goods_order where 1=1 {payMemerNumWhere} GROUP BY DATE_FORMAT(CreateDate,'%Y-%m-%d' )) LEFT JOIN (SELECT COUNT(DISTINCT UserId) as PayMemerNum, DATE_FORMAT(CreateDate,'%Y-%m-%d' ) as CreateDate from rb_goods_order where 1=1 {payMemerNumWhere} GROUP BY DATE_FORMAT(CreateDate,'%Y-%m-%d' ))
as c on c.CreateDate=DATE_FORMAT(a.CreateDate,'%Y-%m-%d' ) {where} ) as c on c.CreateDate=DATE_FORMAT(a.CreateDate,'%Y-%m-%d' )
LEFT JOIN (SELECT temp.CreateDate,COUNT(UserId) as RepurchaseNum from (SELECT UserId,COUNT(DISTINCT UserId) as RepurchaseNum, DATE_FORMAT(CreateDate,'%Y-%m-%d' ) as CreateDate from rb_goods_order where 1=1
{payMemerNumWhere} GROUP BY UserId,DATE_FORMAT(CreateDate,'%Y-%m-%d' ) having count(UserId) > 1) as temp GROUP BY temp.CreateDate
)
as d on d.CreateDate=DATE_FORMAT(a.CreateDate,'%Y-%m-%d' )
{where} )
as t GROUP BY t.CreateDate desc"; as t GROUP BY t.CreateDate desc";
} }
else else
...@@ -994,23 +983,7 @@ from ...@@ -994,23 +983,7 @@ from
) )
as t GROUP BY t.CreateDate desc"; as t GROUP BY t.CreateDate desc";
} }
// else if (dmodel.OrderStatus == 4)
// {
// sql = $@"SELECT t.CreateDate,SUM(t.ReNumber)as GoodsNum ,COUNT(t.ReOrderId)as OrderNum ,SUM(t.Income)as PayMoney,MAX(t.PayMemerNum) as PayMemerNum
//from (SELECT DATE_FORMAT(a.CreateDate,'%Y-%m-%d' )as CreateDate,a.ReNumber,a.Refund as Income,c.PayMemerNum,a.ReOrderId from RB_Goods_OrderAfterSale as a
//LEFT JOIN (SELECT COUNT(DISTINCT UserId) as PayMemerNum, DATE_FORMAT(CreateDate,'%Y-%m-%d' ) as CreateDate from RB_Goods_OrderAfterSale where {payMemerNumWhere} GROUP BY DATE_FORMAT(CreateDate,'%Y-%m-%d' ))
//as c on c.CreateDate=DATE_FORMAT(a.CreateDate,'%Y-%m-%d' ) {where} )
//as t GROUP BY t.CreateDate desc";
// }
// else if (dmodel.OrderStatus == 5)
// {
// sql = $@"SELECT t.CreateDate,SUM(t.ReNumber)as GoodsNum ,COUNT(t.ReOrderId)as OrderNum ,SUM(t.Income)as PayMoney,MAX(t.PayMemerNum) as PayMemerNum
//from (SELECT DATE_FORMAT(a.CreateDate,'%Y-%m-%d' )as CreateDate,a.ReNumber,a.RefundActual as Income,c.PayMemerNum,a.ReOrderId from RB_Goods_OrderAfterSale as a
//LEFT JOIN (SELECT COUNT(DISTINCT UserId) as PayMemerNum, DATE_FORMAT(CreateDate,'%Y-%m-%d' ) as CreateDate from RB_Goods_OrderAfterSale where {payMemerNumWhere} GROUP BY DATE_FORMAT(CreateDate,'%Y-%m-%d' ))
//as c on c.CreateDate=DATE_FORMAT(a.CreateDate,'%Y-%m-%d' ) {where} )
//as t GROUP BY t.CreateDate desc";
// }
return GetPage<DataStatistics_Query>(pageIndex, pageSize, out count, sql).ToList(); return GetPage<DataStatistics_Query>(pageIndex, pageSize, out count, sql).ToList();
} }
......
...@@ -236,7 +236,8 @@ namespace Mall.WebApi.Controllers.MarketingCenter ...@@ -236,7 +236,8 @@ namespace Mall.WebApi.Controllers.MarketingCenter
x.GoodsNum, x.GoodsNum,
x.OrderNum, x.OrderNum,
x.PayMoney, x.PayMoney,
x.PayMemerNum x.PayMemerNum,
x.RepurchaseNum
}); });
return ApiResult.Success("", pagelist); return ApiResult.Success("", pagelist);
} }
...@@ -280,7 +281,8 @@ namespace Mall.WebApi.Controllers.MarketingCenter ...@@ -280,7 +281,8 @@ namespace Mall.WebApi.Controllers.MarketingCenter
new ExcelColumn(value: "付款人数") { CellWidth = 15, HAlignmentEnum = HAlignmentEnum.CENTER, VAlignmentEnum = VAlignmentEnum.CENTER }, new ExcelColumn(value: "付款人数") { CellWidth = 15, HAlignmentEnum = HAlignmentEnum.CENTER, VAlignmentEnum = VAlignmentEnum.CENTER },
new ExcelColumn(value: "付款订单数") { CellWidth = 15, HAlignmentEnum = HAlignmentEnum.CENTER, VAlignmentEnum = VAlignmentEnum.CENTER }, new ExcelColumn(value: "付款订单数") { CellWidth = 15, HAlignmentEnum = HAlignmentEnum.CENTER, VAlignmentEnum = VAlignmentEnum.CENTER },
new ExcelColumn(value: "付款金额") { CellWidth = 15, HAlignmentEnum = HAlignmentEnum.CENTER, VAlignmentEnum = VAlignmentEnum.CENTER }, new ExcelColumn(value: "付款金额") { CellWidth = 15, HAlignmentEnum = HAlignmentEnum.CENTER, VAlignmentEnum = VAlignmentEnum.CENTER },
new ExcelColumn(value: "付款件数") { CellWidth = 15, HAlignmentEnum = HAlignmentEnum.CENTER, VAlignmentEnum = VAlignmentEnum.CENTER } new ExcelColumn(value: "付款件数") { CellWidth = 15, HAlignmentEnum = HAlignmentEnum.CENTER, VAlignmentEnum = VAlignmentEnum.CENTER },
new ExcelColumn(value: "复购人数") { CellWidth = 15, HAlignmentEnum = HAlignmentEnum.CENTER, VAlignmentEnum = VAlignmentEnum.CENTER }
}, },
}; };
slist.Add(header); slist.Add(header);
...@@ -289,7 +291,7 @@ namespace Mall.WebApi.Controllers.MarketingCenter ...@@ -289,7 +291,7 @@ namespace Mall.WebApi.Controllers.MarketingCenter
{ {
demodel.TenantId = UserInfo.TenantId; demodel.TenantId = UserInfo.TenantId;
demodel.MallBaseId = parms.MallBaseId; demodel.MallBaseId = parms.MallBaseId;
var list = statisticsModule.GetSellPageList(1,1000,out long rowsCount,demodel); var list = statisticsModule.GetSellPageList(1,5000,out long rowsCount,demodel);
#region 组装数据 #region 组装数据
int Num = 0; int Num = 0;
foreach (var item in list) foreach (var item in list)
...@@ -307,6 +309,7 @@ namespace Mall.WebApi.Controllers.MarketingCenter ...@@ -307,6 +309,7 @@ namespace Mall.WebApi.Controllers.MarketingCenter
datarow.ExcelRows.Add(new ExcelColumn(value: item.OrderNum.ToString()) { }); datarow.ExcelRows.Add(new ExcelColumn(value: item.OrderNum.ToString()) { });
datarow.ExcelRows.Add(new ExcelColumn(value: item.PayMoney.ToString("#0.00")) { }); datarow.ExcelRows.Add(new ExcelColumn(value: item.PayMoney.ToString("#0.00")) { });
datarow.ExcelRows.Add(new ExcelColumn(value: item.PayMemerNum.ToString()) { }); datarow.ExcelRows.Add(new ExcelColumn(value: item.PayMemerNum.ToString()) { });
datarow.ExcelRows.Add(new ExcelColumn(value: item.RepurchaseNum.ToString()) { });
slist.Add(datarow); slist.Add(datarow);
} }
#endregion #endregion
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment