diff --git a/CoreCms.Net.Auth/CoreCms.Net.Auth.csproj b/CoreCms.Net.Auth/CoreCms.Net.Auth.csproj index 7e565cf..a9a3b2e 100644 --- a/CoreCms.Net.Auth/CoreCms.Net.Auth.csproj +++ b/CoreCms.Net.Auth/CoreCms.Net.Auth.csproj @@ -5,9 +5,9 @@ - + - + diff --git a/CoreCms.Net.Caching/CoreCms.Net.Caching.csproj b/CoreCms.Net.Caching/CoreCms.Net.Caching.csproj index c4c6ce0..7bf66bc 100644 --- a/CoreCms.Net.Caching/CoreCms.Net.Caching.csproj +++ b/CoreCms.Net.Caching/CoreCms.Net.Caching.csproj @@ -6,7 +6,7 @@ - + diff --git a/CoreCms.Net.CodeGenerator/CoreCms.Net.CodeGenerator.csproj b/CoreCms.Net.CodeGenerator/CoreCms.Net.CodeGenerator.csproj index 4f3e832..b25e41a 100644 --- a/CoreCms.Net.CodeGenerator/CoreCms.Net.CodeGenerator.csproj +++ b/CoreCms.Net.CodeGenerator/CoreCms.Net.CodeGenerator.csproj @@ -19,7 +19,7 @@ - + diff --git a/CoreCms.Net.Core/CoreCms.Net.Core.csproj b/CoreCms.Net.Core/CoreCms.Net.Core.csproj index 1831881..b405e9b 100644 --- a/CoreCms.Net.Core/CoreCms.Net.Core.csproj +++ b/CoreCms.Net.Core/CoreCms.Net.Core.csproj @@ -25,7 +25,7 @@ - + diff --git a/CoreCms.Net.Model/CoreCms.Net.Model.csproj b/CoreCms.Net.Model/CoreCms.Net.Model.csproj index 836c681..a246a82 100644 --- a/CoreCms.Net.Model/CoreCms.Net.Model.csproj +++ b/CoreCms.Net.Model/CoreCms.Net.Model.csproj @@ -5,7 +5,7 @@ - + diff --git a/CoreCms.Net.Model/Entities/Expression/PredicateBuilder.cs b/CoreCms.Net.Model/Entities/Expression/PredicateBuilder.cs index 0af59b1..7961e1a 100644 --- a/CoreCms.Net.Model/Entities/Expression/PredicateBuilder.cs +++ b/CoreCms.Net.Model/Entities/Expression/PredicateBuilder.cs @@ -51,7 +51,7 @@ namespace CoreCms.Net.Model.Entities.Expression public static Expression> And(this Expression> first, Expression> second) { - return first.Compose(second, System.Linq.Expressions.Expression.And); + return first.Compose(second, System.Linq.Expressions.Expression.AndAlso); } public static Expression> Or(this Expression> first, diff --git a/CoreCms.Net.RedisMQ/CoreCms.Net.RedisMQ.csproj b/CoreCms.Net.RedisMQ/CoreCms.Net.RedisMQ.csproj index 79a7242..cd08989 100644 --- a/CoreCms.Net.RedisMQ/CoreCms.Net.RedisMQ.csproj +++ b/CoreCms.Net.RedisMQ/CoreCms.Net.RedisMQ.csproj @@ -5,10 +5,10 @@ - + - + diff --git a/CoreCms.Net.Repository/Bill/CoreCmsBillDeliveryRepository.cs b/CoreCms.Net.Repository/Bill/CoreCmsBillDeliveryRepository.cs index eab1948..21a3143 100644 --- a/CoreCms.Net.Repository/Bill/CoreCmsBillDeliveryRepository.cs +++ b/CoreCms.Net.Repository/Bill/CoreCmsBillDeliveryRepository.cs @@ -41,30 +41,21 @@ namespace CoreCms.Net.Repository /// public async Task> 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() + .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(sqlStr).ToListAsync(); + return list; } } diff --git a/CoreCms.Net.Repository/Bill/CoreCmsBillPaymentsRepository.cs b/CoreCms.Net.Repository/Bill/CoreCmsBillPaymentsRepository.cs index d2d20ca..d69dc92 100644 --- a/CoreCms.Net.Repository/Bill/CoreCmsBillPaymentsRepository.cs +++ b/CoreCms.Net.Repository/Bill/CoreCmsBillPaymentsRepository.cs @@ -41,31 +41,20 @@ namespace CoreCms.Net.Repository /// public async Task> 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() + .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(sqlStr).ToListAsync(); return list; } diff --git a/CoreCms.Net.Repository/CoreCms.Net.Repository.csproj b/CoreCms.Net.Repository/CoreCms.Net.Repository.csproj index 7236792..ae24f2b 100644 --- a/CoreCms.Net.Repository/CoreCms.Net.Repository.csproj +++ b/CoreCms.Net.Repository/CoreCms.Net.Repository.csproj @@ -6,7 +6,7 @@ - + diff --git a/CoreCms.Net.Repository/User/CoreCmsUserRepository.cs b/CoreCms.Net.Repository/User/CoreCmsUserRepository.cs index 295704d..0fc8bb9 100644 --- a/CoreCms.Net.Repository/User/CoreCmsUserRepository.cs +++ b/CoreCms.Net.Repository/User/CoreCmsUserRepository.cs @@ -150,30 +150,19 @@ namespace CoreCms.Net.Repository /// public async Task> Statistics(int day) { - var dt = DateTime.Now.AddDays(-day).ToString("yyyy-MM-dd"); + var dt = DateTime.Now.AddDays(-day); + var list = await DbClient.Queryable() + .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(sqlStr).ToListAsync(); return list; } diff --git a/CoreCms.Net.Services/CoreCms.Net.Services.csproj b/CoreCms.Net.Services/CoreCms.Net.Services.csproj index e8a57be..53bb184 100644 --- a/CoreCms.Net.Services/CoreCms.Net.Services.csproj +++ b/CoreCms.Net.Services/CoreCms.Net.Services.csproj @@ -5,7 +5,7 @@ - + diff --git a/CoreCms.Net.Swagger/CoreCms.Net.Swagger.csproj b/CoreCms.Net.Swagger/CoreCms.Net.Swagger.csproj index e980e42..8c4f0af 100644 --- a/CoreCms.Net.Swagger/CoreCms.Net.Swagger.csproj +++ b/CoreCms.Net.Swagger/CoreCms.Net.Swagger.csproj @@ -7,7 +7,7 @@ - + diff --git a/CoreCms.Net.WeChat.Service/CoreCms.Net.WeChat.Service.csproj b/CoreCms.Net.WeChat.Service/CoreCms.Net.WeChat.Service.csproj index 50b9850..8420228 100644 --- a/CoreCms.Net.WeChat.Service/CoreCms.Net.WeChat.Service.csproj +++ b/CoreCms.Net.WeChat.Service/CoreCms.Net.WeChat.Service.csproj @@ -11,7 +11,7 @@ - + diff --git a/CoreCms.Net.Web.Admin/CoreCms.Net.Web.Admin.csproj b/CoreCms.Net.Web.Admin/CoreCms.Net.Web.Admin.csproj index 8ff3dde..78fed1c 100644 --- a/CoreCms.Net.Web.Admin/CoreCms.Net.Web.Admin.csproj +++ b/CoreCms.Net.Web.Admin/CoreCms.Net.Web.Admin.csproj @@ -55,14 +55,14 @@ - - - - - + + + + + - + @@ -73,8 +73,8 @@ - - + + diff --git a/CoreCms.Net.Web.WebApi/CoreCms.Net.Web.WebApi.csproj b/CoreCms.Net.Web.WebApi/CoreCms.Net.Web.WebApi.csproj index 714e78e..1e61a1c 100644 --- a/CoreCms.Net.Web.WebApi/CoreCms.Net.Web.WebApi.csproj +++ b/CoreCms.Net.Web.WebApi/CoreCms.Net.Web.WebApi.csproj @@ -50,24 +50,24 @@ - - + + - - + + - + - +