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..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,13 +22,16 @@ 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 (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 @@ -36,11 +39,40 @@ 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.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, - @Param("cursor") Long cursor, Pageable pageable, @Param("loginUserId") Long userId); + @Param("cursor") Long cursor, + Pageable pageable, + @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