diff --git a/src/main/kotlin/kr/co/vividnext/sodalive/admin/member/AdminMemberController.kt b/src/main/kotlin/kr/co/vividnext/sodalive/admin/member/AdminMemberController.kt index d3de5c0..ad6d0d1 100644 --- a/src/main/kotlin/kr/co/vividnext/sodalive/admin/member/AdminMemberController.kt +++ b/src/main/kotlin/kr/co/vividnext/sodalive/admin/member/AdminMemberController.kt @@ -20,4 +20,13 @@ class AdminMemberController(private val service: AdminMemberService) { @RequestParam(value = "search_word") searchWord: String, pageable: Pageable ) = ApiResponse.ok(service.searchMember(searchWord, pageable)) + + @GetMapping("/creator/list") + fun getCreatorList(pageable: Pageable) = ApiResponse.ok(service.getCreatorList(pageable)) + + @GetMapping("/creator/search") + fun searchCreator( + @RequestParam(value = "search_word") searchWord: String, + pageable: Pageable + ) = ApiResponse.ok(service.searchCreator(searchWord, pageable)) } diff --git a/src/main/kotlin/kr/co/vividnext/sodalive/admin/member/AdminMemberRepository.kt b/src/main/kotlin/kr/co/vividnext/sodalive/admin/member/AdminMemberRepository.kt index 9d20fe9..3dd53b0 100644 --- a/src/main/kotlin/kr/co/vividnext/sodalive/admin/member/AdminMemberRepository.kt +++ b/src/main/kotlin/kr/co/vividnext/sodalive/admin/member/AdminMemberRepository.kt @@ -41,7 +41,7 @@ class AdminMemberQueryRepositoryImpl(private val queryFactory: JPAQueryFactory) .select(member.id) .from(member) .where( - member.id.gt(1) + member.role.ne(MemberRole.ADMIN) .and( if (role != null) { member.role.eq(role) diff --git a/src/main/kotlin/kr/co/vividnext/sodalive/admin/member/AdminMemberService.kt b/src/main/kotlin/kr/co/vividnext/sodalive/admin/member/AdminMemberService.kt index 49f1d46..15256d1 100644 --- a/src/main/kotlin/kr/co/vividnext/sodalive/admin/member/AdminMemberService.kt +++ b/src/main/kotlin/kr/co/vividnext/sodalive/admin/member/AdminMemberService.kt @@ -42,6 +42,34 @@ class AdminMemberService( return GetAdminMemberListResponse(totalCount, memberList) } + fun getCreatorList(pageable: Pageable): GetAdminMemberListResponse { + val totalCount = repository.getMemberTotalCount(role = MemberRole.CREATOR) + val creatorList = processMemberListToGetAdminMemberListResponseItemList( + memberList = repository.getMemberList( + offset = pageable.offset, + limit = pageable.pageSize.toLong(), + role = MemberRole.CREATOR + ) + ) + + return GetAdminMemberListResponse(totalCount, creatorList) + } + + fun searchCreator(searchWord: String, pageable: Pageable): GetAdminMemberListResponse { + if (searchWord.length < 2) throw SodaException("2글자 이상 입력하세요.") + val totalCount = repository.searchMemberTotalCount(searchWord = searchWord, role = MemberRole.CREATOR) + val creatorList = processMemberListToGetAdminMemberListResponseItemList( + memberList = repository.searchMember( + searchWord = searchWord, + offset = pageable.offset, + limit = pageable.pageSize.toLong(), + role = MemberRole.CREATOR + ) + ) + + return GetAdminMemberListResponse(totalCount, creatorList) + } + private fun processMemberListToGetAdminMemberListResponseItemList( memberList: List ): List { @@ -51,7 +79,7 @@ class AdminMemberService( val userType = when (it.role) { MemberRole.ADMIN -> "관리자" MemberRole.USER -> "일반회원" - MemberRole.CREATOR -> "요즘친구" + MemberRole.CREATOR -> "크리에이터" MemberRole.AGENT -> "에이전트" MemberRole.BOT -> "봇" } diff --git a/src/main/kotlin/kr/co/vividnext/sodalive/live/room/LiveRoomService.kt b/src/main/kotlin/kr/co/vividnext/sodalive/live/room/LiveRoomService.kt index f060fe9..3244c86 100644 --- a/src/main/kotlin/kr/co/vividnext/sodalive/live/room/LiveRoomService.kt +++ b/src/main/kotlin/kr/co/vividnext/sodalive/live/room/LiveRoomService.kt @@ -792,7 +792,7 @@ class LiveRoomService( val host = room.member ?: throw SodaException("잘못된 요청입니다.") if (host.role != MemberRole.CREATOR) { - throw SodaException("비비드넥스트와 계약한\n요즘친구에게만 후원을 하실 수 있습니다.") + throw SodaException("비비드넥스트와 계약한\n크리에이터에게만 후원을 하실 수 있습니다.") } canPaymentService.spendCan(