From 3d514e8ad4fe96189397676e6f903e7e74328a0a Mon Sep 17 00:00:00 2001 From: Klaus Date: Sun, 6 Aug 2023 14:40:44 +0900 Subject: [PATCH] =?UTF-8?q?=EA=B4=80=EB=A6=AC=EC=9E=90=20-=20=ED=81=AC?= =?UTF-8?q?=EB=A6=AC=EC=97=90=EC=9D=B4=ED=84=B0=20=EB=A6=AC=EC=8A=A4?= =?UTF-8?q?=ED=8A=B8=20API?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../admin/member/AdminMemberController.kt | 9 ++++++ .../admin/member/AdminMemberRepository.kt | 2 +- .../admin/member/AdminMemberService.kt | 30 ++++++++++++++++++- .../sodalive/live/room/LiveRoomService.kt | 2 +- 4 files changed, 40 insertions(+), 3 deletions(-) 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(