Skip to content

Commit cfa4df3

Browse files
committed
hotfix/ fix re-request-font-create method
make fix re-request-font-create method save phone number on redis.
1 parent f7657ac commit cfa4df3

File tree

3 files changed

+24
-9
lines changed

3 files changed

+24
-9
lines changed

src/main/java/org/fontory/fontorybe/common/adapter/inbound/DebugController.java

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,14 +9,14 @@
99
import org.fontory.fontorybe.authentication.domain.UserPrincipal;
1010
import org.fontory.fontorybe.common.application.DevTokenInitializer;
1111
import org.fontory.fontorybe.file.application.port.CloudStorageService;
12-
import org.fontory.fontorybe.font.FontCreateRequestNotificationEvent;
12+
import org.fontory.fontorybe.font.FontCreateResendRequestEvent;
1313
import org.fontory.fontorybe.font.domain.Font;
1414
import org.fontory.fontorybe.font.service.dto.FontRequestProduceDto;
1515
import org.fontory.fontorybe.font.service.port.FontRepository;
1616
import org.fontory.fontorybe.font.service.port.FontRequestProducer;
1717
import org.fontory.fontorybe.member.domain.Member;
1818
import org.fontory.fontorybe.member.service.MemberLookupServiceImpl;
19-
import org.fontory.fontorybe.member.service.port.MemberRepository;
19+
import org.fontory.fontorybe.sms.application.port.PhoneNumberStorage;
2020
import org.slf4j.MDC;
2121
import org.springframework.beans.factory.annotation.Value;
2222
import org.springframework.context.ApplicationEventPublisher;
@@ -39,6 +39,7 @@ public class DebugController {
3939
private final FontRequestProducer fontRequestProducer;
4040
private final ApplicationEventPublisher eventPublisher;
4141
private final CookieUtils cookieUtils;
42+
private final PhoneNumberStorage phoneNumberStorage;
4243

4344
@Value("${commit.hash}")
4445
public String commitHash;
@@ -106,8 +107,10 @@ public Boolean reRequestFonts(
106107
fontRequestProducer.sendFontRequest(FontRequestProduceDto.from(savedFont, member, fontPaperUrl));
107108

108109
// SMS 알림을 위한 레디스에 폰번호 다시 저장
109-
if (notificationPhoneNumber != null && notificationPhoneNumber.isBlank()) {
110-
eventPublisher.publishEvent(new FontCreateRequestNotificationEvent(savedFont, notificationPhoneNumber));
110+
if (notificationPhoneNumber != null && !notificationPhoneNumber.isBlank()) {
111+
log.info("redis save start");
112+
eventPublisher.publishEvent(new FontCreateResendRequestEvent(savedFont, notificationPhoneNumber));
113+
log.info("redis save end");
111114
}
112115

113116
log.info("Response sent: Font created with ID: {}, name: {}, phone: {}",

src/main/java/org/fontory/fontorybe/font/CoolSmsEventListener.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -47,13 +47,13 @@ public void sendFontCreateCompleteNotificationAndRemovePhoneNumber(FontCreateCom
4747
}
4848

4949
@Async
50-
@TransactionalEventListener(phase = TransactionPhase.AFTER_COMMIT)
51-
public void resendFontCreateRequestSavePhoneNumber(FontCreateRequestNotificationEvent e) {
50+
@TransactionalEventListener(phase = TransactionPhase.AFTER_COMMIT, fallbackExecution = true) // db 커밋이 없는 로직이기에 트랜젝션 없이도 동작하도록
51+
public void resendFontCreateRequestSavePhoneNumber(FontCreateResendRequestEvent e) {
5252
Font font = e.getFont();
53-
String phoneNumber = phoneNumberStorage.getPhoneNumber(font);
54-
log.info("save phone number in redis - fontId={}, phoneNumber={}", font.getId(), phoneNumber);
53+
String phoneNumber = e.getPhoneNumber();
54+
log.info("save phone number in redis - fontId={}, phoneNumber={}", font.getId(), e.getPhoneNumber());
5555

56-
phoneNumberStorage.removePhoneNumber(font);
56+
phoneNumberStorage.savePhoneNumber(font, phoneNumber);
5757

5858
log.info("phone number saved in redis - fontId={}, phoneNumber={}", font.getId(), phoneNumber);
5959
}
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
package org.fontory.fontorybe.font;
2+
3+
import lombok.Getter;
4+
import lombok.RequiredArgsConstructor;
5+
import org.fontory.fontorybe.font.domain.Font;
6+
7+
@Getter
8+
@RequiredArgsConstructor
9+
public class FontCreateResendRequestEvent {
10+
private final Font font;
11+
private final String phoneNumber;
12+
}

0 commit comments

Comments
 (0)