mirror of
https://github.com/CoreUnion/CoreShop.git
synced 2026-10-16 21:08:47 +08:00
## 1.0.7(2021-10-14)
1、【修复】调整查询动态表达式组合Expression.And为Expression.AndAlso。 2、【升级】升级多个组件到最新版本。 3、【优化】去除发货单统计7天统计、支付单7天统计、按天统计新会员三个图表Sql执行语句,替换为使用SqlSugar检索语句。
This commit is contained in:
@@ -51,7 +51,7 @@ namespace CoreCms.Net.Model.Entities.Expression
|
||||
public static Expression<Func<T, bool>> And<T>(this Expression<Func<T, bool>> first,
|
||||
Expression<Func<T, bool>> second)
|
||||
{
|
||||
return first.Compose(second, System.Linq.Expressions.Expression.And);
|
||||
return first.Compose(second, System.Linq.Expressions.Expression.AndAlso);
|
||||
}
|
||||
|
||||
public static Expression<Func<T, bool>> Or<T>(this Expression<Func<T, bool>> first,
|
||||
|
||||
@@ -41,30 +41,21 @@ namespace CoreCms.Net.Repository
|
||||
/// <returns></returns>
|
||||
public async Task<List<StatisticsOut>> Statistics()
|
||||
{
|
||||
var dt = DateTime.Now.AddDays(-8).ToString("yyyy-MM-dd 00:00:00");
|
||||
var dt = DateTime.Now.AddDays(-8);
|
||||
|
||||
var sqlStr = string.Empty;
|
||||
string dbTypeString = AppSettingsConstVars.DbDbType;
|
||||
if (dbTypeString == DbType.SqlServer.ToString())
|
||||
{
|
||||
sqlStr = @"SELECT count(1) AS nums,CONVERT(varchar(100),createTime, 23) AS day
|
||||
FROM CoreCmsBillDelivery
|
||||
WHERE createTime >= '" + dt + @"'
|
||||
GROUP BY CONVERT(varchar(100),createTime, 23)";
|
||||
}
|
||||
else if (dbTypeString == DbType.MySql.ToString())
|
||||
{
|
||||
sqlStr = @"SELECT count(1) AS nums,date(createTime) AS day
|
||||
FROM CoreCmsBillDelivery
|
||||
WHERE createTime >= '" + dt + @"'
|
||||
GROUP BY date(createTime)";
|
||||
}
|
||||
var list = await DbClient.Queryable<CoreCmsBillDelivery>()
|
||||
.Where(p => p.createTime >= dt)
|
||||
.Select(it => new
|
||||
{
|
||||
it.deliveryId,
|
||||
createTime = it.createTime.Date
|
||||
})
|
||||
.MergeTable()
|
||||
.GroupBy(it => it.createTime)
|
||||
.Select(it => new StatisticsOut { day = it.createTime.ToString("yyyy-MM-dd"), nums = SqlFunc.AggregateCount(it.deliveryId) })
|
||||
.ToListAsync();
|
||||
|
||||
if (string.IsNullOrEmpty(sqlStr))
|
||||
{
|
||||
return null;
|
||||
}
|
||||
return await DbClient.SqlQueryable<StatisticsOut>(sqlStr).ToListAsync();
|
||||
return list;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -41,31 +41,20 @@ namespace CoreCms.Net.Repository
|
||||
/// <returns></returns>
|
||||
public async Task<List<StatisticsOut>> Statistics()
|
||||
{
|
||||
var dt = DateTime.Now.AddDays(-8).ToString("yyyy-MM-dd 00:00:00");
|
||||
var dt = DateTime.Now.AddDays(-8);
|
||||
|
||||
var sqlStr = string.Empty;
|
||||
string dbTypeString = AppSettingsConstVars.DbDbType;
|
||||
if (dbTypeString == DbType.SqlServer.ToString())
|
||||
{
|
||||
sqlStr = @"SELECT count(1) AS nums,CONVERT(varchar(100),createTime, 23) AS day
|
||||
FROM CoreCmsBillPayments
|
||||
WHERE createTime >= '" + dt + @"' AND status = " + (int)GlobalEnumVars.BillPaymentsStatus.Payed + @" AND type=" + (int)GlobalEnumVars.BillPaymentsType.Order + @"
|
||||
GROUP BY CONVERT(varchar(100),createTime, 23)";
|
||||
}
|
||||
else if (dbTypeString == DbType.MySql.ToString())
|
||||
{
|
||||
sqlStr = @"SELECT count(1) AS nums,date(createTime) AS day
|
||||
FROM CoreCmsBillPayments
|
||||
WHERE createTime >= '" + dt + @"' AND status = " + (int)GlobalEnumVars.BillPaymentsStatus.Payed + @" AND type=" + (int)GlobalEnumVars.BillPaymentsType.Order + @"
|
||||
GROUP BY date(createTime)";
|
||||
}
|
||||
var list = await DbClient.Queryable<CoreCmsBillPayments>()
|
||||
.Where(p => p.createTime >= dt && p.status == (int)GlobalEnumVars.BillPaymentsStatus.Payed && p.type == (int)GlobalEnumVars.BillPaymentsType.Order)
|
||||
.Select(it => new
|
||||
{
|
||||
it.paymentId,
|
||||
createTime = it.createTime.Date
|
||||
})
|
||||
.MergeTable()
|
||||
.GroupBy(it => it.createTime)
|
||||
.Select(it => new StatisticsOut { day = it.createTime.ToString("yyyy-MM-dd"), nums = SqlFunc.AggregateCount(it.paymentId) })
|
||||
.ToListAsync();
|
||||
|
||||
if (string.IsNullOrEmpty(sqlStr))
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
var list = await DbClient.SqlQueryable<StatisticsOut>(sqlStr).ToListAsync();
|
||||
return list;
|
||||
}
|
||||
|
||||
|
||||
@@ -150,30 +150,19 @@ namespace CoreCms.Net.Repository
|
||||
/// <returns></returns>
|
||||
public async Task<List<StatisticsOut>> Statistics(int day)
|
||||
{
|
||||
var dt = DateTime.Now.AddDays(-day).ToString("yyyy-MM-dd");
|
||||
var dt = DateTime.Now.AddDays(-day);
|
||||
var list = await DbClient.Queryable<CoreCmsUser>()
|
||||
.Where(p => p.createTime >= dt)
|
||||
.Select(it => new
|
||||
{
|
||||
it.id,
|
||||
createTime = it.createTime.Date
|
||||
})
|
||||
.MergeTable()
|
||||
.GroupBy(it => it.createTime)
|
||||
.Select(it => new StatisticsOut { day = it.createTime.ToString("yyyy-MM-dd"), nums = SqlFunc.AggregateCount(it.id) })
|
||||
.ToListAsync();
|
||||
|
||||
var sqlStr = string.Empty;
|
||||
string dbTypeString = AppSettingsConstVars.DbDbType;
|
||||
if (dbTypeString == DbType.SqlServer.ToString())
|
||||
{
|
||||
sqlStr = @"SELECT count(1) AS nums,CONVERT(varchar(100),createTime, 23) AS day
|
||||
FROM CoreCmsUser
|
||||
WHERE createTime > '" + dt + @"'
|
||||
GROUP BY CONVERT(varchar(100),createTime, 23)";
|
||||
}
|
||||
else if (dbTypeString == DbType.MySql.ToString())
|
||||
{
|
||||
sqlStr = @"SELECT count(1) AS nums,date(createTime) AS day
|
||||
FROM CoreCmsUser
|
||||
WHERE createTime > '" + dt + @"'
|
||||
GROUP BY date(createTime)";
|
||||
}
|
||||
if (string.IsNullOrEmpty(sqlStr))
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
var list = await DbClient.SqlQueryable<StatisticsOut>(sqlStr).ToListAsync();
|
||||
return list;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user