From a9a252b631ff2ddc40b4dea6272ca0ea875c43e4 Mon Sep 17 00:00:00 2001 From: seohyun-lee Date: Tue, 5 Nov 2024 22:01:07 +0900 Subject: [PATCH 1/2] =?UTF-8?q?fix:=20=EC=9D=BC=EB=B6=80=20=EC=84=A4?= =?UTF-8?q?=EC=A0=95=20=EC=98=B5=EC=85=98=EB=A7=8C=20=EC=A0=84=EB=8B=AC?= =?UTF-8?q?=EB=90=98=EC=96=B4=EB=8F=84=20UserSetting=20=EC=97=85=EB=8D=B0?= =?UTF-8?q?=EC=9D=B4=ED=8A=B8=EB=90=98=EB=8F=84=EB=A1=9D=20=EB=B3=80?= =?UTF-8?q?=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../request/UserSettingUpdateRequestDto.java | 7 +++---- .../user/service/UserSettingService.java | 20 ++++++++++++++----- 2 files changed, 18 insertions(+), 9 deletions(-) diff --git a/bookduck/src/main/java/com/mmc/bookduck/domain/user/dto/request/UserSettingUpdateRequestDto.java b/bookduck/src/main/java/com/mmc/bookduck/domain/user/dto/request/UserSettingUpdateRequestDto.java index f08f928e..9bd6ba2a 100644 --- a/bookduck/src/main/java/com/mmc/bookduck/domain/user/dto/request/UserSettingUpdateRequestDto.java +++ b/bookduck/src/main/java/com/mmc/bookduck/domain/user/dto/request/UserSettingUpdateRequestDto.java @@ -1,11 +1,10 @@ package com.mmc.bookduck.domain.user.dto.request; import com.mmc.bookduck.domain.user.entity.RecordFont; -import jakarta.validation.constraints.NotNull; public record UserSettingUpdateRequestDto( - @NotNull Boolean isPushAlarmEnabled, - @NotNull Boolean isFriendRequestEnabled, - @NotNull RecordFont recordFont + Boolean isPushAlarmEnabled, + Boolean isFriendRequestEnabled, + RecordFont recordFont ) { } diff --git a/bookduck/src/main/java/com/mmc/bookduck/domain/user/service/UserSettingService.java b/bookduck/src/main/java/com/mmc/bookduck/domain/user/service/UserSettingService.java index 9ad71f01..7f9bb77b 100644 --- a/bookduck/src/main/java/com/mmc/bookduck/domain/user/service/UserSettingService.java +++ b/bookduck/src/main/java/com/mmc/bookduck/domain/user/service/UserSettingService.java @@ -14,6 +14,9 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import java.util.Optional; +import java.util.function.Consumer; + @Service @Transactional @RequiredArgsConstructor @@ -59,9 +62,16 @@ public void updateUserNickname(UserNicknameRequestDto requestDto) { public void updateOptions(UserSettingUpdateRequestDto requestDto) { User user = userService.getCurrentUser(); UserSetting userSetting = getUserSettingByUser(user); - // 트랜잭션 커밋 시 자동 저장 - userSetting.updateIsPushAlarmEnabled(requestDto.isPushAlarmEnabled()); - userSetting.updateIsFriendRequestEnabled(requestDto.isFriendRequestEnabled()); - userSetting.updateRecordFont(requestDto.recordFont()); + + // null이 아닌 설정 옵션만 업데이트 진행 + updateSetting(requestDto.isPushAlarmEnabled(), userSetting::updateIsPushAlarmEnabled); + updateSetting(requestDto.isFriendRequestEnabled(), userSetting::updateIsFriendRequestEnabled); + updateSetting(requestDto.recordFont(), userSetting::updateRecordFont); + userSettingRepository.save(userSetting); + } + + // value가 null이 아닐 경우 updateFunction을 실행 + private void updateSetting(T value, Consumer updateFunction) { + Optional.ofNullable(value).ifPresent(updateFunction); } -} +} \ No newline at end of file From 6bc1e2341853f44dfda840ae2e442afc48e04001 Mon Sep 17 00:00:00 2001 From: seohyun-lee Date: Tue, 5 Nov 2024 22:22:27 +0900 Subject: [PATCH 2/2] =?UTF-8?q?feat:=20mmc-bookduck-ocr.json=20gitignore?= =?UTF-8?q?=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 2 ++ bookduck/build.gradle | 6 +++--- 2 files changed, 5 insertions(+), 3 deletions(-) create mode 100644 .gitignore diff --git a/.gitignore b/.gitignore new file mode 100644 index 00000000..5f0ec221 --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ + +bookduck/src/main/resources/mmc-bookduck-ocr.json diff --git a/bookduck/build.gradle b/bookduck/build.gradle index 2d8caef9..cddffd4f 100644 --- a/bookduck/build.gradle +++ b/bookduck/build.gradle @@ -49,11 +49,11 @@ dependencies { implementation 'org.springframework.boot:spring-boot-starter-cache' // OCR 관련 - implementation 'com.google.cloud:google-cloud-bigquery' + implementation 'com.google.cloud:google-cloud-bigquery:2.22.0' implementation 'com.google.cloud:google-cloud-vision:3.3.0' // gcp storage 의존성 - implementation 'org.springframework.cloud:spring-cloud-gcp-starter:1.2.8.RELEASE' - implementation 'org.springframework.cloud:spring-cloud-gcp-storage:1.2.8.RELEASE' + implementation 'com.google.cloud:google-cloud-storage:2.9.0' + implementation 'com.google.api-client:google-api-client:1.31.1' //JSON 처리 implementation 'com.fasterxml.jackson.core:jackson-databind'