Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -1,4 +1,7 @@
package com.finboostplus.DTO;

public record GroupDetailsDTO(Long id, String name, String description, String icon, String authorization) {
import java.math.BigDecimal;

public record GroupDetailsDTO(Long id, String name, String description, String icon, String authorization,
BigDecimal total) {
}
Original file line number Diff line number Diff line change
Expand Up @@ -263,14 +263,14 @@ SELECT EXISTS(
boolean doesMemberHasPendingExpenses(Long memberId, Long groupId);

@Query(nativeQuery = true, value = """
SELECT ud.user_id as userId,
u.user_name as userName,
ud.partial_value as partialValue,
ud.status
FROM expenses e
INNER JOIN user_expense_divisions ud ON e.id = ud.expense_id
INNER JOIN users u ON u.id = ud.user_id
WHERE e.group_id = :groupId AND e.id = :expenseId
SELECT UD.USER_ID AS USERID,
U.USER_NAME AS USERNAME,
UD.PARTIAL_VALUE AS PARTIALVALUE,
UD.STATUS
FROM EXPENSES E
INNER JOIN USER_EXPENSE_DIVISIONS UD ON E.ID = UD.EXPENSE_ID
INNER JOIN USERS U ON U.ID = UD.USER_ID
WHERE E.GROUP_ID = :groupId AND e.id = :expenseId
""")
List<UserExpenseDivisionProjection> listUsersExpenseDivision(Long groupId, Long expenseId);

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -39,13 +39,18 @@ public interface GroupRepository extends JpaRepository<Group, Long> {
G.NAME,
G.DESCRIPTION,
G.ICON,
GM.AUTH_LEVEL AS AUTHORIZATION
GM.AUTH_LEVEL AS AUTHORIZATION,
(SELECT COALESCE(SUM (E.VALUE), 0)
FROM EXPENSES E
INNER JOIN USER_EXPENSE_DIVISIONS UED ON E.ID = UED.EXPENSE_ID
WHERE E.GROUP_ID = :groupId
) AS TOTAL
FROM
GROUPS AS G
INNER JOIN GROUP_MEMBERS AS GM ON GM.GROUP_ID = G.ID
WHERE
GM.GROUP_ID = :groupId
AND GM.USER_ID = :userId
""")
""")
GroupDetailsDTO getGroupDetails(Long groupId, Long userId);
}
Loading