From 4c4b78dda73fddd2e8626984f8f357533bd78a76 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=A9=99=E5=AD=90?= <454313500@qq.com> Date: Wed, 5 Feb 2025 11:36:20 +0800 Subject: [PATCH] =?UTF-8?q?perf:=20=E4=BC=98=E5=8C=96=E5=8C=85=E7=89=88?= =?UTF-8?q?=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ....Framework.SqlSugarCore.Abstractions.csproj | 5 ++++- .../Services/Forum/DiscussService.cs | 9 ++++----- .../EventHandlers/SeeDiscussEventHandler.cs | 18 +++++++++--------- Yi.Abp.Net8/version.props | 4 ++-- 4 files changed, 19 insertions(+), 17 deletions(-) diff --git a/Yi.Abp.Net8/framework/Yi.Framework.SqlSugarCore.Abstractions/Yi.Framework.SqlSugarCore.Abstractions.csproj b/Yi.Abp.Net8/framework/Yi.Framework.SqlSugarCore.Abstractions/Yi.Framework.SqlSugarCore.Abstractions.csproj index 8915f77a..19b22e4f 100644 --- a/Yi.Abp.Net8/framework/Yi.Framework.SqlSugarCore.Abstractions/Yi.Framework.SqlSugarCore.Abstractions.csproj +++ b/Yi.Abp.Net8/framework/Yi.Framework.SqlSugarCore.Abstractions/Yi.Framework.SqlSugarCore.Abstractions.csproj @@ -3,7 +3,10 @@ - + + + + diff --git a/Yi.Abp.Net8/module/bbs/Yi.Framework.Bbs.Application/Services/Forum/DiscussService.cs b/Yi.Abp.Net8/module/bbs/Yi.Framework.Bbs.Application/Services/Forum/DiscussService.cs index 394536f5..fc107c72 100644 --- a/Yi.Abp.Net8/module/bbs/Yi.Framework.Bbs.Application/Services/Forum/DiscussService.cs +++ b/Yi.Abp.Net8/module/bbs/Yi.Framework.Bbs.Application/Services/Forum/DiscussService.cs @@ -157,12 +157,11 @@ namespace Yi.Framework.Bbs.Application.Services.Forum .WhereIF(input.UserName is not null, (discuss, user) => user.UserName == input.UserName!) .LeftJoin((discuss, user, info) => user.Id == info.UserId) .OrderByDescending(discuss => discuss.OrderNum) - .OrderByIF(input.Type == QueryDiscussTypeEnum.New, - @"COALESCE(discuss.LastModificationTime, discuss.CreationTime) DESC") - //采用上方写法 + //已提示杰哥新增表达式 // .OrderByIF(input.Type == QueryDiscussTypeEnum.New, - // discuss => discuss.CreationTime, - // OrderByType.Desc) + // @"COALESCE(discuss.LastModificationTime, discuss.CreationTime) DESC") + //采用上方写法 + .OrderByIF(input.Type == QueryDiscussTypeEnum.New,discuss=>SqlFunc.Coalesce(discuss.LastModificationTime,discuss.CreationTime),OrderByType.Desc) .OrderByIF(input.Type == QueryDiscussTypeEnum.Host, discuss => discuss.SeeNum, OrderByType.Desc) .OrderByIF(input.Type == QueryDiscussTypeEnum.Suggest, discuss => discuss.AgreeNum, OrderByType.Desc) .Select((discuss, user, info) => new DiscussGetListOutputDto diff --git a/Yi.Abp.Net8/module/bbs/Yi.Framework.Bbs.Domain/EventHandlers/SeeDiscussEventHandler.cs b/Yi.Abp.Net8/module/bbs/Yi.Framework.Bbs.Domain/EventHandlers/SeeDiscussEventHandler.cs index f82b15dd..39df4ece 100644 --- a/Yi.Abp.Net8/module/bbs/Yi.Framework.Bbs.Domain/EventHandlers/SeeDiscussEventHandler.cs +++ b/Yi.Abp.Net8/module/bbs/Yi.Framework.Bbs.Domain/EventHandlers/SeeDiscussEventHandler.cs @@ -8,24 +8,24 @@ using Volo.Abp.Domain.Repositories; using Volo.Abp.EventBus; using Yi.Framework.Bbs.Domain.Entities.Forum; using Yi.Framework.Bbs.Domain.Shared.Etos; +using Yi.Framework.SqlSugarCore.Abstractions; namespace Yi.Framework.Bbs.Domain.EventHandlers { public class SeeDiscussEventHandler : ILocalEventHandler, ITransientDependency { - private IRepository _repository; - public SeeDiscussEventHandler(IRepository repository) + private ISqlSugarRepository _repository; + + public SeeDiscussEventHandler(ISqlSugarRepository repository) { _repository = repository; } + public async Task HandleEventAsync(SeeDiscussEventArgs eventData) { - var entity = await _repository.GetAsync(eventData.DiscussId); - if (entity is not null) - { - entity.AddSeeNumber(); - await _repository.UpdateAsync(entity); - } + await _repository._Db.Updateable() + .SetColumns(x => new DiscussAggregateRoot { SeeNum = x.SeeNum + 1 }) + .Where(x => x.Id == eventData.DiscussId).ExecuteCommandAsync(); } } -} +} \ No newline at end of file diff --git a/Yi.Abp.Net8/version.props b/Yi.Abp.Net8/version.props index 8d5f4424..6d4f06fa 100644 --- a/Yi.Abp.Net8/version.props +++ b/Yi.Abp.Net8/version.props @@ -1,6 +1,6 @@ - 8.2.0 - 5.1.4.166 + 8.3.4 + 5.1.4.176-preview16 \ No newline at end of file