Commit 345ec360 authored by 吴春's avatar 吴春

提交数据概况

parent f76c7972
...@@ -88,5 +88,11 @@ namespace Mall.Model.Entity.User ...@@ -88,5 +88,11 @@ namespace Mall.Model.Entity.User
/// 备注 /// 备注
/// </summary> /// </summary>
public string Remarks { get; set; } public string Remarks { get; set; }
/// <summary>
/// 平台类型
/// </summary>
public UserSourceEnum? PlatformType { get; set; }
} }
} }
...@@ -29,6 +29,12 @@ namespace Mall.Model.Extend.Product ...@@ -29,6 +29,12 @@ namespace Mall.Model.Extend.Product
/// 商品名称 /// 商品名称
/// </summary> /// </summary>
public string GoodsName { get; set; } public string GoodsName { get; set; }
/// <summary>
/// 订单对应的总件数
/// </summary>
public int GoodsTotalNum { get; set; }
/// <summary> /// <summary>
/// 货号 /// 货号
/// </summary> /// </summary>
......
...@@ -39,7 +39,5 @@ namespace Mall.Model.Extend.User ...@@ -39,7 +39,5 @@ namespace Mall.Model.Extend.User
/// 下载枚举 /// 下载枚举
/// </summary> /// </summary>
public List<int> ExcelEnumIds { get; set; } public List<int> ExcelEnumIds { get; set; }
public UserSourceEnum? PlatformType { get; set; }
} }
} }
using Mall.Common.AOP;
using System;
using System.Collections.Generic;
using System.Text;
namespace Mall.Model.Query
{
[Serializable]
[DB(ConnectionName = "DefaultConnection")]
public class DataStatistics_Query
{
public int TenantId { get; set; }
public int MallBaseId { get; set; }
public int PlatformType { get; set; }
/// <summary>
/// 开始时间【查询使用】
/// </summary>
public string StartDate { get; set; }
/// <summary>
/// 结束时间【查询使用】
/// </summary>
public string EndDate { get; set; }
/// <summary>
/// 会员数
/// </summary>
public int MemberNum { get; set; }
/// <summary>
/// 商品数
/// </summary>
public int GoodsNum { get; set; }
/// <summary>
/// 商品名称
/// </summary>
public string Name { get; set; }
/// <summary>
/// 订单数
/// </summary>
public int OrderNum { get; set; }
/// <summary>
/// 代发货数
/// </summary>
public int NotDeliverNum { get; set; }
/// <summary>
/// 售后数
/// </summary>
public int AfterSale { get; set; }
/// <summary>
/// 支付订单数
/// </summary>
public int OrderPay { get; set; }
/// <summary>
/// 支付金额
/// </summary>
public decimal PayMoney { get; set; }
/// <summary>
/// 支付人数
/// </summary>
public int PayMemerNum { get; set; }
/// <summary>
/// 支付件数
/// </summary>
public int BuyNum { get; set; }
/// <summary>
/// 折线图统计
/// </summary>
public List<OrderLine> OrderLineList { get; set; }
/// <summary>
/// 是否是昨日(主要是销售情况,分昨日和近7天)
/// </summary>
public int IsYesterday { get; set; }
public string CreateDate { get; set; }
/// <summary>
/// 订单状态0-全部,1-未完成,2-已完成,3-已取消,4-售后中,5-已完成售后
/// </summary>
public int OrderStatus { get; set; }
/// <summary>
/// 订单类型
/// </summary>
public int OrderType { get; set; }
}
public class OrderLine
{
/// <summary>
/// 时间
/// </summary>
public string DateStr { get; set; }
/// <summary>
/// 支付订单数
/// </summary>
public int OrderPay { get; set; }
/// <summary>
/// 支付金额
/// </summary>
public decimal PayMoney { get; set; }
/// <summary>
/// 支付人数
/// </summary>
public int PayMemerNum { get; set; }
/// <summary>
/// 支付件数
/// </summary>
public int BuyNum { get; set; }
}
}
...@@ -273,7 +273,7 @@ namespace Mall.Module.MarketingCenter ...@@ -273,7 +273,7 @@ namespace Mall.Module.MarketingCenter
OperatorEnum=OperatorEnum.Equal OperatorEnum=OperatorEnum.Equal
} }
}; };
flag = productRepository.Update(cols, wheres); productRepository.Update(cols, wheres);
discountCouponRepository.DBSession.Commit(); discountCouponRepository.DBSession.Commit();
......
using Mall.Model.Extend.Product;
using Mall.Model.Query;
using Mall.Repository.Product;
using NPOI.SS.Formula.Functions;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Mall.Module.MarketingCenter
{
public class StatisticsModule
{
private RB_Goods_OrderRepository orderRepository = new RB_Goods_OrderRepository();
#region 数据统计-数据概况
/// <summary>
/// 数据概况
/// </summary>
/// <param name="dmodel"></param>
/// <returns></returns>
public List<DataStatistics_Query> GetOrdertSatistics(DataStatistics_Query dmodel)
{
return orderRepository.GetOrdertSatistics(dmodel);
}
/// <summary>
/// 获取近一周的数据
/// </summary>
/// <param name="dmodel"></param>
/// <returns></returns>
public DataStatistics_Query GetWeeklyOrder(DataStatistics_Query dmodel)
{
if (dmodel.IsYesterday == 1)
{
dmodel.StartDate = dmodel.EndDate = System.DateTime.Now.AddDays(-1).ToString("yyyy-MM-dd");
}
else
{
dmodel.StartDate = System.DateTime.Now.ToString("yyyy-MM-dd");
dmodel.EndDate = System.DateTime.Now.AddDays(-7).ToString("yyyy-MM-dd");
}
var List = orderRepository.GetWeeklyOrder(dmodel);
DataStatistics_Query model = new DataStatistics_Query();
if (List != null && List.Any())
{
model.OrderPay = List.Count();
model.PayMoney = List.Sum(x => x.Income ?? 0);
model.PayMemerNum = List.GroupBy(x => x.UserId).Count();
model.BuyNum = List.Sum(x => x.GoodsTotalNum);
model.OrderLineList = new List<OrderLine>();
if (dmodel.IsYesterday == 1)//同一天
{
for (int i = 1; i < 24; i++)
{
OrderLine modelOrderLine = new OrderLine();
modelOrderLine.OrderPay = List.Where(x => x.CreateDate.Value.ToString("dd") == ((i > 9) ? ("0" + i) : i.ToString())).Count();
modelOrderLine.PayMoney = List.Where(x => x.CreateDate.Value.ToString("dd") == ((i > 9) ? ("0" + i) : i.ToString())).Sum(x => x.Income ?? 0);
modelOrderLine.PayMemerNum = List.Where(x => x.CreateDate.Value.ToString("dd") == ((i > 9) ? ("0" + i) : i.ToString())).GroupBy(x => x.UserId).Count();
modelOrderLine.BuyNum = List.Where(x => x.CreateDate.Value.ToString("dd") == ((i > 9) ? ("0" + i) : i.ToString())).Sum(x => x.GoodsTotalNum);
modelOrderLine.DateStr = (i > 9) ? ("0" + i) : i.ToString();
model.OrderLineList.Add(modelOrderLine);
}
}
else
{
for (int i = 0; i < 7; i++)
{
OrderLine modelOrderLine = new OrderLine();
modelOrderLine.OrderPay = List.Where(x => x.CreateDate.Value.ToString("yyyy-MM-dd") == System.DateTime.Now.AddDays(i).ToString("yyyy-MM-dd")).Count();
modelOrderLine.PayMoney = List.Where(x => x.CreateDate.Value.ToString("yyyy-MM-dd") == System.DateTime.Now.AddDays(i).ToString("yyyy-MM-dd")).Sum(x => x.Income ?? 0);
modelOrderLine.PayMemerNum = List.Where(x => x.CreateDate.Value.ToString("yyyy-MM-dd") == System.DateTime.Now.AddDays(i).ToString("yyyy-MM-dd")).GroupBy(x => x.UserId).Count();
modelOrderLine.BuyNum = List.Where(x => x.CreateDate.Value.ToString("yyyy-MM-dd") == System.DateTime.Now.AddDays(i).ToString("yyyy-MM-dd")).Sum(x => x.GoodsTotalNum);
modelOrderLine.DateStr = System.DateTime.Now.AddDays(i).ToString("yyyy-MM-dd");
model.OrderLineList.Add(modelOrderLine);
}
}
}
return model;
}
/// <summary>
/// 商品购买力TOP排行
/// </summary>
/// <param name="dmodel"></param>
/// <returns></returns>
public List<DataStatistics_Query> GetGoosTop(DataStatistics_Query dmodel)
{
return orderRepository.GetGoosTop(dmodel);
}
/// <summary>
/// 用户购买力TOP排行
/// </summary>
/// <param name="dmodel"></param>
/// <returns></returns>
public List<DataStatistics_Query> GetMemberTop(DataStatistics_Query dmodel)
{
return orderRepository.GetMemberTop(dmodel);
}
#endregion
#region 销售报表
/// <summary>
/// 销售统计
/// </summary>
/// <param name="pageIndex"></param>
/// <param name="pageSize"></param>
/// <param name="count"></param>
/// <param name="dmodel"></param>
/// <returns></returns>
public List<DataStatistics_Query> GetSellPageList(int pageIndex, int pageSize, out long count, DataStatistics_Query dmodel)
{
return orderRepository.GetSellPageList(pageIndex, pageSize, out count, dmodel);
}
/// <summary>
/// 总成交
/// </summary>
/// <param name="dmodel"></param>
/// <returns></returns>
public DataStatistics_Query GetSellOrder(DataStatistics_Query dmodel)
{
var List = orderRepository.GetWeeklyOrder(dmodel);
DataStatistics_Query model = new DataStatistics_Query();
if (List != null && List.Any())
{
model.OrderNum = List.Count();
model.PayMoney = List.Sum(x => x.Income ?? 0);
model.PayMemerNum = List.GroupBy(x => x.UserId).Count();
model.GoodsNum = List.Sum(x => x.GoodsTotalNum);
}
return model;
}
/// <summary>
/// 销售统计导出
/// </summary>
/// <param name="pageIndex"></param>
/// <param name="pageSize"></param>
/// <param name="count"></param>
/// <param name="dmodel"></param>
/// <returns></returns>
public List<DataStatistics_Query> GetSellExcel(DataStatistics_Query dmodel)
{
return orderRepository.GetSellExcel(dmodel);
}
#endregion
}
}
...@@ -6,6 +6,7 @@ using Mall.Model.Extend.Product; ...@@ -6,6 +6,7 @@ using Mall.Model.Extend.Product;
using System.Linq; using System.Linq;
using Mall.Model.Entity.User; using Mall.Model.Entity.User;
using Mall.Common.Enum.Goods; using Mall.Common.Enum.Goods;
using Mall.Model.Query;
namespace Mall.Repository.Product namespace Mall.Repository.Product
{ {
...@@ -23,61 +24,79 @@ namespace Mall.Repository.Product ...@@ -23,61 +24,79 @@ namespace Mall.Repository.Product
/// <param name="count"></param> /// <param name="count"></param>
/// <param name="dmodel"></param> /// <param name="dmodel"></param>
/// <returns></returns> /// <returns></returns>
public List<RB_Goods_Order_Extend> GetOrderPageList(int pageIndex,int pageSize,out long count,RB_Goods_Order_Extend dmodel) public List<RB_Goods_Order_Extend> GetOrderPageList(int pageIndex, int pageSize, out long count, RB_Goods_Order_Extend dmodel)
{ {
string where = $" 1=1 and o.{nameof(RB_Goods_Order.Status)}=0"; string where = $" 1=1 and o.{nameof(RB_Goods_Order.Status)}=0";
if (dmodel.TenantId > 0) { if (dmodel.TenantId > 0)
{
where += $@" and o.{nameof(RB_Goods_Order.TenantId)}={dmodel.TenantId}"; where += $@" and o.{nameof(RB_Goods_Order.TenantId)}={dmodel.TenantId}";
} }
if (dmodel.MallBaseId > 0) { if (dmodel.MallBaseId > 0)
{
where += $@" and o.{nameof(RB_Goods_Order.MallBaseId)}={dmodel.MallBaseId}"; where += $@" and o.{nameof(RB_Goods_Order.MallBaseId)}={dmodel.MallBaseId}";
} }
if (dmodel.OrderId > 0) { if (dmodel.OrderId > 0)
{
where += $@" and o.{nameof(RB_Goods_Order.OrderId)}={dmodel.OrderId}"; where += $@" and o.{nameof(RB_Goods_Order.OrderId)}={dmodel.OrderId}";
} }
if (dmodel.OrderSource > 0) { if (dmodel.OrderSource > 0)
{
where += $@" and o.{nameof(RB_Goods_Order.OrderSource)}={(int)dmodel.OrderSource}"; where += $@" and o.{nameof(RB_Goods_Order.OrderSource)}={(int)dmodel.OrderSource}";
} }
if (dmodel.OrderType > 0) { if (dmodel.OrderType > 0)
{
where += $@" and od.{nameof(RB_Goods_OrderDetail.OrderType)}={dmodel.OrderType}"; where += $@" and od.{nameof(RB_Goods_OrderDetail.OrderType)}={dmodel.OrderType}";
} }
if (dmodel.DeliveryMethod > 0) { if (dmodel.DeliveryMethod > 0)
{
where += $@" and o.{nameof(RB_Goods_Order.DeliveryMethod)}={(int)dmodel.DeliveryMethod}"; where += $@" and o.{nameof(RB_Goods_Order.DeliveryMethod)}={(int)dmodel.DeliveryMethod}";
} }
if (!string.IsNullOrEmpty(dmodel.StartTime)) { if (!string.IsNullOrEmpty(dmodel.StartTime))
{
where += $@" and o.{nameof(RB_Goods_Order.CreateDate)} >='{dmodel.StartTime}'"; where += $@" and o.{nameof(RB_Goods_Order.CreateDate)} >='{dmodel.StartTime}'";
} }
if (!string.IsNullOrEmpty(dmodel.EndTime)) { if (!string.IsNullOrEmpty(dmodel.EndTime))
{
where += $@" and o.{nameof(RB_Goods_Order.CreateDate)} <='{dmodel.EndTime} 23:59:59'"; where += $@" and o.{nameof(RB_Goods_Order.CreateDate)} <='{dmodel.EndTime} 23:59:59'";
} }
if (dmodel.OrderStatus > 0) { if (dmodel.OrderStatus > 0)
{
where += $@" and o.{nameof(RB_Goods_Order.OrderStatus)}={(int)dmodel.OrderStatus}"; where += $@" and o.{nameof(RB_Goods_Order.OrderStatus)}={(int)dmodel.OrderStatus}";
} }
if (!string.IsNullOrEmpty(dmodel.OrderNo)) { if (!string.IsNullOrEmpty(dmodel.OrderNo))
{
where += $@" and o.{nameof(RB_Goods_Order.OrderNo)} like '%{dmodel.OrderNo}%'"; where += $@" and o.{nameof(RB_Goods_Order.OrderNo)} like '%{dmodel.OrderNo}%'";
} }
if (!string.IsNullOrEmpty(dmodel.MerchantsNo)) { if (!string.IsNullOrEmpty(dmodel.MerchantsNo))
{
where += $@" and o.{nameof(RB_Goods_Order.MerchantsNo)} like '%{dmodel.MerchantsNo}%'"; where += $@" and o.{nameof(RB_Goods_Order.MerchantsNo)} like '%{dmodel.MerchantsNo}%'";
} }
if (!string.IsNullOrEmpty(dmodel.UserName)) { if (!string.IsNullOrEmpty(dmodel.UserName))
{
where += $@" and u.{nameof(RB_Member_User.Name)} like '%{dmodel.UserName}%'"; where += $@" and u.{nameof(RB_Member_User.Name)} like '%{dmodel.UserName}%'";
} }
if (dmodel.UserId > 0) { if (dmodel.UserId > 0)
{
where += $@" and o.{nameof(RB_Goods_Order.UserId)}={(int)dmodel.UserId}"; where += $@" and o.{nameof(RB_Goods_Order.UserId)}={(int)dmodel.UserId}";
} }
if (!string.IsNullOrEmpty(dmodel.GoodsName)) { if (!string.IsNullOrEmpty(dmodel.GoodsName))
{
where += $@" and od.{nameof(RB_Goods_OrderDetail.GoodsName)} like '%{dmodel.GoodsName}%'"; where += $@" and od.{nameof(RB_Goods_OrderDetail.GoodsName)} like '%{dmodel.GoodsName}%'";
} }
if (!string.IsNullOrEmpty(dmodel.Consignee)) { if (!string.IsNullOrEmpty(dmodel.Consignee))
{
where += $@" and o.{nameof(RB_Goods_Order.Consignee)} like '%{dmodel.Consignee}%'"; where += $@" and o.{nameof(RB_Goods_Order.Consignee)} like '%{dmodel.Consignee}%'";
} }
if (!string.IsNullOrEmpty(dmodel.Mobile)) { if (!string.IsNullOrEmpty(dmodel.Mobile))
{
where += $@" and o.{nameof(RB_Goods_Order.Mobile)} like '%{dmodel.Mobile}%'"; where += $@" and o.{nameof(RB_Goods_Order.Mobile)} like '%{dmodel.Mobile}%'";
} }
if (!string.IsNullOrEmpty(dmodel.ProductCode)) { if (!string.IsNullOrEmpty(dmodel.ProductCode))
{
where += $@" and od.{nameof(RB_Goods_OrderDetail.ProductCode)} like '%{dmodel.ProductCode}%'"; where += $@" and od.{nameof(RB_Goods_OrderDetail.ProductCode)} like '%{dmodel.ProductCode}%'";
} }
if (dmodel.Recycled > 0) { if (dmodel.Recycled > 0)
{
where += $@" and o.{nameof(RB_Goods_Order.Recycled)}={(int)dmodel.Recycled}"; where += $@" and o.{nameof(RB_Goods_Order.Recycled)}={(int)dmodel.Recycled}";
} }
...@@ -284,5 +303,307 @@ where {where} group by o.OrderId order by o.CreateDate desc"; ...@@ -284,5 +303,307 @@ where {where} group by o.OrderId order by o.CreateDate desc";
$"and {nameof(RB_Goods_Order.Status)}=0 and {nameof(RB_Goods_Order.TenantId)}={tenantId} and {nameof(RB_Goods_Order.MallBaseId)}={mallBaseId}"; $"and {nameof(RB_Goods_Order.Status)}=0 and {nameof(RB_Goods_Order.TenantId)}={tenantId} and {nameof(RB_Goods_Order.MallBaseId)}={mallBaseId}";
return Execute(sql) > 0; return Execute(sql) > 0;
} }
#region 数据统计-数据概况
/// <summary>
/// 数据概况
/// </summary>
/// <param name="dmodel"></param>
/// <returns></returns>
public List<DataStatistics_Query> GetOrdertSatistics(DataStatistics_Query dmodel)
{
string where = $" ";
if (dmodel.TenantId > 0)
{
where += $@" and {nameof(RB_Goods_Order.TenantId)}={dmodel.TenantId}";
}
if (dmodel.MallBaseId > 0)
{
where += $@" and {nameof(RB_Goods_Order.MallBaseId)}={dmodel.MallBaseId}";
}
if (dmodel.PlatformType > 0)
{
where += $@" and {nameof(RB_Goods_Order.OrderSource)}={(int)dmodel.PlatformType}";
}
if (!string.IsNullOrWhiteSpace(dmodel.StartDate))
{
where += $" AND DATE_FORMAT({nameof(RB_Goods_Order.CreateDate)},'%Y-%m-%d' )>= DATE_FORMAT('{dmodel.StartDate}','%Y-%m-%d' )";
}
if (!string.IsNullOrWhiteSpace(dmodel.EndDate))
{
where += $" AND DATE_FORMAT({nameof(RB_Goods_Order.CreateDate)},'%Y-%m-%d' )<= DATE_FORMAT('{dmodel.EndDate}','%Y-%m-%d' )";
}
string sql = $@"SELECT SUM(MemberNum)as MemberNum,SUM(GoodsNum)as GoodsNum,SUM(NotDeliverNum)as NotDeliverNum,SUM(OrderNum)as OrderNum,SUM(AfterSale)as AfterSale
from (SELECT 0 as Total,COUNT(*) as MemberNum,0 as GoodsNum,0 as OrderNum,
0 as NotDeliverNum,0 as AfterSale from rb_member_user where Blacklist=0 {where}
union all
SELECT 0 as Total,0 as MemberNum, COUNT(*) as GoodsNum,0 as OrderNum,
0 as NotDeliverNum,0 as AfterSale from rb_goods where Status=0 {where}
union all
SELECT 0 as Total,0 as MemberNum, 0 as GoodsNum,COUNT(*) as OrderNum,
0 as NotDeliverNum,0 as AfterSale from rb_goods_order where 1=1 {where}
union all
SELECT 0 as Total,0 as MemberNum, 0 as GoodsNum,0 as OrderNum,
COUNT(*) as NotDeliverNum,0 as AfterSale from rb_goods_order where OrderStatus=2 {where}
union all
SELECT 0 as Total,0 as MemberNum, 0 as GoodsNum,0 as OrderNum,
0 as NotDeliverNum,COUNT(*) as AfterSale from rb_goods_order where 1=1 {where}
) as t GROUP BY t.Total ";
return Get<DataStatistics_Query>(sql).ToList();
}
/// <summary>
/// 获取近一周的数据
/// </summary>
/// <param name="dmodel"></param>
/// <returns></returns>
public List<RB_Goods_Order_Extend> GetWeeklyOrder(DataStatistics_Query dmodel)
{
string where = $" where 1=1 and a.OrderStatus in(2,3,4,6,5)";
if (dmodel.TenantId > 0)
{
where += $@" and a.{nameof(RB_Goods_Order.TenantId)}={dmodel.TenantId}";
}
if (dmodel.MallBaseId > 0)
{
where += $@" and a.{nameof(RB_Goods_Order.MallBaseId)}={dmodel.MallBaseId}";
}
if (dmodel.PlatformType > 0)
{
where += $@" and a.{nameof(RB_Goods_Order.OrderSource)}={(int)dmodel.PlatformType}";
}
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' )";
}
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' )";
}
string sql = $@" select a.*,b.GoodsTotalNum from rb_goods_order as a LEFT JOIN (SELECT OrderId,COUNT(*) as GoodsTotalNum from rb_goods_orderdetail GROUP BY OrderId)as b
on a.OrderId=b.OrderId {where}";
return Get<RB_Goods_Order_Extend>(sql).ToList();
}
/// <summary>
/// 商品购买力TOP排行
/// </summary>
/// <param name="dmodel"></param>
/// <returns></returns>
public List<DataStatistics_Query> GetGoosTop(DataStatistics_Query dmodel)
{
string where = $" where 1=1 ";
if (dmodel.TenantId > 0)
{
where += $@" and b.{nameof(RB_Goods_Order.TenantId)}={dmodel.TenantId}";
}
if (dmodel.MallBaseId > 0)
{
where += $@" and b.{nameof(RB_Goods_Order.MallBaseId)}={dmodel.MallBaseId}";
}
string sql = $@" SELECT a.GoodsId,c.`Name`,SUM(a.Final_Price) as PayMoney ,SUM(a.Number) as BuyNum from rb_goods_orderdetail as a
LEFT JOIN rb_goods_order as b on a.OrderId=b.OrderId
LEFT JOIN rb_goods as c on a.GoodsId=c.Id {where}
GROUP BY a.GoodsId ORDER BY SUM(a.Final_Price) desc LIMIT 100 ";
return Get<DataStatistics_Query>(sql).ToList();
}
/// <summary>
/// 用户购买力TOP排行
/// </summary>
/// <param name="dmodel"></param>
/// <returns></returns>
public List<DataStatistics_Query> GetMemberTop(DataStatistics_Query dmodel)
{
string where = $" where 1=1 and b.OrderStatus in(2,3,4,6,5) ";
if (dmodel.TenantId > 0)
{
where += $@" and b.{nameof(RB_Goods_Order.TenantId)}={dmodel.TenantId}";
}
if (dmodel.MallBaseId > 0)
{
where += $@" and b.{nameof(RB_Goods_Order.MallBaseId)}={dmodel.MallBaseId}";
}
if (dmodel.PlatformType > 0)
{
where += $@" and b.{nameof(RB_Goods_Order.OrderSource)}={(int)dmodel.PlatformType}";
}
if (!string.IsNullOrWhiteSpace(dmodel.StartDate))
{
where += $" AND DATE_FORMAT(b.{nameof(RB_Goods_Order.CreateDate)},'%Y-%m-%d' )>= DATE_FORMAT('{dmodel.StartDate}','%Y-%m-%d' )";
}
if (!string.IsNullOrWhiteSpace(dmodel.EndDate))
{
where += $" AND DATE_FORMAT(b.{nameof(RB_Goods_Order.CreateDate)},'%Y-%m-%d' )<= DATE_FORMAT('{dmodel.EndDate}','%Y-%m-%d' )";
}
string sql = $@" SELECT MAX(c.`Name`) as Name,SUM(a.Final_Price) as PayMoney ,SUM(a.Number) as BuyNum from rb_goods_orderdetail as a
LEFT JOIN rb_goods_order as b on a.OrderId=b.OrderId
LEFT JOIN rb_member_user as c on b.UserId=c.Id
GROUP BY c.Id ORDER BY SUM(a.Final_Price) desc LIMIT 100 ";
return Get<DataStatistics_Query>(sql).ToList();
}
#endregion
#region 销售报表
/// <summary>
/// 销售统计
/// </summary>
/// <param name="pageIndex"></param>
/// <param name="pageSize"></param>
/// <param name="count"></param>
/// <param name="dmodel"></param>
/// <returns></returns>
public List<DataStatistics_Query> GetSellPageList(int pageIndex, int pageSize, out long count, DataStatistics_Query dmodel)
{
string where = $" where 1=1 ";
string payMemerNumWhere = "";
if (dmodel.TenantId > 0)
{
where += $@" and a.{nameof(RB_Goods_Order.TenantId)}={dmodel.TenantId}";
payMemerNumWhere += $@" and {nameof(RB_Goods_Order.TenantId)}={dmodel.TenantId}";
}
if (dmodel.MallBaseId > 0)
{
where += $@" and a.{nameof(RB_Goods_Order.MallBaseId)}={dmodel.MallBaseId}";
payMemerNumWhere += $@" and {nameof(RB_Goods_Order.MallBaseId)}={dmodel.MallBaseId}";
}
if (dmodel.PlatformType > 0)
{
where += $@" and a.{nameof(RB_Goods_Order.OrderSource)}={(int)dmodel.PlatformType}";
payMemerNumWhere += $@" and {nameof(RB_Goods_Order.OrderSource)}={(int)dmodel.PlatformType}";
}
//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 > 0)
{
if (dmodel.OrderStatus == 1)
{
where += $@" and a.{nameof(RB_Goods_Order.OrderStatus)} in(1,2,4,3)";
payMemerNumWhere += $@" and {nameof(RB_Goods_Order.OrderStatus)}in(1,2,4,3)";
}
else if (dmodel.OrderStatus == 2)
{
where += $@" and a.{nameof(RB_Goods_Order.OrderStatus)}=5";
payMemerNumWhere += $@" and {nameof(RB_Goods_Order.OrderStatus)}=5";
}
else if (dmodel.OrderStatus == 3)
{
where += $@" and a.{nameof(RB_Goods_Order.OrderStatus)}=7";
payMemerNumWhere += $@" and {nameof(RB_Goods_Order.OrderStatus)}=7";
}
else if (dmodel.OrderStatus == 4)//后面做因为现在还没有售后表
{
}
else if (dmodel.OrderStatus == 5)//后面做因为现在还没有售后表
{
}
}
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' )";
payMemerNumWhere += $" AND DATE_FORMAT({nameof(RB_Goods_Order.CreateDate)},'%Y-%m-%d' )>= DATE_FORMAT('{dmodel.StartDate}','%Y-%m-%d' )";
}
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' )";
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(UserId) from rb_goods_order where DATE_FORMAT(CreateDate,'%Y-%m-%d' )=t.CreateDate {payMemerNumWhere} GROUP BY UserId) 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 GROUP BY OrderId)as b on a.OrderId=b.OrderId {where})
as t GROUP BY t.CreateDate desc";
return GetPage<DataStatistics_Query>(pageIndex, pageSize, out count, sql).ToList();
}
/// <summary>
/// 销售统计导出
/// </summary>
/// <param name="pageIndex"></param>
/// <param name="pageSize"></param>
/// <param name="count"></param>
/// <param name="dmodel"></param>
/// <returns></returns>
public List<DataStatistics_Query> GetSellExcel(DataStatistics_Query dmodel)
{
string where = $" where 1=1 ";
string payMemerNumWhere = "";
if (dmodel.TenantId > 0)
{
where += $@" and a.{nameof(RB_Goods_Order.TenantId)}={dmodel.TenantId}";
payMemerNumWhere += $@" and {nameof(RB_Goods_Order.TenantId)}={dmodel.TenantId}";
}
if (dmodel.MallBaseId > 0)
{
where += $@" and a.{nameof(RB_Goods_Order.MallBaseId)}={dmodel.MallBaseId}";
payMemerNumWhere += $@" and {nameof(RB_Goods_Order.MallBaseId)}={dmodel.MallBaseId}";
}
if (dmodel.PlatformType > 0)
{
where += $@" and a.{nameof(RB_Goods_Order.OrderSource)}={(int)dmodel.PlatformType}";
payMemerNumWhere += $@" and {nameof(RB_Goods_Order.OrderSource)}={(int)dmodel.PlatformType}";
}
if (dmodel.OrderStatus > 0)
{
if (dmodel.OrderStatus == 1)
{
where += $@" and a.{nameof(RB_Goods_Order.OrderStatus)} in(1,2,4,3)";
payMemerNumWhere += $@" and {nameof(RB_Goods_Order.OrderStatus)}in(1,2,4,3)";
}
else if (dmodel.OrderStatus == 2)
{
where += $@" and a.{nameof(RB_Goods_Order.OrderStatus)}=5";
payMemerNumWhere += $@" and {nameof(RB_Goods_Order.OrderStatus)}=5";
}
else if (dmodel.OrderStatus == 3)
{
where += $@" and a.{nameof(RB_Goods_Order.OrderStatus)}=7";
payMemerNumWhere += $@" and {nameof(RB_Goods_Order.OrderStatus)}=7";
}
else if (dmodel.OrderStatus == 4)//后面做因为现在还没有售后表
{
}
else if (dmodel.OrderStatus == 5)//后面做因为现在还没有售后表
{
}
}
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' )";
payMemerNumWhere += $" AND DATE_FORMAT({nameof(RB_Goods_Order.CreateDate)},'%Y-%m-%d' )>= DATE_FORMAT('{dmodel.StartDate}','%Y-%m-%d' )";
}
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' )";
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(UserId) from rb_goods_order where DATE_FORMAT(CreateDate,'%Y-%m-%d' )=t.CreateDate {payMemerNumWhere} GROUP BY UserId) 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 GROUP BY OrderId)as b on a.OrderId=b.OrderId {where})
as t GROUP BY t.CreateDate desc";
return Get<DataStatistics_Query>(sql).ToList();
}
#endregion
} }
} }
...@@ -115,7 +115,7 @@ namespace Mall.Repository.User ...@@ -115,7 +115,7 @@ namespace Mall.Repository.User
} }
if (query.PlatformType > 0) if (query.PlatformType > 0)
{ {
builder.Append($" AND b.{nameof(RB_Member_Balance_Extend.PlatformType)}={query.PlatformType}"); builder.Append($" AND a.{nameof(RB_Member_Balance_Extend.PlatformType)}={(int)query.PlatformType}");
} }
if (!string.IsNullOrWhiteSpace(query.MemberName)) if (!string.IsNullOrWhiteSpace(query.MemberName))
{ {
......
...@@ -196,10 +196,10 @@ namespace Mall.WebApi.Controllers.MarketingCenter ...@@ -196,10 +196,10 @@ namespace Mall.WebApi.Controllers.MarketingCenter
x.DiscountsPrice, x.DiscountsPrice,
UseTypeStr = Mall.Common.Plugin.EnumHelper.GetEnumName(x.UseType), UseTypeStr = Mall.Common.Plugin.EnumHelper.GetEnumName(x.UseType),
x.CouponType, x.CouponType,
x.StartDate, StartDate = x.StartDate.HasValue ? x.StartDate.Value.ToString("yyyy-MM-dd HH:mm:ss") : "",
x.IndateType, x.IndateType,
x.IndateDay, x.IndateDay,
x.EndDate, EndDate=x.EndDate.HasValue ? x.EndDate.Value.ToString("yyyy-MM-dd HH:mm:ss") : "",
x.TotalNum, x.TotalNum,
ResidueNum = x.TotalNum - x.ReceiveNum, ResidueNum = x.TotalNum - x.ReceiveNum,
x.PickupCenter x.PickupCenter
...@@ -227,7 +227,7 @@ namespace Mall.WebApi.Controllers.MarketingCenter ...@@ -227,7 +227,7 @@ namespace Mall.WebApi.Controllers.MarketingCenter
} }
if (!string.IsNullOrWhiteSpace(oldLogisticsModel.MemberLevel)) if (!string.IsNullOrWhiteSpace(oldLogisticsModel.MemberLevel))
{ {
oldLogisticsModel.MemberLevelList =JsonConvert.DeserializeObject<List<int>>(oldLogisticsModel.MemberLevel).ToArray(); oldLogisticsModel.MemberLevelList = JsonConvert.DeserializeObject<List<int>>(oldLogisticsModel.MemberLevel).ToArray();
} }
return ApiResult.Success("", oldLogisticsModel); return ApiResult.Success("", oldLogisticsModel);
} }
...@@ -267,7 +267,7 @@ namespace Mall.WebApi.Controllers.MarketingCenter ...@@ -267,7 +267,7 @@ namespace Mall.WebApi.Controllers.MarketingCenter
{ {
return ApiResult.Failed("开始日期或结束日期必填"); return ApiResult.Failed("开始日期或结束日期必填");
} }
if (query.StartDate < query.EndDate) if (query.StartDate > query.EndDate)
{ {
return ApiResult.Failed("开始日期必须小于结束日期"); return ApiResult.Failed("开始日期必须小于结束日期");
} }
......
using System.Linq;
using Mall.Common.API;
using Microsoft.AspNetCore.Mvc;
using Mall.WebApi.Filter;
using Microsoft.AspNetCore.Cors;
using Mall.Module.MarketingCenter;
using Newtonsoft.Json;
using Mall.Model.Query;
using System;
using Mall.Common.Plugin;
using System.Collections.Generic;
namespace Mall.WebApi.Controllers.MarketingCenter
{
[Route("api/[controller]/[action]")]
[ApiExceptionFilter]
[ApiController]
[EnableCors("AllowCors")]
public class StatisticsController : BaseController
{
public StatisticsModule statisticsModule = new StatisticsModule();
#region 数据统计
/// <summary>
/// 数据概况
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult GetOrdertSatistics()
{
var parms = RequestParm;
var query = JsonConvert.DeserializeObject<DataStatistics_Query>(RequestParm.msg.ToString());
query.TenantId = UserInfo.TenantId;
query.MallBaseId = parms.MallBaseId;
var model = statisticsModule.GetOrdertSatistics(query).FirstOrDefault();
if (model == null)
{
return ApiResult.Failed("获取数据失败");
}
return ApiResult.Success("获取成功", model);
}
/// <summary>
/// 销售情况
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult GetWeeklyOrder()
{
var parms = RequestParm;
var query = JsonConvert.DeserializeObject<DataStatistics_Query>(RequestParm.msg.ToString());
query.TenantId = UserInfo.TenantId;
query.MallBaseId = parms.MallBaseId;
var model = statisticsModule.GetWeeklyOrder(query);
if (model == null)
{
return ApiResult.Failed("获取数据失败");
}
return ApiResult.Success("获取成功", model);
}
/// <summary>
/// 商品购买力TOP排行
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult GetGoosTop()
{
var parms = RequestParm;
var query = JsonConvert.DeserializeObject<DataStatistics_Query>(RequestParm.msg.ToString());
query.TenantId = UserInfo.TenantId;
query.MallBaseId = parms.MallBaseId;
var List = statisticsModule.GetGoosTop(query).Take(10);
return ApiResult.Success("获取成功", List);
}
/// <summary>
/// 商品购买力TOP排行导出
/// </summary>
/// <returns></returns>
[HttpPost]
public FileContentResult GetGoosTopToExcel()
{
var parms = RequestParm;
DataStatistics_Query demodel = JsonConvert.DeserializeObject<DataStatistics_Query>(parms.msg.ToString());
string ExcelName = "商品购买力排行" + DateTime.Now.ToString("yyyyMMddHHmmss") + ".xls";
List<ExcelDataSource> slist = new List<ExcelDataSource>();
ExcelDataSource header = new ExcelDataSource()
{
ExcelRows = new List<ExcelColumn>(30) {
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);
try
{
demodel.TenantId = UserInfo.TenantId;
demodel.MallBaseId = parms.MallBaseId;
var list = statisticsModule.GetGoosTop(demodel);
#region 组装数据
int Num = 0;
foreach (var item in list)
{
Num++;
ExcelDataSource datarow = new ExcelDataSource()
{
ExcelRows = new List<ExcelColumn>(30) {
new ExcelColumn(value:Num.ToString()){ },
}
};
datarow.ExcelRows.Add(new ExcelColumn(value: item.Name) { });
datarow.ExcelRows.Add(new ExcelColumn(value: item.PayMoney.ToString("#0.00")) { });
datarow.ExcelRows.Add(new ExcelColumn(value: item.BuyNum.ToString()) { });
slist.Add(datarow);
}
#endregion
var byteData = ExcelTempLateHelper.ToExcelExtend(slist);
return File(byteData, "application/octet-stream", ExcelName);
}
catch (Exception ex)
{
LogHelper.Write(ex, string.Format("GetFileFromWebApi_requestData: {0}", JsonHelper.Serialize(RequestParm)));
var byteData1 = ExcelTempLateHelper.ToExcelExtend(slist);
return File(byteData1, "application/octet-stream", ExcelName);
}
}
/// <summary>
/// 用户购买力TOP排行
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult GetMemberTop()
{
var parms = RequestParm;
var query = JsonConvert.DeserializeObject<DataStatistics_Query>(RequestParm.msg.ToString());
query.TenantId = UserInfo.TenantId;
query.MallBaseId = parms.MallBaseId;
var List = statisticsModule.GetMemberTop(query).Take(10);
return ApiResult.Success("获取成功", List);
}
/// <summary>
/// 用户购买力TOP排行导出
/// </summary>
/// <returns></returns>
[HttpPost]
public FileContentResult GetMemberTopToExcel()
{
var parms = RequestParm;
DataStatistics_Query demodel = JsonConvert.DeserializeObject<DataStatistics_Query>(parms.msg.ToString());
string ExcelName = "商品购买力排行" + DateTime.Now.ToString("yyyyMMddHHmmss") + ".xls";
List<ExcelDataSource> slist = new List<ExcelDataSource>();
ExcelDataSource header = new ExcelDataSource()
{
ExcelRows = new List<ExcelColumn>(30) {
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);
try
{
demodel.TenantId = UserInfo.TenantId;
demodel.MallBaseId = parms.MallBaseId;
var list = statisticsModule.GetMemberTop(demodel);
#region 组装数据
int Num = 0;
foreach (var item in list)
{
Num++;
ExcelDataSource datarow = new ExcelDataSource()
{
ExcelRows = new List<ExcelColumn>(30) {
new ExcelColumn(value:Num.ToString()){ },
}
};
datarow.ExcelRows.Add(new ExcelColumn(value: item.Name) { });
datarow.ExcelRows.Add(new ExcelColumn(value: item.PayMoney.ToString("#0.00")) { });
datarow.ExcelRows.Add(new ExcelColumn(value: item.BuyNum.ToString()) { });
slist.Add(datarow);
}
#endregion
var byteData = ExcelTempLateHelper.ToExcelExtend(slist);
return File(byteData, "application/octet-stream", ExcelName);
}
catch (Exception ex)
{
LogHelper.Write(ex, string.Format("GetFileFromWebApi_requestData: {0}", JsonHelper.Serialize(RequestParm)));
var byteData1 = ExcelTempLateHelper.ToExcelExtend(slist);
return File(byteData1, "application/octet-stream", ExcelName);
}
}
#endregion
#region 销售统计
/// <summary>
/// 充值方案列表
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult GetSellPageList()
{
var parms = RequestParm;
ResultPageModel pagelist = JsonConvert.DeserializeObject<ResultPageModel>(RequestParm.msg.ToString());
DataStatistics_Query demodel = JsonConvert.DeserializeObject<DataStatistics_Query>(RequestParm.msg.ToString());
demodel.TenantId = UserInfo.TenantId;
demodel.MallBaseId = parms.MallBaseId;
var list = statisticsModule.GetSellPageList(pagelist.pageIndex, pagelist.pageSize, out long count, demodel);
pagelist.count = Convert.ToInt32(count);
pagelist.pageData = list.Select(x => new
{
x.CreateDate,
x.GoodsNum,
x.OrderNum,
x.PayMoney,
x.PayMemerNum
});
return ApiResult.Success("", pagelist);
}
[HttpPost]
public ApiResult GetSellOrder()
{
var parms = RequestParm;
var query = JsonConvert.DeserializeObject<DataStatistics_Query>(RequestParm.msg.ToString());
query.TenantId = UserInfo.TenantId;
query.MallBaseId = parms.MallBaseId;
var model = statisticsModule.GetSellOrder(query);
if (model == null)
{
return ApiResult.Failed("获取数据失败");
}
return ApiResult.Success("获取成功", model);
}
/// <summary>
/// 用户购买力TOP排行导出
/// </summary>
/// <returns></returns>
[HttpPost]
public FileContentResult GetSellExcel()
{
var parms = RequestParm;
DataStatistics_Query demodel = JsonConvert.DeserializeObject<DataStatistics_Query>(parms.msg.ToString());
string ExcelName = "数据统计" + DateTime.Now.ToString("yyyyMMddHHmmss") + ".xls";
List<ExcelDataSource> slist = new List<ExcelDataSource>();
ExcelDataSource header = new ExcelDataSource()
{
ExcelRows = new List<ExcelColumn>(30) {
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);
try
{
demodel.TenantId = UserInfo.TenantId;
demodel.MallBaseId = parms.MallBaseId;
var list = statisticsModule.GetSellExcel(demodel);
#region 组装数据
int Num = 0;
foreach (var item in list)
{
Num++;
ExcelDataSource datarow = new ExcelDataSource()
{
ExcelRows = new List<ExcelColumn>(30) {
new ExcelColumn(value:Num.ToString()){ },
}
};
datarow.ExcelRows.Add(new ExcelColumn(value: item.CreateDate) { });
datarow.ExcelRows.Add(new ExcelColumn(value: item.GoodsNum.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.PayMemerNum.ToString()) { });
slist.Add(datarow);
}
#endregion
var byteData = ExcelTempLateHelper.ToExcelExtend(slist);
return File(byteData, "application/octet-stream", ExcelName);
}
catch (Exception ex)
{
LogHelper.Write(ex, string.Format("GetFileFromWebApi_requestData: {0}", JsonHelper.Serialize(RequestParm)));
var byteData1 = ExcelTempLateHelper.ToExcelExtend(slist);
return File(byteData1, "application/octet-stream", ExcelName);
}
}
#endregion
}
}
\ No newline at end of file
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