From 2955e4bca02c30bd0347983d764b998176dcfe33 Mon Sep 17 00:00:00 2001 From: Daniel Date: Mon, 20 May 2024 16:05:55 +0200 Subject: [PATCH] BE-#94: Working on ExpenseSplitWidgetDto --- .../widget/application/mapper/WidgetMapper.java | 9 +++++++++ .../widget/model/expensesplit/DeptDto.java | 16 ++++++++++++++++ .../expensesplit/ExpenseSplitWidgetDto.java | 2 ++ 3 files changed, 27 insertions(+) create mode 100644 backend/src/main/java/com/dhbw/get2gether/backend/widget/model/expensesplit/DeptDto.java diff --git a/backend/src/main/java/com/dhbw/get2gether/backend/widget/application/mapper/WidgetMapper.java b/backend/src/main/java/com/dhbw/get2gether/backend/widget/application/mapper/WidgetMapper.java index 5dd6288..39e8512 100644 --- a/backend/src/main/java/com/dhbw/get2gether/backend/widget/application/mapper/WidgetMapper.java +++ b/backend/src/main/java/com/dhbw/get2gether/backend/widget/application/mapper/WidgetMapper.java @@ -1,5 +1,6 @@ package com.dhbw.get2gether.backend.widget.application.mapper; +import com.dhbw.get2gether.backend.exceptions.EntityNotFoundException; import com.dhbw.get2gether.backend.user.model.SimpleUserDto; import com.dhbw.get2gether.backend.widget.model.IWidget; import com.dhbw.get2gether.backend.widget.model.Widget; @@ -47,6 +48,14 @@ ExpenseEntryDto expenseEntryToExpenseEntryDto(ExpenseEntry expenseEntry, @Contex .build(); } + DeptDto deptToDeptDto(Dept dept, @Context List participants){ + return DeptDto.builder() + .deptAmount(dept.getDeptAmount()) + .user(participants.stream().filter(user -> user.getId().equals(dept.getUserId())).findFirst().orElseThrow( + () -> new EntityNotFoundException("User not in participants") + )).build(); + } + abstract UserWithPercentageDto userWithPercentageToUserWithPercentageDto(UserWithPercentage userWithPercentage, SimpleUserDto user); } diff --git a/backend/src/main/java/com/dhbw/get2gether/backend/widget/model/expensesplit/DeptDto.java b/backend/src/main/java/com/dhbw/get2gether/backend/widget/model/expensesplit/DeptDto.java new file mode 100644 index 0000000..f4daa55 --- /dev/null +++ b/backend/src/main/java/com/dhbw/get2gether/backend/widget/model/expensesplit/DeptDto.java @@ -0,0 +1,16 @@ +package com.dhbw.get2gether.backend.widget.model.expensesplit; + +import com.dhbw.get2gether.backend.user.model.SimpleUserDto; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Getter; +import lombok.NoArgsConstructor; + +@Builder +@Getter +@NoArgsConstructor +@AllArgsConstructor +public class DeptDto { + private SimpleUserDto user; + private double deptAmount; +} diff --git a/backend/src/main/java/com/dhbw/get2gether/backend/widget/model/expensesplit/ExpenseSplitWidgetDto.java b/backend/src/main/java/com/dhbw/get2gether/backend/widget/model/expensesplit/ExpenseSplitWidgetDto.java index 4e20bc8..0b9facb 100644 --- a/backend/src/main/java/com/dhbw/get2gether/backend/widget/model/expensesplit/ExpenseSplitWidgetDto.java +++ b/backend/src/main/java/com/dhbw/get2gether/backend/widget/model/expensesplit/ExpenseSplitWidgetDto.java @@ -18,6 +18,8 @@ public class ExpenseSplitWidgetDto implements IWidget { private final LocalDateTime creationDate; @Builder.Default private List entries = new ArrayList<>(); + @Builder.Default + private List depts = new ArrayList<>(); @Override