diff --git a/photo-service/src/main/java/kr/mafoo/photo/service/AlbumService.java b/photo-service/src/main/java/kr/mafoo/photo/service/AlbumService.java index 5a770b3e..42cce974 100644 --- a/photo-service/src/main/java/kr/mafoo/photo/service/AlbumService.java +++ b/photo-service/src/main/java/kr/mafoo/photo/service/AlbumService.java @@ -6,6 +6,7 @@ import java.util.Comparator; import java.util.Optional; +import java.util.concurrent.atomic.AtomicInteger; import kr.mafoo.photo.domain.AlbumEntity; import kr.mafoo.photo.domain.enums.AlbumType; @@ -94,10 +95,12 @@ public Mono addAlbum(String albumName, String albumType, String req @Transactional public Mono addSumoneAlbum(String albumName, String albumType, String requestMemberId, String inviteCode) { + AtomicInteger displayIndex = new AtomicInteger(0); return albumCommand .addAlbum(albumName, albumType, requestMemberId, null) .flatMap(album -> sumoneEventMappingRepository .findByInviteCode(inviteCode) + .switchIfEmpty(Mono.error(new AlbumNotFoundException())) .flatMap(sumoneEventMappingEntity -> sumoneEventMappingRepository.delete(sumoneEventMappingEntity).then(Mono.just(sumoneEventMappingEntity))) .map(entity -> "SUMONE_" + entity.getId()) @@ -108,12 +111,13 @@ public Mono addSumoneAlbum(String albumName, String albumType, Stri photo.getPhotoUrl(), BrandType.EXTERNAL, album.getAlbumId(), - 0, + displayIndex.getAndIncrement(), requestMemberId ) ) ) - .then(Mono.just(album))); + .then(Mono.just(album))) + .flatMap(album -> albumCommand.increaseAlbumPhotoCount(album, displayIndex.get())); } @Transactional