Commit 85fd822a authored by liudong1993's avatar liudong1993

Merge branch 'sdzq' of http://gitlab.oytour.com/Kui2/mall.oytour.com into sdzq-ld

parents bc95f135 71d4d52f
...@@ -187,4 +187,38 @@ namespace Mall.Model.Extend.Statistics ...@@ -187,4 +187,38 @@ namespace Mall.Model.Extend.Statistics
/// </summary> /// </summary>
public DateTime TimeStr { get; set; } public DateTime TimeStr { get; set; }
} }
/// <summary>
/// 分销每日用户统计
/// </summary>
[Serializable]
[DB(ConnectionName = "DefaultConnection")]
public class MallDistributorDay
{
/// <summary>
/// 时间
/// </summary>
public DateTime TimeStr { get; set; }
/// <summary>
/// 普通会员
/// </summary>
public decimal Pink { get; set; }
/// <summary>
/// VIP
/// </summary>
public decimal VIP { get; set; }
/// <summary>
/// 分享家
/// </summary>
public decimal Silver { get; set; }
/// <summary>
/// 金象【优享家】
/// </summary>
public decimal Gold { get; set; }
}
} }
...@@ -423,29 +423,36 @@ GROUP By B.FXGradeId,C.GradeName ", where, DateTime.Now.ToString("yyyy-MM-dd")); ...@@ -423,29 +423,36 @@ GROUP By B.FXGradeId,C.GradeName ", where, DateTime.Now.ToString("yyyy-MM-dd"));
} }
StringBuilder build = new StringBuilder(); StringBuilder build = new StringBuilder();
build.AppendFormat(@" build.AppendFormat(@"
SELECT TabA.TimeStr
,MAX(CASE TabA.FXGradeId WHEN 1 THEN TabA.UserCount ELSE 0 END ) AS 'Pink'
,MAX(CASE TabA.FXGradeId WHEN 2 THEN TabA.UserCount ELSE 0 END ) AS 'VIP'
,MAX(CASE TabA.FXGradeId WHEN 3 THEN TabA.UserCount ELSE 0 END ) AS 'Silver'
,MAX(CASE TabA.FXGradeId WHEN 4 THEN TabA.UserCount ELSE 0 END ) AS 'Gold'
FROM
(
SELECT B.FXGradeId,C.GradeName,COUNT(1) AS UserCount,DATE_FORMAT(A.CreateDate,'%Y-%m-%d') AS TimeStr SELECT B.FXGradeId,C.GradeName,COUNT(1) AS UserCount,DATE_FORMAT(A.CreateDate,'%Y-%m-%d') AS TimeStr
FROM rb_member_user AS A LEFT JOIN rb_distributor_info AS B ON A.Id=B.UserId FROM rb_member_user AS A LEFT JOIN rb_distributor_info AS B ON A.Id=B.UserId
LEFT JOIN rb_distributor_fxgrade AS C ON B.FXGradeId=C.Grade LEFT JOIN rb_distributor_fxgrade AS C ON B.FXGradeId=C.Grade
WHERE A.Id>19 AND B.`Status`=0 {0} WHERE A.Id>19 AND B.`Status`=0 {0}
GROUP By B.FXGradeId,C.GradeName,DATE_FORMAT(A.CreateDate,'%Y%m%d') GROUP By B.FXGradeId,C.GradeName,DATE_FORMAT(A.CreateDate,'%Y%m%d')
ORDER BY DATE_FORMAT(A.CreateDate,'%Y%m%d') DESC ) AS TabA
", where); GROUP BY TabA.TimeStr
ORDER BY TabA.TimeStr DESC", where);
List<object> resultList = new List<object>(); List<object> resultList = new List<object>();
var list = GetPage<MallDistributorTotal>(pageIndex,pageSize,out rowsCount,build.ToString()).ToList(); var list = GetPage<MallDistributorDay>(pageIndex,pageSize,out rowsCount,build.ToString()).ToList();
if (list != null && list.Count > 0) if (list != null && list.Count > 0)
{ {
var dayList = list.GroupBy(qitem => new { qitem.TimeStr }).Select(qitem => new { qitem.Key.TimeStr }); foreach (var item in list)
foreach (var dayItem in dayList)
{ {
resultList.Add(new resultList.Add(new
{ {
TimeStr = Convert.ToDateTime(dayItem.TimeStr).ToString("yyyy-MM-dd"), TimeStr=Convert.ToDateTime(item.TimeStr).ToString("yyyy-MM-dd"),
Pink = list.Where(qitem => qitem.TimeStr == dayItem.TimeStr && qitem.FXGradeId == 1)?.FirstOrDefault()?.UserCount ?? 0, item.Pink,
VIP = list.Where(qitem => qitem.TimeStr == dayItem.TimeStr && qitem.FXGradeId == 2)?.FirstOrDefault()?.UserCount ?? 0, item.VIP,
Silver = list.Where(qitem => qitem.TimeStr == dayItem.TimeStr && qitem.FXGradeId == 3)?.FirstOrDefault()?.UserCount ?? 0, item.Silver,
Gold = list.Where(qitem => qitem.TimeStr == dayItem.TimeStr && qitem.FXGradeId == 4)?.FirstOrDefault()?.UserCount ?? 0, item.Gold
}); });
}; }
} }
return resultList; return resultList;
} }
......
...@@ -152,11 +152,12 @@ namespace Mall.WebApi.Controllers.AppletWeChat ...@@ -152,11 +152,12 @@ namespace Mall.WebApi.Controllers.AppletWeChat
foreach (var item in list) foreach (var item in list)
{ {
item.ALLCommission = item.ServiceCharge + item.CostMoney + item.GoodsFreight + item.FXCommission + item.LiveCommission + item.CouponMoney + item.RefundActual + item.YFMoney; item.ALLCommission = item.CostMoney + item.GoodsFreight + item.FXCommission + item.LiveCommission + item.CouponMoney + item.RefundActual + item.YFMoney;
item.NoPaid = item.ALLCommission; item.NoPaid = item.ALLCommission;
item.RemitFXCommission = item.RemitFXCommission + (!string.IsNullOrWhiteSpace(item.LiveFinanceIds) ? item.LiveCommission : 0); item.RemitFXCommission = item.RemitFXCommission + (!string.IsNullOrWhiteSpace(item.LiveFinanceIds) ? item.LiveCommission : 0);
item.Paid = item.ServiceCharge + item.RefundActual + item.RemitFXCommission + item.CostMoney + item.GoodsFreight + item.PayMoney; item.Paid = item.ServiceCharge + item.RefundActual + item.RemitFXCommission + item.CostMoney + item.GoodsFreight + item.PayMoney;
item.GrossProfit = item.AllPrice + item.YSMoney - item.ALLCommission; item.GrossProfit = item.AllPrice + item.YSMoney - item.ALLCommission;
if (item.AllPrice == 0) if (item.AllPrice == 0)
{ {
item.GrossProfitRate = 0; item.GrossProfitRate = 0;
...@@ -165,7 +166,7 @@ namespace Mall.WebApi.Controllers.AppletWeChat ...@@ -165,7 +166,7 @@ namespace Mall.WebApi.Controllers.AppletWeChat
{ {
item.GrossProfitRate = ((item.AllPrice + item.YSMoney) == 0 ? 0 : Math.Round((item.GrossProfit / (item.AllPrice + item.YSMoney)), 4, MidpointRounding.AwayFromZero) * 100); item.GrossProfitRate = ((item.AllPrice + item.YSMoney) == 0 ? 0 : Math.Round((item.GrossProfit / (item.AllPrice + item.YSMoney)), 4, MidpointRounding.AwayFromZero) * 100);
} }
// item.Paid = item.PaidCostMoney + item.RemitFXCommission; // item.Paid = item.PaidCostMoney + item.RemitFXCommission;
//item.GrossProfit = (item.AllPrice + item.RealMoney) - item.CouponMoney - item.RefundActual - item.ALLCommission - item.PayMoney; //item.GrossProfit = (item.AllPrice + item.RealMoney) - item.CouponMoney - item.RefundActual - item.ALLCommission - item.PayMoney;
//item.GrossProfitRate = (item.AllPrice + item.RealMoney - item.RefundActual) == 0 ? 0 : Math.Round((item.GrossProfit / ((item.AllPrice + item.RealMoney - item.RefundActual) == 0 ? 1 : (item.AllPrice + item.RealMoney - item.RefundActual))), 2, MidpointRounding.AwayFromZero); //item.GrossProfitRate = (item.AllPrice + item.RealMoney - item.RefundActual) == 0 ? 0 : Math.Round((item.GrossProfit / ((item.AllPrice + item.RealMoney - item.RefundActual) == 0 ? 1 : (item.AllPrice + item.RealMoney - item.RefundActual))), 2, MidpointRounding.AwayFromZero);
...@@ -330,7 +331,7 @@ namespace Mall.WebApi.Controllers.AppletWeChat ...@@ -330,7 +331,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 = 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 }, new ExcelColumn(value: "手续费") { CellWidth = 15, HAlignmentEnum = HAlignmentEnum.CENTER, VAlignmentEnum = VAlignmentEnum.CENTER },
...@@ -363,11 +364,13 @@ namespace Mall.WebApi.Controllers.AppletWeChat ...@@ -363,11 +364,13 @@ namespace Mall.WebApi.Controllers.AppletWeChat
} }
foreach (var item in list) foreach (var item in list)
{ {
item.ALLCommission = item.ServiceCharge + item.CostMoney + item.GoodsFreight + item.FXCommission + item.LiveCommission + item.CouponMoney + item.RefundActual + item.YFMoney;
item.ALLCommission = item.CostMoney + item.GoodsFreight + item.FXCommission + item.LiveCommission + item.CouponMoney + item.RefundActual + item.YFMoney;
item.NoPaid = item.ALLCommission; item.NoPaid = item.ALLCommission;
item.RemitFXCommission = item.RemitFXCommission + (!string.IsNullOrWhiteSpace(item.LiveFinanceIds) ? item.LiveCommission : 0); item.RemitFXCommission = item.RemitFXCommission + (!string.IsNullOrWhiteSpace(item.LiveFinanceIds) ? item.LiveCommission : 0);
item.Paid = item.ServiceCharge + item.RefundActual + item.RemitFXCommission + item.CostMoney + item.GoodsFreight + item.PayMoney; item.Paid = item.ServiceCharge + item.RefundActual + item.RemitFXCommission + item.CostMoney + item.GoodsFreight + item.PayMoney;
item.GrossProfit = item.AllPrice + item.YSMoney - item.ALLCommission; item.GrossProfit = item.AllPrice + item.YSMoney - item.ALLCommission;
if (item.AllPrice == 0) if (item.AllPrice == 0)
{ {
item.GrossProfitRate = 0; item.GrossProfitRate = 0;
...@@ -396,7 +399,7 @@ namespace Mall.WebApi.Controllers.AppletWeChat ...@@ -396,7 +399,7 @@ namespace Mall.WebApi.Controllers.AppletWeChat
} }
}; };
datarow.ExcelRows.Add(new ExcelColumn(value: item.OrderNo) { }); datarow.ExcelRows.Add(new ExcelColumn(value: item.OrderNo) { });
datarow.ExcelRows.Add(new ExcelColumn(value: (item.OrderStatus==7?"已取消":"正常")) { }); datarow.ExcelRows.Add(new ExcelColumn(value: (item.OrderStatus == 7 ? "已取消" : "正常")) { });
datarow.ExcelRows.Add(new ExcelColumn(value: item.GoodsName + item.Specification) { }); datarow.ExcelRows.Add(new ExcelColumn(value: item.GoodsName + item.Specification) { });
datarow.ExcelRows.Add(new ExcelColumn(value: item.Unit_Price.ToString("#0.00")) { }); datarow.ExcelRows.Add(new ExcelColumn(value: item.Unit_Price.ToString("#0.00")) { });
datarow.ExcelRows.Add(new ExcelColumn(value: item.Number.ToString()) { }); datarow.ExcelRows.Add(new ExcelColumn(value: item.Number.ToString()) { });
...@@ -564,11 +567,14 @@ namespace Mall.WebApi.Controllers.AppletWeChat ...@@ -564,11 +567,14 @@ namespace Mall.WebApi.Controllers.AppletWeChat
} }
foreach (var item in list) foreach (var item in list)
{ {
item.ALLCommission = item.ServiceCharge + item.CostMoney + item.GoodsFreight + item.FXCommission + item.LiveCommission + item.CouponMoney + item.RefundActual + item.YFMoney;
item.ALLCommission = item.CostMoney + item.GoodsFreight + item.FXCommission + item.LiveCommission + item.CouponMoney + item.RefundActual + item.YFMoney;
item.NoPaid = item.ALLCommission; item.NoPaid = item.ALLCommission;
item.RemitFXCommission = item.RemitFXCommission + (!string.IsNullOrWhiteSpace(item.LiveFinanceIds) ? item.LiveCommission : 0); item.RemitFXCommission = item.RemitFXCommission + (!string.IsNullOrWhiteSpace(item.LiveFinanceIds) ? item.LiveCommission : 0);
item.Paid = item.ServiceCharge + item.RefundActual + item.RemitFXCommission + item.CostMoney + item.GoodsFreight + item.PayMoney; item.Paid = item.ServiceCharge + item.RefundActual + item.RemitFXCommission + item.CostMoney + item.GoodsFreight + item.PayMoney;
item.GrossProfit = item.AllPrice + item.YSMoney - item.ALLCommission; item.GrossProfit = item.AllPrice + item.YSMoney - item.ALLCommission;
if (item.AllPrice == 0) if (item.AllPrice == 0)
{ {
item.GrossProfitRate = 0; item.GrossProfitRate = 0;
......
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