Commit ff7b1964 authored by liudong1993's avatar liudong1993

1

parent c8548132
......@@ -163,5 +163,10 @@ namespace Mall.Model.Entity.User
/// </summary>
public int JXLJNum { get; set; }
/// <summary>
/// 取消单数
/// </summary>
public int CancelOrderNum { get; set; }
}
}
......@@ -1711,7 +1711,7 @@ FROM RB_Member_User AS a LEFT JOIN rb_miai_baseinfo AS b ON a.Id = b.UserId) as
}
/// <summary>
/// 获取日期以前付款用户数量
/// 获取日期截止付款用户数量
/// </summary>
/// <param name="tenantId"></param>
/// <param name="mallBaseId"></param>
......@@ -1741,7 +1741,7 @@ GROUP BY u.Id)t ";
string sql = $@"SELECT count(0) FROM
(select u.Id from RB_Member_User u
LEFT JOIN rb_goods_order o on u.Id = o.UserId
where u.TenantId={tenantId} and u.MallBaseId={mallBaseId} and o.CreateDate <='{startTime} 23:59:59' and o.PaymentTime is not null and u.Id in({userIds})
where u.TenantId={tenantId} and u.MallBaseId={mallBaseId} and o.OrderStatus <>7 and o.CreateDate <'{startTime}' and o.PaymentTime is not null and u.Id in({userIds})
GROUP BY u.Id)t";
var obj = ExecuteScalar(sql);
return obj == null ? 0 : Convert.ToInt32(obj);
......
......@@ -1390,7 +1390,7 @@ namespace Mall.WebApi.Controllers.AppletWeChat
#region 电商统计
/// <summary>
/// 电商阅读统计
/// 电商月度统计
/// </summary>
/// <returns></returns>
[HttpPost]
......@@ -1452,6 +1452,7 @@ namespace Mall.WebApi.Controllers.AppletWeChat
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 = 20, HAlignmentEnum = HAlignmentEnum.CENTER, VAlignmentEnum = VAlignmentEnum.CENTER },
new ExcelColumn(value: "平均每人購買件數") { CellWidth = 20, HAlignmentEnum = HAlignmentEnum.CENTER, VAlignmentEnum = VAlignmentEnum.CENTER },
new ExcelColumn(value: "平均每單單價") { CellWidth = 20, HAlignmentEnum = HAlignmentEnum.CENTER, VAlignmentEnum = VAlignmentEnum.CENTER },
......
......@@ -64,13 +64,13 @@ namespace Mall.WindowsService.Module
List<OrderStatistics_Query> listCancel = new List<OrderStatistics_Query>();
List<OrderStatistics_Query> listAftersale = new List<OrderStatistics_Query>();
list = statisticsModule.GetFXOrderProfitLossList(1, 100000, out long count, demodel);
list = statisticsModule.GetFXOrderProfitLossList_V2(demodel);
if (list != null && list.Any())
{
string ids = string.Join(",", list.Select(x => x.Id));
demodel.Ids = ids;
listCancel = statisticsModule.GetFXAllCancelOrderProfitLossList(demodel);
listAftersale = statisticsModule.GetFXAllAftersaleOrderProfitLossList(demodel);
listCancel = statisticsModule.GetFXAllCancelOrderProfitLossList_V2(demodel);
listAftersale = statisticsModule.GetFXAllAftersaleOrderProfitLossList_V2(demodel);
}
foreach (var item in list)
......@@ -142,8 +142,10 @@ namespace Mall.WindowsService.Module
};
#region 拉取统计数据
var dayList = list.Where(x => x.PaymentTime.ToString("yyyy-MM-dd") == SDate).ToList();
var dayList = list.Where(x => x.PaymentTime.ToString("yyyy-MM-dd") == SDate && x.OrderStatus != 7).ToList();
int CancelNum = list.Where(x => x.PaymentTime.ToString("yyyy-MM-dd") == SDate && x.OrderStatus == 7).Count();
usmodel.CancelOrderNum = CancelNum;//取消订单数量
usmodel.PeopleNum = dayList.Select(x => x.UserId).Distinct().Count();//付款人数
usmodel.OrderNum = dayList.Select(x => x.OrderId).Distinct().Count();//付款单数
usmodel.PayMoney = dayList.Sum(x => x.AllPrice);//付款金额
......@@ -186,7 +188,9 @@ namespace Mall.WindowsService.Module
//利润
usmodel.Profit = dayList.Sum(x => x.GrossProfit);
usmodel.ProfitRate = dayList.Count() > 0 ? dayList.Sum(x => x.GrossProfitRate) / dayList.Count() : 0;
//usmodel.ProfitRate = dayList.Count() > 0 ? dayList.Sum(x => x.GrossProfitRate) / dayList.Count() : 0;
//直接根据一天的来计算 ((item.AllPrice + item.YSMoney) == 0 ? 0 : Math.Round((item.GrossProfit / (item.AllPrice + item.YSMoney)), 4, MidpointRounding.AwayFromZero) * 100);
usmodel.ProfitRate = dayList.Count() > 0 ? (dayList.Sum(x => x.AllPrice + x.YSMoney) == 0 ? 0 : Math.Round(dayList.Sum(x => x.GrossProfit) / dayList.Sum(x => x.AllPrice + x.YSMoney), 4, MidpointRounding.AwayFromZero) * 100) : 0;
#endregion
var sModel = slist.Where(x => x.Date == Convert.ToDateTime(SDate)).FirstOrDefault();
if (sModel == null)
......
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