Implement SCUM direct data plane

This commit is contained in:
npc0-hue
2026-08-13 16:33:11 +08:00
parent b07a792784
commit 8b236d7c15
56 changed files with 1466 additions and 90 deletions
@@ -0,0 +1,19 @@
SELECT
CAST(s.id AS TEXT) AS squadId,
COALESCE(s.name, '') AS name,
CAST(leader.user_profile_id AS TEXT) AS leaderProfileId,
CAST(leader_profile.prisoner_id AS TEXT) AS leaderPlayerId,
COUNT(member.id) AS memberCount,
s.score AS score,
s.member_limit AS memberLimit,
s.last_member_login_time AS lastMemberLoginTime,
s.last_member_logout_time AS lastMemberLogoutTime
FROM squad s
LEFT JOIN squad_member member ON member.squad_id = s.id
LEFT JOIN squad_member leader ON leader.squad_id = s.id AND leader.rank = 4
LEFT JOIN user_profile leader_profile ON leader_profile.id = leader.user_profile_id
WHERE (:squadId IS NULL OR CAST(s.id AS TEXT) = :squadId)
AND (:search IS NULL OR COALESCE(s.name, '') LIKE '%' || :search || '%')
GROUP BY s.id
ORDER BY s.score DESC, s.id
LIMIT COALESCE(:limit, 500)