diff --git a/src/main/java/com/universe/uni/controller/WishCouponController.java b/src/main/java/com/universe/uni/controller/WishCouponController.java index 2dc9a74..01a8547 100644 --- a/src/main/java/com/universe/uni/controller/WishCouponController.java +++ b/src/main/java/com/universe/uni/controller/WishCouponController.java @@ -10,7 +10,6 @@ import org.springframework.web.bind.annotation.RestController; import com.universe.uni.dto.request.UpdateWishCouponRequestDto; -import com.universe.uni.dto.response.UpdateWishCouponResponseDto; import com.universe.uni.dto.response.WishCouponResponseDto; import com.universe.uni.service.WishCouponService; @@ -25,8 +24,8 @@ public class WishCouponController { @PatchMapping @ResponseStatus(HttpStatus.OK) - public UpdateWishCouponResponseDto updateWishCoupon(@RequestBody UpdateWishCouponRequestDto requestDto) { - return wishCouponService.uploadWishCoupon(requestDto); + public void updateWishCoupon(@RequestBody UpdateWishCouponRequestDto requestDto) { + wishCouponService.uploadWishCoupon(requestDto); } @PatchMapping("/{wishCouponId}") diff --git a/src/main/java/com/universe/uni/dto/response/UpdateWishCouponResponseDto.java b/src/main/java/com/universe/uni/dto/response/WishCouponDto.java similarity index 91% rename from src/main/java/com/universe/uni/dto/response/UpdateWishCouponResponseDto.java rename to src/main/java/com/universe/uni/dto/response/WishCouponDto.java index a09edb3..aac75d2 100644 --- a/src/main/java/com/universe/uni/dto/response/UpdateWishCouponResponseDto.java +++ b/src/main/java/com/universe/uni/dto/response/WishCouponDto.java @@ -7,7 +7,7 @@ @JsonPropertyOrder({"id", "image", "content", "isVisible", "isUsed", "usedAt", "gameType"}) @Builder -public record UpdateWishCouponResponseDto( +public record WishCouponDto( Long id, String image, String content, diff --git a/src/main/java/com/universe/uni/dto/response/WishCouponResponseDto.java b/src/main/java/com/universe/uni/dto/response/WishCouponResponseDto.java index 09ac96e..4f01734 100644 --- a/src/main/java/com/universe/uni/dto/response/WishCouponResponseDto.java +++ b/src/main/java/com/universe/uni/dto/response/WishCouponResponseDto.java @@ -1,20 +1,13 @@ package com.universe.uni.dto.response; -import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonPropertyOrder; import lombok.Builder; -@JsonPropertyOrder({"id", "isMine", "image", "content", "isVisible", "isUsed", "usedAt", "gameType"}) +@JsonPropertyOrder({"isMine", "wishCoupon"}) @Builder public record WishCouponResponseDto( - Long id, boolean isMine, - String image, - String content, - @JsonProperty("isVisible") boolean visible, - @JsonProperty("isUsed") boolean used, - String usedAt, - String gameType + WishCouponDto wishCoupon ) { } diff --git a/src/main/java/com/universe/uni/service/WishCouponService.java b/src/main/java/com/universe/uni/service/WishCouponService.java index 687ada2..ae19d54 100644 --- a/src/main/java/com/universe/uni/service/WishCouponService.java +++ b/src/main/java/com/universe/uni/service/WishCouponService.java @@ -9,7 +9,7 @@ import com.universe.uni.domain.entity.Game; import com.universe.uni.domain.entity.WishCoupon; import com.universe.uni.dto.request.UpdateWishCouponRequestDto; -import com.universe.uni.dto.response.UpdateWishCouponResponseDto; +import com.universe.uni.dto.response.WishCouponDto; import com.universe.uni.dto.response.WishCouponResponseDto; import com.universe.uni.exception.BadRequestException; import com.universe.uni.exception.NotFoundException; @@ -25,8 +25,7 @@ public class WishCouponService { private final WishCouponRepository wishCouponRepository; - @Transactional - public UpdateWishCouponResponseDto uploadWishCoupon(UpdateWishCouponRequestDto requestDto) { + public WishCouponDto uploadWishCoupon(UpdateWishCouponRequestDto requestDto) { GameType gameType = GameType.valueOf(requestDto.gameType()); List wishCouponList = wishCouponRepository .findByGameTypeAndIsVisibleFalseAndIsUsedFalseAndUsedAtIsNull(gameType); @@ -53,13 +52,20 @@ public void useWishCoupon(Long wishCouponId) { public WishCouponResponseDto getWishCoupon(Long wishCouponId) { WishCoupon wishCoupon = wishCouponRepository.findById(wishCouponId) .orElseThrow(() -> new NotFoundException(ErrorType.INVALID_ENDPOINT_EXCEPTION)); - return fromWishCouponToWishCouponResponseDto(wishCoupon); + + /** TODO 영주 : 추후 1L 내 userId로 바꾸기*/ + boolean isMine = wishCoupon.getUser().getId() == 1L; + + return WishCouponResponseDto.builder() + .isMine(isMine) + .wishCoupon(fromWishCouponToWishCouponDto(wishCoupon)) + .build(); } - private UpdateWishCouponResponseDto fromWishCouponToUpdateWishCouponResponseDto(WishCoupon wishCoupon) { + private WishCouponDto fromWishCouponToUpdateWishCouponResponseDto(WishCoupon wishCoupon) { String usedAt = wishCoupon.getUsedAt() != null ? wishCoupon.getUsedAt().toString() : null; - return UpdateWishCouponResponseDto.builder() + return WishCouponDto.builder() .id(wishCoupon.getId()) .image(wishCoupon.getImage()) .content(wishCoupon.getContent()) @@ -71,7 +77,7 @@ private UpdateWishCouponResponseDto fromWishCouponToUpdateWishCouponResponseDto( } public WishCoupon issueWishCoupon(String content, Game game) { - if(content == null || content.isEmpty()) { + if (content == null || content.isEmpty()) { return createWishCoupon(content, game, false); } else { return createWishCoupon(content, game, true); @@ -92,14 +98,11 @@ public void saveWishCoupon(WishCoupon wishCoupon) { wishCouponRepository.save(wishCoupon); } - private WishCouponResponseDto fromWishCouponToWishCouponResponseDto(WishCoupon wishCoupon) { - /** TODO 영주 : 추후 1L 내 userId로 바꾸기*/ - boolean isMine = wishCoupon.getUser().getId() == 1L; + private WishCouponDto fromWishCouponToWishCouponDto(WishCoupon wishCoupon) { String usedAt = wishCoupon.getUsedAt() != null ? wishCoupon.getUsedAt().toString() : null; - return WishCouponResponseDto.builder() + return WishCouponDto.builder() .id(wishCoupon.getId()) - .isMine(isMine) .image(wishCoupon.getImage()) .content(wishCoupon.getContent()) .visible(wishCoupon.isVisible())