From 3d09d66e1381e0b744415499758e2a59eb311b2b Mon Sep 17 00:00:00 2001 From: hyunkyu Date: Mon, 25 Sep 2023 21:32:02 +0900 Subject: [PATCH] fix user image upload --- .../java/com/gg/server/domain/user/data/UserRepository.java | 5 +++++ .../server/global/utils/aws/AsyncNewUserImageUploader.java | 3 ++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/gg/server/domain/user/data/UserRepository.java b/src/main/java/com/gg/server/domain/user/data/UserRepository.java index ffc3f96c1..06614d33c 100644 --- a/src/main/java/com/gg/server/domain/user/data/UserRepository.java +++ b/src/main/java/com/gg/server/domain/user/data/UserRepository.java @@ -5,6 +5,7 @@ import org.springframework.data.domain.Page; import org.springframework.data.domain.Pageable; import org.springframework.data.jpa.repository.JpaRepository; +import org.springframework.data.jpa.repository.Modifying; import org.springframework.data.jpa.repository.Query; import org.springframework.data.repository.query.Param; @@ -33,4 +34,8 @@ public interface UserRepository extends JpaRepository { List findEnemyByGameAndUser(@Param("gameId") Long gameId, @Param("userId") Long userId); List findUsersByIdIn(List userIds); + + @Modifying(clearAutomatically = true) + @Query("update User u set u.imageUri = :imageUri where u.id = :id") + void updateUserImage(Long id, String imageUri); } diff --git a/src/main/java/com/gg/server/global/utils/aws/AsyncNewUserImageUploader.java b/src/main/java/com/gg/server/global/utils/aws/AsyncNewUserImageUploader.java index 802e8ccc9..72ef157d6 100644 --- a/src/main/java/com/gg/server/global/utils/aws/AsyncNewUserImageUploader.java +++ b/src/main/java/com/gg/server/global/utils/aws/AsyncNewUserImageUploader.java @@ -37,6 +37,7 @@ public AsyncNewUserImageUploader(UserImageHandler userImageHandler, UserReposito } @Async("asyncExecutor") + @Transactional public void upload(String intraId, String imageUrl) { String s3ImageUrl = userImageHandler.uploadAndGetS3ImageUri(intraId, imageUrl); if (defaultImageUrl.equals(s3ImageUrl)) { @@ -46,7 +47,7 @@ public void upload(String intraId, String imageUrl) { UserImage userImage = new UserImage(user, (s3ImageUrl != null) ? s3ImageUrl : defaultImageUrl, LocalDateTime.now(), null, true); userImageRepository.save(userImage); - user.updateImageUri(userImage.getImageUri()); + userRepository.updateUserImage(user.getId(), userImage.getImageUri()); }); }