diff --git a/src/main/java/com/Dodutch_Server/domain/dutch/controller/DutchController.java b/src/main/java/com/Dodutch_Server/domain/dutch/controller/DutchController.java index f9c3dd2..a4a3dc5 100644 --- a/src/main/java/com/Dodutch_Server/domain/dutch/controller/DutchController.java +++ b/src/main/java/com/Dodutch_Server/domain/dutch/controller/DutchController.java @@ -8,10 +8,10 @@ import com.Dodutch_Server.domain.trip.entity.TripMember; import com.Dodutch_Server.domain.trip.repository.TripMemberRepository; import com.Dodutch_Server.domain.trip.repository.TripRepository; +import lombok.Data; import lombok.Getter; import lombok.RequiredArgsConstructor; import lombok.Setter; -import org.springframework.data.domain.Sort; import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.*; @@ -37,7 +37,7 @@ private boolean isValidTrip(Long tripId) { public ResponseEntity getAllDutchList() { Long memberId = SecurityUtil.getCurrentUserId(); - List dutchList = dutchRepository.findByPayerIdOrPayeeId(memberId, memberId); + List dutchList = dutchRepository.findByPayerIdOrPayeeIdOrderByCreatedAtDesc(memberId, memberId); List responseDTOs = dutchList.stream() .map(DutchResponseDTO::fromEntity) @@ -160,22 +160,46 @@ public ApiResponse(boolean isSuccess, String code, String message, T data) { @Setter public static class DutchResponseDTO { private Long id; - private Long payerId; - private Long payeeId; + private PayerInfo payer; + private PayeeInfo payee; private Integer perCost; private Boolean isCompleted; + @Data + public static class PayerInfo { + private Long payerId; + private String payerNickName; + } + + @Data + public static class PayeeInfo { + private Long payeeId; + private String payeeNickName; + } + public static DutchResponseDTO fromEntity(Dutch dutch) { DutchResponseDTO dto = new DutchResponseDTO(); dto.setId(dutch.getId()); - dto.setPayerId(dutch.getPayer() != null ? dutch.getPayer().getId() : null); - dto.setPayeeId(dutch.getPayee() != null ? dutch.getPayee().getId() : null); dto.setPerCost(dutch.getPerCost()); dto.setIsCompleted(dutch.getIsCompleted()); + + // Payer 정보 + PayerInfo payerInfo = new PayerInfo(); + payerInfo.setPayerId(dutch.getPayer().getId()); + payerInfo.setPayerNickName(dutch.getPayer().getNickName()); + dto.setPayer(payerInfo); + + // Payee 정보 + PayeeInfo payeeInfo = new PayeeInfo(); + payeeInfo.setPayeeId(dutch.getPayee().getId()); + payeeInfo.setPayeeNickName(dutch.getPayee().getNickName()); + dto.setPayee(payeeInfo); + return dto; } } + @Getter @Setter public static class DutchUpdateRequest{ diff --git a/src/main/java/com/Dodutch_Server/domain/dutch/repository/DutchRepository.java b/src/main/java/com/Dodutch_Server/domain/dutch/repository/DutchRepository.java index 72d63b2..664e1f2 100644 --- a/src/main/java/com/Dodutch_Server/domain/dutch/repository/DutchRepository.java +++ b/src/main/java/com/Dodutch_Server/domain/dutch/repository/DutchRepository.java @@ -12,4 +12,5 @@ public interface DutchRepository extends JpaRepository { Optional findByTripIdAndId(Long tripId, Long id); boolean existsByTripIdAndPayerIdAndPayeeIdAndPerCost(Long tripId, Long payerId, Long payeeId, Integer perCost); List findByPayerIdOrPayeeId(Long payerId, Long payeeId); + List findByPayerIdOrPayeeIdOrderByCreatedAtDesc(Long payerId, Long payeeId); } diff --git a/src/main/java/com/Dodutch_Server/global/config/security/CorsConfig.java b/src/main/java/com/Dodutch_Server/global/config/security/CorsConfig.java index 7865e3c..892469a 100644 --- a/src/main/java/com/Dodutch_Server/global/config/security/CorsConfig.java +++ b/src/main/java/com/Dodutch_Server/global/config/security/CorsConfig.java @@ -16,6 +16,8 @@ public class CorsConfig implements WebMvcConfigurer { public void addCorsMappings(CorsRegistry registry) { registry.addMapping("/**") .allowedOrigins("http://localhost:3000") + .allowedOrigins("https://dodutch.vercel.app") + .allowedOrigins("http://dodutch.vercel.app") .allowedMethods("GET", "POST", "PUT", "DELETE", "OPTIONS","PATCH") .allowedHeaders("*") .allowCredentials(true); diff --git a/src/main/java/com/Dodutch_Server/global/config/security/SecurityConfig.java b/src/main/java/com/Dodutch_Server/global/config/security/SecurityConfig.java index b570104..13a5b57 100644 --- a/src/main/java/com/Dodutch_Server/global/config/security/SecurityConfig.java +++ b/src/main/java/com/Dodutch_Server/global/config/security/SecurityConfig.java @@ -61,6 +61,8 @@ public SecurityFilterChain filterChain(HttpSecurity http) throws Exception { http.cors(corsCustomizer -> corsCustomizer.configurationSource(request -> { CorsConfiguration config = new CorsConfiguration(); config.setAllowedOrigins(Collections.singletonList("http://localhost:3000")); // 허용할 도메인 + config.setAllowedOrigins(Collections.singletonList("https://dodutch.vercel.app")); // 허용할 도메인 + config.setAllowedOrigins(Collections.singletonList("http://dodutch.vercel.app")); // 허용할 도메인 config.setAllowedMethods(Collections.singletonList("*")); // 모든 메서드 허용 config.setAllowCredentials(true); // 인증 정보 허용 config.setAllowedHeaders(Collections.singletonList("*")); // 모든 헤더 허용