From 38bb61012b7dff484ae468b68bc6f60b0753ad5e Mon Sep 17 00:00:00 2001 From: thguss Date: Mon, 9 Sep 2024 23:33:34 +0900 Subject: [PATCH] fix: updated property --- .../domain/auth/SecretKeyFactory.java | 9 +++---- .../domain/diary/DiaryService.java | 5 +++- .../domain/version/VersionService.java | 15 +++++------ .../smeem/batch/scheduler/DiaryScheduler.java | 10 ++++---- .../scheduler/NotificationScheduler.java | 2 +- .../logger/discord/DiscordHookLogger.java | 25 ++++++------------- .../notification/NotificationAdapter.java | 12 +++------ .../smeem/oauth/apple/AppleOauthService.java | 6 ++--- .../smeem/oauth/kakao/KakaoOauthService.java | 6 ++--- 9 files changed, 40 insertions(+), 50 deletions(-) diff --git a/smeem-application/src/main/java/com/smeem/application/domain/auth/SecretKeyFactory.java b/smeem-application/src/main/java/com/smeem/application/domain/auth/SecretKeyFactory.java index a9c55a4a..7c4c9c53 100644 --- a/smeem-application/src/main/java/com/smeem/application/domain/auth/SecretKeyFactory.java +++ b/smeem-application/src/main/java/com/smeem/application/domain/auth/SecretKeyFactory.java @@ -1,22 +1,21 @@ package com.smeem.application.domain.auth; -import com.smeem.common.util.SmeemProperty; +import com.smeem.application.config.SmeemProperties; import io.jsonwebtoken.security.Keys; import lombok.RequiredArgsConstructor; import lombok.val; import org.springframework.stereotype.Component; import javax.crypto.SecretKey; - -import static java.util.Base64.getEncoder; +import java.util.Base64; @Component @RequiredArgsConstructor public class SecretKeyFactory { - private final SmeemProperty smeemProperty; + private final SmeemProperties smeemProperties; public SecretKey create() { - val encodedKey = getEncoder().encodeToString(smeemProperty.getSMEEM_SECRET_KEY().getBytes()); + val encodedKey = Base64.getEncoder().encodeToString(smeemProperties.getSecret().getKey().getBytes()); return Keys.hmacShaKeyFor(encodedKey.getBytes()); } } diff --git a/smeem-application/src/main/java/com/smeem/application/domain/diary/DiaryService.java b/smeem-application/src/main/java/com/smeem/application/domain/diary/DiaryService.java index d6812e09..e59340d2 100644 --- a/smeem-application/src/main/java/com/smeem/application/domain/diary/DiaryService.java +++ b/smeem-application/src/main/java/com/smeem/application/domain/diary/DiaryService.java @@ -1,5 +1,6 @@ package com.smeem.application.domain.diary; +import com.smeem.application.config.SmeemProperties; import com.smeem.application.domain.badge.Badge; import com.smeem.application.domain.badge.BadgeType; import com.smeem.application.domain.member.Member; @@ -27,6 +28,7 @@ public class DiaryService implements DiaryUseCase { private final BadgePort badgePort; private final MemberBadgePort memberBadgePort; private final TopicPort topicPort; + private final SmeemProperties smeemProperties; @Transactional public WriteDiaryResponse writeDiary(long memberId, WriteDiaryRequest request) { @@ -73,9 +75,10 @@ public void deleteDiary(long diary) { } public RetrieveDiariesResponse retrieveDiariesByTerm(long memberId, LocalDate startDate, LocalDate endDate) { + val remindDuration = smeemProperties.getDuration().remind(); return RetrieveDiariesResponse.of( diaryPort.findByMemberAndTerm(memberId, startDate, endDate), - diaryPort.isExistByMemberAndPastAgo(memberId, 30)); + diaryPort.isExistByMemberAndPastAgo(memberId, remindDuration)); } @Transactional diff --git a/smeem-application/src/main/java/com/smeem/application/domain/version/VersionService.java b/smeem-application/src/main/java/com/smeem/application/domain/version/VersionService.java index 945c99a0..adfe0920 100644 --- a/smeem-application/src/main/java/com/smeem/application/domain/version/VersionService.java +++ b/smeem-application/src/main/java/com/smeem/application/domain/version/VersionService.java @@ -1,5 +1,6 @@ package com.smeem.application.domain.version; +import com.smeem.application.config.SmeemProperties; import com.smeem.application.port.input.VersionUseCase; import com.smeem.application.port.input.dto.response.version.RetrieveAppVersionResponse; import lombok.RequiredArgsConstructor; @@ -10,16 +11,16 @@ @RequiredArgsConstructor @Transactional(readOnly = true) public class VersionService implements VersionUseCase { - private final Property property; + private final SmeemProperties smeemProperties; @Override public RetrieveAppVersionResponse retrieveAppVersion() { return RetrieveAppVersionResponse.of( - property.getCLIENT_VERSION_UPDATE_TITLE(), - property.getCLIENT_VERSION_UPDATE_CONTENT(), - property.getCLIENT_VERSION_ANDROID_VERSION(), - property.getCLIENT_VERSION_ANDROID_FORCE_VERSION(), - property.getCLIENT_VERSION_IOS_VERSION(), - property.getCLIENT_VERSION_IOS_FORCE_VERSION()); + smeemProperties.getClient().version().title(), + smeemProperties.getClient().version().content(), + smeemProperties.getClient().version().android().app(), + smeemProperties.getClient().version().android().force(), + smeemProperties.getClient().version().ios().app(), + smeemProperties.getClient().version().ios().force()); } } diff --git a/smeem-batch/src/main/java/com/smeem/batch/scheduler/DiaryScheduler.java b/smeem-batch/src/main/java/com/smeem/batch/scheduler/DiaryScheduler.java index 45a0319d..03850820 100644 --- a/smeem-batch/src/main/java/com/smeem/batch/scheduler/DiaryScheduler.java +++ b/smeem-batch/src/main/java/com/smeem/batch/scheduler/DiaryScheduler.java @@ -1,8 +1,9 @@ package com.smeem.batch.scheduler; +import com.smeem.application.config.SmeemProperties; import com.smeem.application.port.input.DiaryUseCase; import lombok.RequiredArgsConstructor; -import org.springframework.beans.factory.annotation.Value; +import lombok.val; import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Component; @@ -10,12 +11,11 @@ @RequiredArgsConstructor public class DiaryScheduler { private final DiaryUseCase diaryUseCase; - - @Value("${smeem.duration.expired}") - private int DURATION_EXPIRED; + private final SmeemProperties smeemProperties; @Scheduled(cron = "0 0 0 * * *") public void deleteExpiredDiaries() { - diaryUseCase.deleteExpiredDiaries(DURATION_EXPIRED); + val expiredDuration = smeemProperties.getDuration().expired(); + diaryUseCase.deleteExpiredDiaries(expiredDuration); } } diff --git a/smeem-batch/src/main/java/com/smeem/batch/scheduler/NotificationScheduler.java b/smeem-batch/src/main/java/com/smeem/batch/scheduler/NotificationScheduler.java index e08055ff..8df40fee 100644 --- a/smeem-batch/src/main/java/com/smeem/batch/scheduler/NotificationScheduler.java +++ b/smeem-batch/src/main/java/com/smeem/batch/scheduler/NotificationScheduler.java @@ -16,7 +16,7 @@ public class NotificationScheduler { private final MemberPort memberPort; private final NotificationPort notificationPort; - @Scheduled(cron = "${smeem.notification.cron_expression}") + @Scheduled(cron = "0 0/30 * * * *") public void pushAlarmByTrainingTime() throws InterruptedException { Thread.sleep(1000); val members = memberPort.findByTrainingTime(LocalDateTime.now()); diff --git a/smeem-common/src/main/java/com/smeem/common/logger/discord/DiscordHookLogger.java b/smeem-common/src/main/java/com/smeem/common/logger/discord/DiscordHookLogger.java index 59a79eda..0d4e6209 100644 --- a/smeem-common/src/main/java/com/smeem/common/logger/discord/DiscordHookLogger.java +++ b/smeem-common/src/main/java/com/smeem/common/logger/discord/DiscordHookLogger.java @@ -1,31 +1,22 @@ package com.smeem.common.logger.discord; +import com.smeem.common.config.DiscordProperties; import com.smeem.common.logger.HookLogger; import com.smeem.common.logger.LoggerType; import com.smeem.common.logger.LoggingMessage; +import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; -import org.springframework.beans.factory.annotation.Value; import org.springframework.http.HttpHeaders; import org.springframework.stereotype.Component; import org.springframework.web.client.RestClient; @Component @Slf4j +@RequiredArgsConstructor public class DiscordHookLogger implements HookLogger { - private final String signInUrl; - private final String withdrawUrl; - private final String errorUrl; - private final static String APPLICATION_JSON_UTF8_VALUE = "application/json; UTF-8"; + private final DiscordProperties discordProperties; - DiscordHookLogger( - @Value("${discord.webhook.url.sign-in}") String signInUrl, - @Value("${discord.webhook.url.withdraw}") String withdrawUrl, - @Value("${discord.webhook.url.error}") String errorUrl - ) { - this.signInUrl = signInUrl; - this.withdrawUrl = withdrawUrl; - this.errorUrl = errorUrl; - } + private final static String APPLICATION_JSON_UTF8_VALUE = "application/json; UTF-8"; @Override public void send(LoggingMessage loggingMessage) { @@ -44,9 +35,9 @@ public void send(LoggingMessage loggingMessage) { private String getWebhookUrl(LoggerType loggerType) { return switch (loggerType) { - case SIGN_IN -> signInUrl; - case WITHDRAW -> withdrawUrl; - case ERROR -> errorUrl; + case SIGN_IN -> discordProperties.webhook().url().sign_in(); + case WITHDRAW -> discordProperties.webhook().url().withdraw(); + case ERROR -> discordProperties.webhook().url().error(); }; } } diff --git a/smeem-output-notification/src/main/java/com/smeem/notification/NotificationAdapter.java b/smeem-output-notification/src/main/java/com/smeem/notification/NotificationAdapter.java index ebc81d05..07f37ee4 100644 --- a/smeem-output-notification/src/main/java/com/smeem/notification/NotificationAdapter.java +++ b/smeem-output-notification/src/main/java/com/smeem/notification/NotificationAdapter.java @@ -3,11 +3,11 @@ import com.smeem.application.port.output.notification.NotificationPort; import com.smeem.application.port.output.persistence.MemberPort; import com.smeem.notification.firebase.FcmNotificationService; +import com.smeem.notification.firebase.config.FcmProperties; import com.smeem.notification.firebase.dto.request.NotificationMulticastRequest; import com.smeem.notification.firebase.dto.request.NotificationSingleRequest; import lombok.RequiredArgsConstructor; import lombok.val; -import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; import java.util.List; @@ -17,11 +17,7 @@ public class NotificationAdapter implements NotificationPort { private final FcmNotificationService notificationService; private final MemberPort memberPort; - - @Value("${smeem.notification.title}") - private String NOTIFICATION_TITLE; - @Value("${smeem.notification.body}") - private String NOTIFICATION_BODY; + private final FcmProperties fcmProperties; @Override public void test(long memberId) { @@ -36,7 +32,7 @@ public void test(long memberId) { public void sendNotificationForTrainingTime(List fcmTokens) { notificationService.sendMessages(NotificationMulticastRequest.of( fcmTokens, - NOTIFICATION_TITLE, - NOTIFICATION_BODY)); + fcmProperties.title(), + fcmProperties.body())); } } diff --git a/smeem-output-oauth/apple/src/main/java/com/smeem/oauth/apple/AppleOauthService.java b/smeem-output-oauth/apple/src/main/java/com/smeem/oauth/apple/AppleOauthService.java index f5d37db0..cf700041 100644 --- a/smeem-output-oauth/apple/src/main/java/com/smeem/oauth/apple/AppleOauthService.java +++ b/smeem-output-oauth/apple/src/main/java/com/smeem/oauth/apple/AppleOauthService.java @@ -4,7 +4,7 @@ import com.fasterxml.jackson.databind.ObjectMapper; import com.smeem.common.exception.ExceptionCode; import com.smeem.common.exception.SmeemException; -import com.smeem.common.util.SmeemProperty; +import com.smeem.oauth.apple.config.AppleProperties; import com.smeem.oauth.apple.dto.response.AppleKey; import com.smeem.oauth.apple.dto.response.AppleKeysResponse; import com.smeem.oauth.apple.dto.response.DecodedAppleKey; @@ -29,7 +29,7 @@ @RequiredArgsConstructor public class AppleOauthService { private final ObjectMapper objectMapper; - private final SmeemProperty smeemProperty; + private final AppleProperties appleProperties; public String getAppleData(String appleAccessToken) { val publicAppleKeys = getApplePublicKeys(); @@ -51,7 +51,7 @@ private AppleKeysResponse getApplePublicKeys() { try { val restClient = RestClient.create(); return restClient.get() - .uri(smeemProperty.getAPPLE_URL()) + .uri(appleProperties.url()) .retrieve() .onStatus(HttpStatusCode::is4xxClientError, (appleRequest, appleResponse) -> { throw new SmeemException(ExceptionCode.SERVICE_AVAILABLE); diff --git a/smeem-output-oauth/kakao/src/main/java/com/smeem/oauth/kakao/KakaoOauthService.java b/smeem-output-oauth/kakao/src/main/java/com/smeem/oauth/kakao/KakaoOauthService.java index 642fd17e..3eee8c1b 100644 --- a/smeem-output-oauth/kakao/src/main/java/com/smeem/oauth/kakao/KakaoOauthService.java +++ b/smeem-output-oauth/kakao/src/main/java/com/smeem/oauth/kakao/KakaoOauthService.java @@ -2,7 +2,7 @@ import com.smeem.common.exception.ExceptionCode; import com.smeem.common.exception.SmeemException; -import com.smeem.common.util.SmeemProperty; +import com.smeem.oauth.kakao.config.KakaoProperties; import com.smeem.oauth.kakao.dto.KakaoResponse; import lombok.RequiredArgsConstructor; import lombok.val; @@ -15,13 +15,13 @@ @Service @RequiredArgsConstructor public class KakaoOauthService { - private final SmeemProperty smeemProperty; + private final KakaoProperties kakaoProperties; public String getKakaoData(final String accessToken) { try { val restClient = RestClient.create(); val response = restClient.get() - .uri(smeemProperty.getKAKAO_URL()) + .uri(kakaoProperties.url()) .header(AUTHORIZATION, accessToken) .retrieve() .onStatus(HttpStatusCode::is4xxClientError,