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
Expand Up @@ -30,7 +30,7 @@ public ApiResponse<String> createDiscount(@RequestBody DiscountRequestDto.toDisc
}

@PostMapping("/discounts")
@Operation(summary = "유저 등록수단별 혜택 반환 API", description = "카드/페이/통신사별 혜택 리스트를 모두 반환하는 메서드")
@Operation(summary = "유저 검색어에 따른 등록수단별 혜택 반환 API", description = "카드/페이/통신사별 혜택 리스트를 모두 반환하는 메서드")
public ApiResponse<List<DiscountResponseDto.DiscountInfo>> getAllDiscounts(@UserInjection User user,
@RequestBody DiscountRequestDto.toBrandNameDto request) {
return ApiResponse.onSuccess(discountQueryService.getAllDiscounts(user, request));
Expand Down
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@

package savepay.savepay.domain.discount.converter;

import savepay.savepay.domain.discount.dto.DiscountResponseDto;
Expand All @@ -16,6 +17,7 @@ public static DiscountResponseDto.DiscountInfo toDiscountInfoDto(Discount discou
.pointInfo(discount.getPointInfo())
.details(discount.getDetails())
.createdAt(discount.getCreatedAt())
.source(DiscountInfoHelper.resolveSource(discount))
.build();
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
package savepay.savepay.domain.discount.converter;

import org.hibernate.Hibernate;
import savepay.savepay.domain.discount.entity.Discount;
import savepay.savepay.domain.payment.entity.Payment;
import savepay.savepay.domain.payment.entity.card.entity.Card;
import savepay.savepay.domain.payment.entity.pay.entity.Pay;

public class DiscountInfoHelper {

public static String resolveSource(Discount discount) {
if (discount.getTelecom() != null) return "TELECOM";
Payment payment = discount.getPayment();
if (payment != null) {
Class<?> actualClass = Hibernate.getClass(payment);

if (Card.class.isAssignableFrom(actualClass)) return "CARD";
if (Pay.class.isAssignableFrom(actualClass)) return "PAY";
}
return "UNKNOWN";
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,6 @@ public static class DiscountInfo {
String details; //혜택방법 상세
String pointInfo; // 포인트 정보
LocalDateTime createdAt;

String source;
}
}