Skip to content

Commit

Permalink
feat: 쿠폰 종류 조회 API 추가 (#871)
Browse files Browse the repository at this point in the history
* feat: 쿠폰 종류 조회 api 추가

* fix: 쿠폰 종류 조회 api 엔드포인트 수정

* docs: 스웨거 설명 수정
  • Loading branch information
Sangwook02 authored Feb 8, 2025
1 parent 613ba13 commit 20691f7
Show file tree
Hide file tree
Showing 3 changed files with 23 additions and 0 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
import com.gdschongik.gdsc.domain.coupon.dto.request.CouponIssueRequest;
import com.gdschongik.gdsc.domain.coupon.dto.request.IssuedCouponQueryOption;
import com.gdschongik.gdsc.domain.coupon.dto.response.CouponResponse;
import com.gdschongik.gdsc.domain.coupon.dto.response.CouponTypeResponse;
import com.gdschongik.gdsc.domain.coupon.dto.response.IssuedCouponResponse;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
Expand Down Expand Up @@ -44,6 +45,13 @@ public ResponseEntity<List<CouponResponse>> getCoupons() {
return ResponseEntity.ok().body(response);
}

@Operation(summary = "쿠폰 종류 목록 조회", description = "발급 가능한 모든 쿠폰 종류 목록을 조회합니다.")
@GetMapping("/types")
public ResponseEntity<List<CouponTypeResponse>> getCouponTypes() {
List<CouponTypeResponse> response = couponService.getCouponTypes();
return ResponseEntity.ok().body(response);
}

@Operation(summary = "발급쿠폰 조회", description = "발급된 쿠폰을 조회합니다.")
@GetMapping("/issued")
public ResponseEntity<Page<IssuedCouponResponse>> getIssuedCoupons(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@
import com.gdschongik.gdsc.domain.coupon.dto.request.CouponIssueRequest;
import com.gdschongik.gdsc.domain.coupon.dto.request.IssuedCouponQueryOption;
import com.gdschongik.gdsc.domain.coupon.dto.response.CouponResponse;
import com.gdschongik.gdsc.domain.coupon.dto.response.CouponTypeResponse;
import com.gdschongik.gdsc.domain.coupon.dto.response.IssuedCouponResponse;
import com.gdschongik.gdsc.domain.coupon.util.CouponNameUtil;
import com.gdschongik.gdsc.domain.member.dao.MemberRepository;
Expand All @@ -23,6 +24,7 @@
import com.gdschongik.gdsc.domain.study.domain.StudyHistory;
import com.gdschongik.gdsc.global.exception.CustomException;
import com.gdschongik.gdsc.global.util.MemberUtil;
import java.util.Arrays;
import java.util.List;
import java.util.Optional;
import lombok.RequiredArgsConstructor;
Expand Down Expand Up @@ -145,4 +147,8 @@ public void revokeStudyCompletionCouponByStudyHistoryId(long studyHistoryId) {

log.info("[CouponService] 스터디 수료 쿠폰 회수: issuedCouponId={}", issuedCoupon.getId());
}

public List<CouponTypeResponse> getCouponTypes() {
return Arrays.stream(CouponType.values()).map(CouponTypeResponse::from).toList();
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
package com.gdschongik.gdsc.domain.coupon.dto.response;

import com.gdschongik.gdsc.domain.coupon.domain.CouponType;

public record CouponTypeResponse(CouponType couponType, String name) {
public static CouponTypeResponse from(CouponType couponType) {
return new CouponTypeResponse(couponType, couponType.getValue());
}
}

0 comments on commit 20691f7

Please sign in to comment.