diff --git a/Yi.Abp.Net8/module/bbs/Yi.Framework.Bbs.Application/Services/Analyses/BbsUserAnalyseService.cs b/Yi.Abp.Net8/module/bbs/Yi.Framework.Bbs.Application/Services/Analyses/BbsUserAnalyseService.cs index e7d46205..6d1fce50 100644 --- a/Yi.Abp.Net8/module/bbs/Yi.Framework.Bbs.Application/Services/Analyses/BbsUserAnalyseService.cs +++ b/Yi.Abp.Net8/module/bbs/Yi.Framework.Bbs.Application/Services/Analyses/BbsUserAnalyseService.cs @@ -4,6 +4,7 @@ using SqlSugar; using Volo.Abp.Application.Dtos; using Volo.Abp.Application.Services; using Yi.Framework.Bbs.Application.Contracts.Dtos.BbsUser; +using Yi.Framework.Bbs.Domain.Entities; using Yi.Framework.Bbs.Domain.Managers; using Yi.Framework.Rbac.Application.Contracts.IServices; using Yi.Framework.Rbac.Domain.Shared.Consts; @@ -38,16 +39,17 @@ namespace Yi.Framework.Bbs.Application.Services.Analyses } /// - /// 积分排行榜 + /// 积分钱钱排行榜 /// /// [HttpGet("analyse/bbs-user/integral-top")] public async Task> GetIntegralTopUserAsync([FromQuery] PagedResultRequestDto input) { var randUserIds = await _bbsUserManager._userRepository._DbQueryable - .Where(x => x.UserName != UserConst.Admin) - .OrderBy(x => SqlFunc.GetRandom()) - .Select(x => x.Id). + .Where(user => user.UserName != UserConst.Admin) + .LeftJoin((user, info) => user.Id==info.UserId) + .OrderByDescending((user, info)=>info.Money) + .Select((user, info) => user.Id). ToPageListAsync(input.SkipCount, input.MaxResultCount); var output = await _bbsUserManager.GetBbsUserInfoAsync(randUserIds); return output.Adapt>();