From fa1989d68168d38d568fb478840f443c63b7a2d2 Mon Sep 17 00:00:00 2001 From: BambooKim Date: Sun, 23 Apr 2023 00:44:55 +0900 Subject: [PATCH] =?UTF-8?q?feat:=20Notification=20Test=20-=20WebpushConfig?= =?UTF-8?q?=20=EB=A7=81=ED=81=AC=20=EC=B6=94=EA=B0=80=20#24?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../grimuri/backend/domain/image/ImageService.java | 11 ++++++++++- .../domain/image/controller/ImageControllerImpl.java | 2 +- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/src/main/java/grimuri/backend/domain/image/ImageService.java b/src/main/java/grimuri/backend/domain/image/ImageService.java index 7b9d199..26baf3b 100644 --- a/src/main/java/grimuri/backend/domain/image/ImageService.java +++ b/src/main/java/grimuri/backend/domain/image/ImageService.java @@ -34,7 +34,7 @@ public class ImageService { @Async - public void saveImageWithDiary(ImageRequestDto.Complete request) { + public void saveImageWithDiaryAndNotify(ImageRequestDto.Complete request) { Diary findDiary = diaryRepository.findById(request.getDiaryId()).orElseThrow(() -> { throw new ResponseStatusException(HttpStatus.NOT_FOUND, "Diary가 존재하지 않습니다."); }); @@ -87,10 +87,19 @@ public void notifyImageComplete(List tokenList, Long diaryId, String d .setBody("일기 \"" + diaryTitle + "\"의 이미지 생성이 완료되었습니다.") .build(); + WebpushFcmOptions fcmOptions = WebpushFcmOptions.builder() + .setLink("/select/" + diaryId.toString()) + .build(); + + WebpushConfig webpushConfig = WebpushConfig.builder() + .setFcmOptions(fcmOptions) + .build(); + MulticastMessage message = MulticastMessage.builder() .setNotification(notification) .putData("diaryId", String.valueOf(diaryId)) .putData("diaryTitle", diaryTitle) + .setWebpushConfig(webpushConfig) .addAllTokens(tokenList.stream().map(FCMToken::getToken).collect(Collectors.toList())) .build(); diff --git a/src/main/java/grimuri/backend/domain/image/controller/ImageControllerImpl.java b/src/main/java/grimuri/backend/domain/image/controller/ImageControllerImpl.java index dfac534..ca5bf0b 100644 --- a/src/main/java/grimuri/backend/domain/image/controller/ImageControllerImpl.java +++ b/src/main/java/grimuri/backend/domain/image/controller/ImageControllerImpl.java @@ -24,7 +24,7 @@ public class ImageControllerImpl implements ImageController { public ResponseEntity imageGenerateComplete(@RequestBody ImageRequestDto.Complete request) { log.debug("\tRequest Body: {}", request.toString()); - imageService.saveImageWithDiary(request); + imageService.saveImageWithDiaryAndNotify(request); return ResponseEntity.status(HttpStatus.CREATED).body("Success"); }