Skip to content

Commit

Permalink
refactor: Collection객체 요청 객체로 변경
Browse files Browse the repository at this point in the history
  • Loading branch information
parksey committed Apr 18, 2024
1 parent d4a564a commit 40758c0
Show file tree
Hide file tree
Showing 5 changed files with 32 additions and 18 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@
import shop.jtoon.webtoon.presentation.WebtoonImageUploadEventListener;
import shop.jtoon.webtoon.request.CreateEpisodeReq;
import shop.jtoon.webtoon.request.GetEpisodesReq;
import shop.jtoon.webtoon.request.MultiImagesReq;
import shop.jtoon.webtoon.response.EpisodeInfoRes;
import shop.jtoon.webtoon.response.EpisodeItemRes;
import shop.jtoon.webtoon.service.EpisodeDomainService;
Expand All @@ -36,20 +37,19 @@ public class EpisodeService {
public void createEpisode(
Long memberId,
Long webtoonId,
List<MultipartFile> mainImages,
MultiImagesReq mainImages,
MultipartFile thumbnailImage,
CreateEpisodeReq request
) {
Webtoon webtoon = episodeDomainService.readWebtoon(webtoonId, memberId, request.no());

MultiImageEvent mainUploadEvents = MultiImageEvent.builder()
.imageUploadEvents(mainImages.stream()
.map(mainImage -> request.toUploadImageDto(EPISODE_MAIN, webtoon.getTitle(), mainImage).toImageUploadEvent())
.toList())
.imageUploadEvents(mainImages.toMultiImageEvent(request, webtoon.getTitle()))
.build();
List<String> mainUrls = mainUploadEvents.imageUploadEvents().stream()
.map(mainUploadEvent -> webtoonClientService.uploadUrl(mainUploadEvent))
.map(webtoonClientService::uploadUrl)
.toList();

ImageUploadEvent thumbnailUploadEvent = request.toUploadImageDto(
EPISODE_THUMBNAIL,
webtoon.getTitle(),
Expand Down
Original file line number Diff line number Diff line change
@@ -1,11 +1,7 @@
package shop.jtoon.webtoon.application;

import static shop.jtoon.common.ImageType.*;

import java.util.function.Function;
import java.util.function.Supplier;

import org.springframework.context.ApplicationEventPublisher;
import org.springframework.stereotype.Service;
import org.springframework.web.multipart.MultipartFile;

Expand All @@ -14,7 +10,6 @@
import shop.jtoon.dto.ImageUploadEvent;
import shop.jtoon.dto.UploadImageDto;
import shop.jtoon.service.S3Service;
import shop.jtoon.webtoon.request.CreateEpisodeReq;
import shop.jtoon.webtoon.request.CreateWebtoonReq;

@Service
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
package shop.jtoon.webtoon.application;

import static shop.jtoon.common.ImageType.*;
import static shop.jtoon.type.ErrorStatus.*;

import java.util.List;
import java.util.Map;
Expand All @@ -12,10 +11,6 @@

import lombok.RequiredArgsConstructor;
import shop.jtoon.dto.ImageUploadEvent;
import shop.jtoon.dto.UploadImageDto;

import shop.jtoon.exception.InvalidRequestException;

import shop.jtoon.webtoon.domain.WebtoonDetail;
import shop.jtoon.webtoon.entity.enums.DayOfWeek;
import shop.jtoon.webtoon.request.CreateWebtoonReq;
Expand All @@ -34,8 +29,9 @@ public class WebtoonService {

public void createWebtoon(Long memberId, MultipartFile thumbnailImage, CreateWebtoonReq request) {
ImageUploadEvent imageUploadEvent = request.toUploadImageDto(WEBTOON_THUMBNAIL, thumbnailImage)
.toImageUploadEvent();
.toImageUploadEvent();
String thumbnailUrl = webtoonClientService.uploadUrl(imageUploadEvent);

webtoonDomainService.validateDuplicateTitle(request.title());
webtoonDomainService.createWebtoon(memberId,
request.toWebtoonInfo(thumbnailUrl),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@
import shop.jtoon.webtoon.request.CreateWebtoonReq;
import shop.jtoon.webtoon.request.GetEpisodesReq;
import shop.jtoon.webtoon.request.GetWebtoonsReq;
import shop.jtoon.webtoon.request.MultiImagesReq;
import shop.jtoon.webtoon.response.EpisodeInfoRes;
import shop.jtoon.webtoon.response.EpisodeItemRes;
import shop.jtoon.webtoon.response.WebtoonInfoRes;
Expand Down Expand Up @@ -52,11 +53,11 @@ public void createWebtoon(
public void createEpisode(
@CurrentUser MemberDto member,
@PathVariable Long webtoonId,
@RequestPart List<MultipartFile> mainImages,
@RequestPart MultiImagesReq multiImagesReq,
@RequestPart MultipartFile thumbnailImage,
@RequestPart @Valid CreateEpisodeReq request
) {
episodeService.createEpisode(member.id(), webtoonId, mainImages, thumbnailImage, request);
episodeService.createEpisode(member.id(), webtoonId, multiImagesReq, thumbnailImage, request);
}

@GetMapping
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
package shop.jtoon.webtoon.request;

import static shop.jtoon.common.ImageType.*;

import java.util.List;

import org.springframework.web.multipart.MultipartFile;

import lombok.Builder;
import shop.jtoon.dto.ImageUploadEvent;

@Builder
public record MultiImagesReq(
List<MultipartFile> mainImages
) {

public List<ImageUploadEvent> toMultiImageEvent(CreateEpisodeReq request, String webtoonTitle) {
return mainImages.stream()
.map(mainImage -> request.toUploadImageDto(EPISODE_MAIN, webtoonTitle, mainImage).toImageUploadEvent())
.toList();
}
}

0 comments on commit 40758c0

Please sign in to comment.