🐛 Fixes of withStatus

This commit is contained in:
2025-08-18 01:39:33 +08:00
parent 201126e5d0
commit bd77137714
2 changed files with 8 additions and 22 deletions

View File

@@ -487,8 +487,7 @@ public class ChatRoomController(
public async Task<ActionResult<List<ChatMember>>> ListMembers(Guid roomId, public async Task<ActionResult<List<ChatMember>>> ListMembers(Guid roomId,
[FromQuery] int take = 20, [FromQuery] int take = 20,
[FromQuery] int offset = 0, [FromQuery] int offset = 0,
[FromQuery] bool withStatus = false, [FromQuery] bool withStatus = false
[FromQuery] string? status = null
) )
{ {
var currentUser = HttpContext.Items["CurrentUser"] as Account; var currentUser = HttpContext.Items["CurrentUser"] as Account;
@@ -519,18 +518,12 @@ public class ChatRoomController(
members.Select(m => m.AccountId).ToList() members.Select(m => m.AccountId).ToList()
); );
if (!string.IsNullOrEmpty(status))
{
members = members
.Select(m =>
{
m.Status = memberStatuses.TryGetValue(m.AccountId, out var s) ? s : null;
return m;
})
.ToList();
}
members = members members = members
.Select(m =>
{
m.Status = memberStatuses.TryGetValue(m.AccountId, out var s) ? s : null;
return m;
})
.OrderByDescending(m => m.Status?.IsOnline ?? false) .OrderByDescending(m => m.Status?.IsOnline ?? false)
.ToList(); .ToList();

View File

@@ -216,8 +216,7 @@ public class RealmController(
string slug, string slug,
[FromQuery] int offset = 0, [FromQuery] int offset = 0,
[FromQuery] int take = 20, [FromQuery] int take = 20,
[FromQuery] bool withStatus = false, [FromQuery] bool withStatus = false
[FromQuery] string? status = null
) )
{ {
var realm = await db.Realms var realm = await db.Realms
@@ -246,20 +245,14 @@ public class RealmController(
members.Select(m => m.AccountId).ToList() members.Select(m => m.AccountId).ToList()
); );
if (!string.IsNullOrEmpty(status))
{
members = members members = members
.Select(m => .Select(m =>
{ {
m.Status = memberStatuses.TryGetValue(m.AccountId, out var s) ? s : null; m.Status = memberStatuses.TryGetValue(m.AccountId, out var s) ? s : null;
return m; return m;
}) })
.OrderByDescending(m => m.Status?.IsOnline ?? false)
.ToList(); .ToList();
}
members = members
.OrderByDescending(m => m.Status?.IsOnline ?? false)
.ToList();
var total = members.Count; var total = members.Count;
Response.Headers.Append("X-Total", total.ToString()); Response.Headers.Append("X-Total", total.ToString());