From 5f376ff5839784ca726c782929348f4540f05355 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EC=9D=B4=EC=9D=98=EC=A0=9C?= Date: Sun, 27 Aug 2023 00:20:17 +0900 Subject: [PATCH 1/3] =?UTF-8?q?YEL-145=20[fix]=20soft=20deleted=20?= =?UTF-8?q?=EC=9C=A0=EC=A0=80=EC=9D=98=20yelloId=20=EC=A4=91=EB=B3=B5=20?= =?UTF-8?q?=EC=B2=B4=ED=81=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../authorization/service/AuthManagerImpl.java | 4 ++-- .../domain/authorization/service/AuthService.java | 4 ++-- .../domain/user/repository/UserJpaRepository.java | 4 ++++ .../domain/user/repository/UserRepository.java | 2 ++ .../domain/user/repository/UserRepositoryImpl.java | 5 +++++ .../yello/server/global/HealthCheckController.java | 5 +++++ .../server/domain/authorization/FakeAuthManager.java | 4 ++-- .../yello/server/domain/user/FakeUserRepository.java | 12 ++++++++++-- 8 files changed, 32 insertions(+), 8 deletions(-) diff --git a/src/main/java/com/yello/server/domain/authorization/service/AuthManagerImpl.java b/src/main/java/com/yello/server/domain/authorization/service/AuthManagerImpl.java index d46e7bae..b161037d 100644 --- a/src/main/java/com/yello/server/domain/authorization/service/AuthManagerImpl.java +++ b/src/main/java/com/yello/server/domain/authorization/service/AuthManagerImpl.java @@ -71,7 +71,7 @@ public void validateSignupRequest(SignUpRequest signUpRequest) { throw new UserConflictException(UUID_CONFLICT_USER_EXCEPTION); }); - userRepository.findByYelloId(signUpRequest.yelloId()) + userRepository.findByYelloIdNotFiltered(signUpRequest.yelloId()) .ifPresent(action -> { throw new UserConflictException(YELLOID_CONFLICT_USER_EXCEPTION); }); @@ -81,7 +81,7 @@ public void validateSignupRequest(SignUpRequest signUpRequest) { public Boolean renewUserData(User user) { final Long userId = user.getId(); - if (user.getDeletedAt()!=null) { + if (user.getDeletedAt() != null) { user.renew(); friendRepository.findAllByUserIdNotFiltered(userId) diff --git a/src/main/java/com/yello/server/domain/authorization/service/AuthService.java b/src/main/java/com/yello/server/domain/authorization/service/AuthService.java index c3a689ff..972e0b28 100644 --- a/src/main/java/com/yello/server/domain/authorization/service/AuthService.java +++ b/src/main/java/com/yello/server/domain/authorization/service/AuthService.java @@ -80,7 +80,7 @@ public Boolean isYelloIdDuplicated(String yelloId) { throw new AuthBadRequestException(YELLOID_REQUIRED_EXCEPTION); } - return userRepository.findByYelloId(yelloId).isPresent(); + return userRepository.findByYelloIdNotFiltered(yelloId).isPresent(); } @Transactional @@ -103,7 +103,7 @@ public SignUpResponse signUp(SignUpRequest signUpRequest) { @Transactional public void recommendUser(String recommendYelloId, String userYelloId) { - if (recommendYelloId!=null && !recommendYelloId.isEmpty()) { + if (recommendYelloId != null && !recommendYelloId.isEmpty()) { User recommendedUser = userRepository.getByYelloId(recommendYelloId); User user = userRepository.getByYelloId(userYelloId); diff --git a/src/main/java/com/yello/server/domain/user/repository/UserJpaRepository.java b/src/main/java/com/yello/server/domain/user/repository/UserJpaRepository.java index f0cceea9..dcfd13a9 100644 --- a/src/main/java/com/yello/server/domain/user/repository/UserJpaRepository.java +++ b/src/main/java/com/yello/server/domain/user/repository/UserJpaRepository.java @@ -28,6 +28,10 @@ public interface UserJpaRepository extends JpaRepository { "and u.deletedAt is null") Optional findByYelloId(@Param("yelloId") String yelloId); + @Query("select u from User u " + + "where u.yelloId = :yelloId") + Optional findByYelloIdNotFiltered(@Param("yelloId") String yelloId); + @Query("select u from User u " + "where u.group.id = :groupId " + "and u.deletedAt is null") diff --git a/src/main/java/com/yello/server/domain/user/repository/UserRepository.java b/src/main/java/com/yello/server/domain/user/repository/UserRepository.java index 8196c4fe..1ba44451 100644 --- a/src/main/java/com/yello/server/domain/user/repository/UserRepository.java +++ b/src/main/java/com/yello/server/domain/user/repository/UserRepository.java @@ -20,6 +20,8 @@ public interface UserRepository { Optional findByYelloId(String yelloId); + Optional findByYelloIdNotFiltered(String yelloId); + User getByYelloId(String yelloId); Optional findByDeviceToken(String deviceToken); diff --git a/src/main/java/com/yello/server/domain/user/repository/UserRepositoryImpl.java b/src/main/java/com/yello/server/domain/user/repository/UserRepositoryImpl.java index f1cf794c..8303653c 100644 --- a/src/main/java/com/yello/server/domain/user/repository/UserRepositoryImpl.java +++ b/src/main/java/com/yello/server/domain/user/repository/UserRepositoryImpl.java @@ -57,6 +57,11 @@ public Optional findByYelloId(String yelloId) { return userJpaRepository.findByYelloId(yelloId); } + @Override + public Optional findByYelloIdNotFiltered(String yelloId) { + return userJpaRepository.findByYelloIdNotFiltered(yelloId); + } + @Override public User getByYelloId(String yelloId) { return userJpaRepository.findByYelloId(yelloId) diff --git a/src/main/java/com/yello/server/global/HealthCheckController.java b/src/main/java/com/yello/server/global/HealthCheckController.java index a3cf6aa3..34431b25 100644 --- a/src/main/java/com/yello/server/global/HealthCheckController.java +++ b/src/main/java/com/yello/server/global/HealthCheckController.java @@ -12,4 +12,9 @@ public class HealthCheckController { public String healthCheck() { return "Yell:o world!"; } + + @GetMapping("/abc") + public void text() throws Exception { + throw new Exception("Abc"); + } } diff --git a/src/test/java/com/yello/server/domain/authorization/FakeAuthManager.java b/src/test/java/com/yello/server/domain/authorization/FakeAuthManager.java index 1c99dee5..c23cb568 100644 --- a/src/test/java/com/yello/server/domain/authorization/FakeAuthManager.java +++ b/src/test/java/com/yello/server/domain/authorization/FakeAuthManager.java @@ -76,7 +76,7 @@ public void validateSignupRequest(SignUpRequest signUpRequest) { throw new UserConflictException(UUID_CONFLICT_USER_EXCEPTION); }); - userRepository.findByYelloId(signUpRequest.yelloId()) + userRepository.findByYelloIdNotFiltered(signUpRequest.yelloId()) .ifPresent(action -> { throw new UserConflictException(YELLOID_CONFLICT_USER_EXCEPTION); }); @@ -86,7 +86,7 @@ public void validateSignupRequest(SignUpRequest signUpRequest) { public Boolean renewUserData(User user) { final Long userId = user.getId(); - if (user.getDeletedAt()!=null) { + if (user.getDeletedAt() != null) { user.renew(); friendRepository.findAllByUserIdNotFiltered(userId) diff --git a/src/test/java/com/yello/server/domain/user/FakeUserRepository.java b/src/test/java/com/yello/server/domain/user/FakeUserRepository.java index 79f349a2..7c130a7c 100644 --- a/src/test/java/com/yello/server/domain/user/FakeUserRepository.java +++ b/src/test/java/com/yello/server/domain/user/FakeUserRepository.java @@ -18,12 +18,12 @@ public class FakeUserRepository implements UserRepository { @Override public User save(User user) { - if (user.getId()!=null && user.getId() > id) { + if (user.getId() != null && user.getId() > id) { id = user.getId(); } User newUser = User.builder() - .id(user.getId()==null ? ++id : user.getId()) + .id(user.getId() == null ? ++id : user.getId()) .recommendCount(0L) .name(user.getName()) .yelloId(user.getYelloId()) @@ -82,6 +82,14 @@ public boolean existsByUuid(String uuid) { @Override public Optional findByYelloId(String yelloId) { + return data.stream() + .filter(user -> user.getDeletedAt() == null) + .filter(user -> user.getYelloId().equals(yelloId)) + .findFirst(); + } + + @Override + public Optional findByYelloIdNotFiltered(String yelloId) { return data.stream() .filter(user -> user.getYelloId().equals(yelloId)) .findFirst(); From 41df0a6ef07fb75176dbe7d1b58bdfed6d141b60 Mon Sep 17 00:00:00 2001 From: hyeonjeongs Date: Sun, 27 Aug 2023 01:54:39 +0900 Subject: [PATCH 2/3] =?UTF-8?q?YEL-144=20[fix]=20apple=20=EA=B2=B0?= =?UTF-8?q?=EC=A0=9C=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dto/apple/AppleOrderResponse.java | 3 +-- .../factory/SlackWebhookMessageFactory.java | 19 ++++++++++++------- 2 files changed, 13 insertions(+), 9 deletions(-) diff --git a/src/main/java/com/yello/server/domain/purchase/dto/apple/AppleOrderResponse.java b/src/main/java/com/yello/server/domain/purchase/dto/apple/AppleOrderResponse.java index 15502202..d1d884de 100644 --- a/src/main/java/com/yello/server/domain/purchase/dto/apple/AppleOrderResponse.java +++ b/src/main/java/com/yello/server/domain/purchase/dto/apple/AppleOrderResponse.java @@ -5,8 +5,7 @@ @Builder public record AppleOrderResponse( int appAppleId, - String environment, - String JWSTransaction + String environment ) { } diff --git a/src/main/java/com/yello/server/infrastructure/slack/factory/SlackWebhookMessageFactory.java b/src/main/java/com/yello/server/infrastructure/slack/factory/SlackWebhookMessageFactory.java index 9eb65dd5..6738b667 100644 --- a/src/main/java/com/yello/server/infrastructure/slack/factory/SlackWebhookMessageFactory.java +++ b/src/main/java/com/yello/server/infrastructure/slack/factory/SlackWebhookMessageFactory.java @@ -70,11 +70,10 @@ private List generateSlackPurchaseAttachment( HttpServletRequest request ) throws IOException { final SlackAttachment slackAttachment = new SlackAttachment() - .setColor("green") + .setColor("good") .setTitle(PURCHASE_TITLE) .setTitleLink(request.getContextPath()) .setText(PURCHASE_TITLE) - .setColor("green") .setFields(generateSlackFieldList(request)); return Collections.singletonList(slackAttachment); } @@ -82,23 +81,29 @@ private List generateSlackPurchaseAttachment( private List generateSlackFieldList( HttpServletRequest request ) throws IOException { - final String token = request.getHeader(HttpHeaders.AUTHORIZATION).substring("Bearer ".length()); + final String token = + request.getHeader(HttpHeaders.AUTHORIZATION).substring("Bearer ".length()); final Long userId = tokenProvider.getUserId(token); final Optional user = userRepository.findById(userId); final String yelloId = user.isPresent() ? user.get().getYelloId() : "null"; final String deviceToken = user.isPresent() ? user.get().getDeviceToken() : "null"; - String userInfo = String.format("userId : %d %nyelloId : %s %ndeviceToken : %s", userId, yelloId, deviceToken); + String userInfo = + String.format("userId : %d %nyelloId : %s %ndeviceToken : %s", userId, yelloId, + deviceToken); return Arrays.asList( new SlackField().setTitle("Request URL").setValue(request.getRequestURL().toString()), - new SlackField().setTitle("Request Time").setValue(TimeFactory.toDateFormattedString(LocalDateTime.now())), + new SlackField().setTitle("Request Time") + .setValue(TimeFactory.toDateFormattedString(LocalDateTime.now())), new SlackField().setTitle("Request IP").setValue(request.getRemoteAddr()), - new SlackField().setTitle("Request User-Agent").setValue(request.getHeader(HttpHeaders.USER_AGENT)), + new SlackField().setTitle("Request User-Agent") + .setValue(request.getHeader(HttpHeaders.USER_AGENT)), new SlackField().setTitle("인증/인가 정보 - Authorization") .setValue(request.getHeader(HttpHeaders.AUTHORIZATION)), new SlackField().setTitle("Request Body") - .setValue(StreamUtils.copyToString(request.getInputStream(), StandardCharsets.UTF_8)), + .setValue( + StreamUtils.copyToString(request.getInputStream(), StandardCharsets.UTF_8)), new SlackField().setTitle("인증/인가 정보 - 유저").setValue(userInfo) ); } From a777056b96c1bc36158decc311633d26f64d2fc7 Mon Sep 17 00:00:00 2001 From: Kwon Sehoon Date: Sun, 27 Aug 2023 22:56:46 +0900 Subject: [PATCH 3/3] =?UTF-8?q?YEL-139=20[test]=20=EA=B5=AC=EA=B8=80=20?= =?UTF-8?q?=EA=B2=B0=EC=A0=9C=20=EA=B4=80=EB=A0=A8=20=EB=AA=85=EC=84=B8?= =?UTF-8?q?=EC=84=9C=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/docs/asciidoc/google.adoc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/docs/asciidoc/google.adoc b/src/docs/asciidoc/google.adoc index 1d208f6c..8b2450e5 100644 --- a/src/docs/asciidoc/google.adoc +++ b/src/docs/asciidoc/google.adoc @@ -12,8 +12,8 @@ include::{snippets}/api/v1/purchase/verifyGoogleSubscriptionTransaction/http-res === 요청 -include::{snippets}/api/v1/friend/findAllRecommendSchoolFriends/http-request.adoc[] +include::{snippets}/api/v1/purchase/verifyGoogleTicketTransaction/http-request.adoc[] === 응답 -include::{snippets}/api/v1/purchase/verifyAppleTicketTransaction/http-response.adoc[] \ No newline at end of file +include::{snippets}/api/v1/purchase/verifyGoogleTicketTransaction/http-response.adoc[] \ No newline at end of file