diff --git a/Yi.Abp.Net8/module/bbs/Yi.Framework.Bbs.Application.Contracts/Dtos/Discuss/DiscussGetOutputDto.cs b/Yi.Abp.Net8/module/bbs/Yi.Framework.Bbs.Application.Contracts/Dtos/Discuss/DiscussGetOutputDto.cs index 27ec1708..104fb310 100644 --- a/Yi.Abp.Net8/module/bbs/Yi.Framework.Bbs.Application.Contracts/Dtos/Discuss/DiscussGetOutputDto.cs +++ b/Yi.Abp.Net8/module/bbs/Yi.Framework.Bbs.Application.Contracts/Dtos/Discuss/DiscussGetOutputDto.cs @@ -34,7 +34,7 @@ namespace Yi.Framework.Bbs.Application.Contracts.Dtos.Discuss public string? PrivateCode { get; set; } public DateTime CreationTime { get; set; } public DiscussPermissionTypeEnum PermissionType { get; set; } - + public bool IsAgree { get; set; } = false; public List? PermissionUserIds { get; set; } public BbsUserGetListOutputDto User { get; set; } } diff --git a/Yi.Abp.Net8/module/bbs/Yi.Framework.Bbs.Application/Services/CommentService.cs b/Yi.Abp.Net8/module/bbs/Yi.Framework.Bbs.Application/Services/CommentService.cs index 1f6e4be7..ce282b63 100644 --- a/Yi.Abp.Net8/module/bbs/Yi.Framework.Bbs.Application/Services/CommentService.cs +++ b/Yi.Abp.Net8/module/bbs/Yi.Framework.Bbs.Application/Services/CommentService.cs @@ -63,13 +63,17 @@ namespace Yi.Framework.Bbs.Application.Services List outoutDto = await MapToGetListOutputDtosAsync(outPut); //同时为所有用户id进行bbs的扩展即可 - List userIds = outoutDto.Select(x => x.CommentedUser.Id).Union(outoutDto.Select(x => x.CreateUser.Id)).ToList(); + List userIds = outoutDto.Where(x => x.CommentedUser is not null).Select(x => x.CommentedUser.Id).Union(outoutDto.Select(x => x.CreateUser.Id)).ToList(); var bbsUserInfoDic = (await _bbsUserManager.GetBbsUserInfoAsync(userIds)).ToDictionary(x => x.Id); foreach (var singleOutput in outoutDto) { - singleOutput.CommentedUser = bbsUserInfoDic[singleOutput.CommentedUser.Id].Adapt(); - singleOutput.CreateUser = bbsUserInfoDic[singleOutput.CommentedUser.Id].Adapt(); + if (singleOutput.CommentedUser is not null) + { + singleOutput.CommentedUser = bbsUserInfoDic[singleOutput.CommentedUser.Id].Adapt(); + } + + singleOutput.CreateUser = bbsUserInfoDic[singleOutput.CreateUser.Id].Adapt(); } //数据查询完成 diff --git a/Yi.Abp.Net8/module/bbs/Yi.Framework.Bbs.Application/Services/DiscussService.cs b/Yi.Abp.Net8/module/bbs/Yi.Framework.Bbs.Application/Services/DiscussService.cs index dff7df6a..0ca9d52d 100644 --- a/Yi.Abp.Net8/module/bbs/Yi.Framework.Bbs.Application/Services/DiscussService.cs +++ b/Yi.Abp.Net8/module/bbs/Yi.Framework.Bbs.Application/Services/DiscussService.cs @@ -60,6 +60,8 @@ namespace Yi.Framework.Bbs.Application.Services .LeftJoin((discuss, user, info) => user.Id == info.UserId) .Select((discuss, user, info) => new DiscussGetOutputDto { + Id=discuss.Id, + IsAgree = SqlFunc.Subqueryable().WhereIF(CurrentUser.Id != null, x => x.CreatorId == CurrentUser.Id && x.DiscussId == discuss.Id).Any(), User = new BbsUserGetListOutputDto() { UserName = user.UserName,