feat: 完善财富排行榜功能

This commit is contained in:
陈淳
2024-01-15 15:47:36 +08:00
parent 71108b6ba8
commit bbc5287551

View File

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