From d89d65fe942fb2311623f17ebff21911f328d4be Mon Sep 17 00:00:00 2001 From: ian Date: Wed, 20 Aug 2025 12:04:06 +0900 Subject: [PATCH 1/2] =?UTF-8?q?Refactor:=20=EA=B2=80=EC=83=89=20=EC=8B=9C?= =?UTF-8?q?=20nickname,=20nameId=EC=9C=BC=EB=A1=9C=20=EB=AA=A8=EB=91=90=20?= =?UTF-8?q?=EA=B2=80=EC=83=89=20=EA=B0=80=EB=8A=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../card/controller/SearchController.java | 4 ++-- .../domain/user/repository/UserRepository.java | 18 +++++++++++------- 2 files changed, 13 insertions(+), 9 deletions(-) diff --git a/src/main/java/EatPic/spring/domain/card/controller/SearchController.java b/src/main/java/EatPic/spring/domain/card/controller/SearchController.java index e967a64..b4930c4 100644 --- a/src/main/java/EatPic/spring/domain/card/controller/SearchController.java +++ b/src/main/java/EatPic/spring/domain/card/controller/SearchController.java @@ -32,7 +32,7 @@ public ApiResponse getAllUsersInSearch return ApiResponse.onSuccess(result); // 리턴 부분 제대로 작동하는지 확인하기! } - @Operation(summary = "검색 범위가 전체인 경우에서 계정 검색", description = "전체 - 계정 검색 api (nameId로 검색합니다.)") + @Operation(summary = "검색 범위가 전체인 경우에서 계정 검색", description = "전체 - 계정 검색 api (nickname, nameId으로 검색합니다.)") @GetMapping("/all/account") public ApiResponse searchAccountInAll( HttpServletRequest request, @@ -44,7 +44,7 @@ public ApiResponse searchAccountInA return ApiResponse.onSuccess(result); // 리턴 부분 제대로 작동하는지 확인하기! } - @Operation(summary = "검색범위가 유저가 팔로우한 사용자인 경우에서 계정 검색", description = "팔로우 - 계정 검색 api (nickname으로 검색)") + @Operation(summary = "검색범위가 유저가 팔로우한 사용자인 경우에서 계정 검색", description = "팔로우 - 계정 검색 api (nickname, nameId으로 검색합니다.)") @GetMapping("/user-follow/account") public ApiResponse searchAccountInFollow( HttpServletRequest request, diff --git a/src/main/java/EatPic/spring/domain/user/repository/UserRepository.java b/src/main/java/EatPic/spring/domain/user/repository/UserRepository.java index 3a2b195..28f167a 100644 --- a/src/main/java/EatPic/spring/domain/user/repository/UserRepository.java +++ b/src/main/java/EatPic/spring/domain/user/repository/UserRepository.java @@ -22,25 +22,29 @@ public interface UserRepository extends JpaRepository { User findUserById(Long id); @Query(""" - SELECT u FROM User u - WHERE (u.nameId LIKE %:query%) - AND (:cursor IS NULL OR u.id > :cursor) - ORDER BY u.id ASC - """) + SELECT u FROM User u + WHERE (u.nameId LIKE %:query% OR u.nickname LIKE %:query%) + AND (:cursor IS NULL OR u.id > :cursor) + ORDER BY u.id ASC +""") Slice searchAccountInAll(@Param("query") String query, @Param("cursor") Long cursor, Pageable pageable); + @Query(""" SELECT u FROM User u JOIN UserFollow uf ON u.id = uf.targetUser.id WHERE uf.user.id = :loginUserId AND (:cursor IS NULL OR u.id > :cursor) - AND u.nickname LIKE %:query% + AND (u.nameId LIKE %:query% OR u.nickname LIKE %:query%) ORDER BY u.id ASC """) Slice searchAccountInFollow(@Param("query") String query, - @Param("cursor") Long cursor, Pageable pageable, @Param("loginUserId") Long userId); + @Param("cursor") Long cursor, + Pageable pageable, + @Param("loginUserId") Long userId); + @Query(""" SELECT u From f32713e9b3db1e412f95f3e099371ae1edaa6021 Mon Sep 17 00:00:00 2001 From: ian Date: Wed, 20 Aug 2025 12:13:11 +0900 Subject: [PATCH 2/2] =?UTF-8?q?Refactor:=20=EC=BF=BC=EB=A6=AC=20=EC=88=98?= =?UTF-8?q?=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../user/repository/UserRepository.java | 38 ++++++++++++++++--- 1 file changed, 33 insertions(+), 5 deletions(-) diff --git a/src/main/java/EatPic/spring/domain/user/repository/UserRepository.java b/src/main/java/EatPic/spring/domain/user/repository/UserRepository.java index 28f167a..17481f3 100644 --- a/src/main/java/EatPic/spring/domain/user/repository/UserRepository.java +++ b/src/main/java/EatPic/spring/domain/user/repository/UserRepository.java @@ -22,14 +22,16 @@ public interface UserRepository extends JpaRepository { User findUserById(Long id); @Query(""" - SELECT u FROM User u - WHERE (u.nameId LIKE %:query% OR u.nickname LIKE %:query%) + SELECT u + FROM User u + WHERE (LOWER(u.nameId) LIKE LOWER(CONCAT(:query, '%')) + OR LOWER(u.nickname) LIKE LOWER(CONCAT(:query, '%'))) AND (:cursor IS NULL OR u.id > :cursor) ORDER BY u.id ASC """) Slice searchAccountInAll(@Param("query") String query, - @Param("cursor") Long cursor, Pageable pageable); - + @Param("cursor") Long cursor, + Pageable pageable); @Query(""" SELECT u @@ -37,7 +39,8 @@ Slice searchAccountInAll(@Param("query") String query, JOIN UserFollow uf ON u.id = uf.targetUser.id WHERE uf.user.id = :loginUserId AND (:cursor IS NULL OR u.id > :cursor) - AND (u.nameId LIKE %:query% OR u.nickname LIKE %:query%) + AND (LOWER(u.nameId) LIKE LOWER(CONCAT(:query, '%')) + OR LOWER(u.nickname) LIKE LOWER(CONCAT(:query, '%'))) ORDER BY u.id ASC """) Slice searchAccountInFollow(@Param("query") String query, @@ -46,6 +49,31 @@ Slice searchAccountInFollow(@Param("query") String query, @Param("loginUserId") Long userId); +// @Query(""" +// SELECT u FROM User u +// WHERE (u.nameId LIKE %:query% OR u.nickname LIKE %:query%) +// AND (:cursor IS NULL OR u.id > :cursor) +// ORDER BY u.id ASC +//""") +// Slice searchAccountInAll(@Param("query") String query, +// @Param("cursor") Long cursor, Pageable pageable); +// +// +// @Query(""" +// SELECT u +// FROM User u +// JOIN UserFollow uf ON u.id = uf.targetUser.id +// WHERE uf.user.id = :loginUserId +// AND (:cursor IS NULL OR u.id > :cursor) +// AND (u.nameId LIKE %:query% OR u.nickname LIKE %:query%) +// ORDER BY u.id ASC +//""") +// Slice searchAccountInFollow(@Param("query") String query, +// @Param("cursor") Long cursor, +// Pageable pageable, +// @Param("loginUserId") Long userId); + + @Query(""" SELECT u FROM User u