From 547b8b0f91162da45df4b86ea6fbfff1ed8c9ec8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=A9=99=E5=AD=90?= <454313500@qq.com> Date: Mon, 25 Dec 2023 21:41:37 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=E5=A4=B4=E5=83=8F?= =?UTF-8?q?=E5=AD=97=E6=AE=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Analyses/BbsDisucssAnalyseService.cs | 58 --------------- .../Analyses/BbsForumAnalyseService.cs | 59 +++++++++++++++ .../Analyses/BbsUserAnalyseService.cs | 73 +++++++++---------- .../Managers/BbsUserManager.cs | 4 +- 4 files changed, 97 insertions(+), 97 deletions(-) delete mode 100644 Yi.Abp.Net8/module/bbs/Yi.Framework.Bbs.Application/Services/Analyses/BbsDisucssAnalyseService.cs create mode 100644 Yi.Abp.Net8/module/bbs/Yi.Framework.Bbs.Application/Services/Analyses/BbsForumAnalyseService.cs diff --git a/Yi.Abp.Net8/module/bbs/Yi.Framework.Bbs.Application/Services/Analyses/BbsDisucssAnalyseService.cs b/Yi.Abp.Net8/module/bbs/Yi.Framework.Bbs.Application/Services/Analyses/BbsDisucssAnalyseService.cs deleted file mode 100644 index 5c67f099..00000000 --- a/Yi.Abp.Net8/module/bbs/Yi.Framework.Bbs.Application/Services/Analyses/BbsDisucssAnalyseService.cs +++ /dev/null @@ -1,58 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; -using Mapster; -using Microsoft.AspNetCore.Mvc; -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.Managers; -using Yi.Framework.Rbac.Domain.Shared.Consts; - -namespace Yi.Framework.Bbs.Application.Services.Analyses -{ - public class BbsUserAnalyseService : ApplicationService, IApplicationService - { - private BbsUserManager _bbsUserManager; - public BbsUserAnalyseService(BbsUserManager bbsUserManager) - { - _bbsUserManager = bbsUserManager; - } - - /// - /// 推荐好友,随机返回好友列表 - /// - /// - [HttpGet("analyse/bbs-user/random")] - public async Task> GetRandomUserAsync([FromQuery] PagedResultRequestDto input) - { - var randUserIds = await _bbsUserManager._userRepository._DbQueryable - .Where(x => x.UserName != UserConst.Admin) - .OrderBy(x => SqlFunc.GetRandom()) - .Select(x => x.Id). - ToPageListAsync(input.SkipCount, input.MaxResultCount); - var output = await _bbsUserManager.GetBbsUserInfoAsync(randUserIds); - return output.Adapt>(); - } - - /// - /// 积分排行榜 - /// - /// - [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). - ToPageListAsync(input.SkipCount, input.MaxResultCount); - var output = await _bbsUserManager.GetBbsUserInfoAsync(randUserIds); - return output.Adapt>(); - } - - } -} diff --git a/Yi.Abp.Net8/module/bbs/Yi.Framework.Bbs.Application/Services/Analyses/BbsForumAnalyseService.cs b/Yi.Abp.Net8/module/bbs/Yi.Framework.Bbs.Application/Services/Analyses/BbsForumAnalyseService.cs new file mode 100644 index 00000000..a6e167d4 --- /dev/null +++ b/Yi.Abp.Net8/module/bbs/Yi.Framework.Bbs.Application/Services/Analyses/BbsForumAnalyseService.cs @@ -0,0 +1,59 @@ +using Microsoft.AspNetCore.Mvc; +using SqlSugar; +using Volo.Abp.Application.Dtos; +using Volo.Abp.Application.Services; +using Yi.Framework.Bbs.Application.Contracts.Dtos.BbsUser; +using Yi.Framework.Bbs.Application.Contracts.Dtos.Discuss; +using Yi.Framework.Bbs.Domain.Entities; +using Yi.Framework.Bbs.Domain.Managers; +using Yi.Framework.Bbs.Domain.Shared.Enums; +using Yi.Framework.Rbac.Domain.Entities; +using Yi.Framework.Rbac.Domain.Shared.Consts; +using Yi.Framework.SqlSugarCore.Abstractions; + +namespace Yi.Framework.Bbs.Application.Services.Analyses +{ + public class BbsForumAnalyseService : ApplicationService, IApplicationService + { + private ForumManager _forumManager; + public BbsForumAnalyseService(ForumManager forumManager) + { + _forumManager = forumManager; + } + + /// + /// 推荐主题,随机返回主题列表 + /// + /// + [HttpGet("analyse/bbs-discuss/random")] + public async Task> GetRandomDiscussAsync([FromQuery] PagedResultRequestDto input) + { + var output = await _forumManager._discussRepository._DbQueryable + .Where(discuss=>discuss.PermissionType== DiscussPermissionTypeEnum.Public) + .LeftJoin((discuss, user) => discuss.CreatorId == user.Id) + .LeftJoin((discuss, user, info) => user.Id == info.UserId) + + .OrderBy(x => SqlFunc.GetRandom()) + .Select((discuss, user, info) => new DiscussGetListOutputDto + { + Id = discuss.Id, + IsAgree = SqlFunc.Subqueryable().WhereIF(CurrentUser.Id != null, x => x.CreatorId == CurrentUser.Id && x.DiscussId == discuss.Id).Any(), + + User = new BbsUserGetListOutputDto() + { + Id = user.Id, + UserName = user.UserName, + Nick = user.Nick, + Icon = user.Icon, + Level = info.Level, + UserLimit = info.UserLimit + } + + }, true) + .ToPageListAsync(input.SkipCount, input.MaxResultCount); + return output; + } + + + } +} 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 a6e167d4..5c67f099 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 @@ -1,59 +1,58 @@ -using Microsoft.AspNetCore.Mvc; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Mapster; +using Microsoft.AspNetCore.Mvc; using SqlSugar; using Volo.Abp.Application.Dtos; using Volo.Abp.Application.Services; using Yi.Framework.Bbs.Application.Contracts.Dtos.BbsUser; -using Yi.Framework.Bbs.Application.Contracts.Dtos.Discuss; -using Yi.Framework.Bbs.Domain.Entities; using Yi.Framework.Bbs.Domain.Managers; -using Yi.Framework.Bbs.Domain.Shared.Enums; -using Yi.Framework.Rbac.Domain.Entities; using Yi.Framework.Rbac.Domain.Shared.Consts; -using Yi.Framework.SqlSugarCore.Abstractions; namespace Yi.Framework.Bbs.Application.Services.Analyses { - public class BbsForumAnalyseService : ApplicationService, IApplicationService + public class BbsUserAnalyseService : ApplicationService, IApplicationService { - private ForumManager _forumManager; - public BbsForumAnalyseService(ForumManager forumManager) + private BbsUserManager _bbsUserManager; + public BbsUserAnalyseService(BbsUserManager bbsUserManager) { - _forumManager = forumManager; + _bbsUserManager = bbsUserManager; } /// - /// 推荐主题,随机返回主题列表 + /// 推荐好友,随机返回好友列表 /// /// - [HttpGet("analyse/bbs-discuss/random")] - public async Task> GetRandomDiscussAsync([FromQuery] PagedResultRequestDto input) + [HttpGet("analyse/bbs-user/random")] + public async Task> GetRandomUserAsync([FromQuery] PagedResultRequestDto input) { - var output = await _forumManager._discussRepository._DbQueryable - .Where(discuss=>discuss.PermissionType== DiscussPermissionTypeEnum.Public) - .LeftJoin((discuss, user) => discuss.CreatorId == user.Id) - .LeftJoin((discuss, user, info) => user.Id == info.UserId) - - .OrderBy(x => SqlFunc.GetRandom()) - .Select((discuss, user, info) => new DiscussGetListOutputDto - { - Id = discuss.Id, - IsAgree = SqlFunc.Subqueryable().WhereIF(CurrentUser.Id != null, x => x.CreatorId == CurrentUser.Id && x.DiscussId == discuss.Id).Any(), - - User = new BbsUserGetListOutputDto() - { - Id = user.Id, - UserName = user.UserName, - Nick = user.Nick, - Icon = user.Icon, - Level = info.Level, - UserLimit = info.UserLimit - } - - }, true) - .ToPageListAsync(input.SkipCount, input.MaxResultCount); - return output; + var randUserIds = await _bbsUserManager._userRepository._DbQueryable + .Where(x => x.UserName != UserConst.Admin) + .OrderBy(x => SqlFunc.GetRandom()) + .Select(x => x.Id). + ToPageListAsync(input.SkipCount, input.MaxResultCount); + var output = await _bbsUserManager.GetBbsUserInfoAsync(randUserIds); + return output.Adapt>(); } + /// + /// 积分排行榜 + /// + /// + [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). + ToPageListAsync(input.SkipCount, input.MaxResultCount); + var output = await _bbsUserManager.GetBbsUserInfoAsync(randUserIds); + return output.Adapt>(); + } } } diff --git a/Yi.Abp.Net8/module/bbs/Yi.Framework.Bbs.Domain/Managers/BbsUserManager.cs b/Yi.Abp.Net8/module/bbs/Yi.Framework.Bbs.Domain/Managers/BbsUserManager.cs index 6c50fc9c..42e5e4c4 100644 --- a/Yi.Abp.Net8/module/bbs/Yi.Framework.Bbs.Domain/Managers/BbsUserManager.cs +++ b/Yi.Abp.Net8/module/bbs/Yi.Framework.Bbs.Domain/Managers/BbsUserManager.cs @@ -25,7 +25,7 @@ namespace Yi.Framework.Bbs.Domain.Managers public async Task GetBbsUserInfoAsync(Guid userId) { return await _userRepository._DbQueryable.LeftJoin((user, info) => user.Id == info.Id) - .Select((user, info) => new BbsUserInfoDto { Id = user.Id }, true) + .Select((user, info) => new BbsUserInfoDto { Id = user.Id ,Icon=user.Icon}, true) .FirstAsync(user => user.Id==userId); } @@ -34,7 +34,7 @@ namespace Yi.Framework.Bbs.Domain.Managers return await _userRepository._DbQueryable .Where(user => userIds.Contains(user.Id)) .LeftJoin((user, info) => user.Id == info.Id) - .Select((user, info) => new BbsUserInfoDto { Id = user.Id },true) + .Select((user, info) => new BbsUserInfoDto { Id = user.Id , Icon = user.Icon },true) .ToListAsync(); }