관리자 - 크리에이터 리스트 API

This commit is contained in:
Klaus 2023-08-06 14:40:44 +09:00
parent 94551b05ff
commit 3d514e8ad4
4 changed files with 40 additions and 3 deletions

View File

@ -20,4 +20,13 @@ class AdminMemberController(private val service: AdminMemberService) {
@RequestParam(value = "search_word") searchWord: String, @RequestParam(value = "search_word") searchWord: String,
pageable: Pageable pageable: Pageable
) = ApiResponse.ok(service.searchMember(searchWord, 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))
} }

View File

@ -41,7 +41,7 @@ class AdminMemberQueryRepositoryImpl(private val queryFactory: JPAQueryFactory)
.select(member.id) .select(member.id)
.from(member) .from(member)
.where( .where(
member.id.gt(1) member.role.ne(MemberRole.ADMIN)
.and( .and(
if (role != null) { if (role != null) {
member.role.eq(role) member.role.eq(role)

View File

@ -42,6 +42,34 @@ class AdminMemberService(
return GetAdminMemberListResponse(totalCount, memberList) 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( private fun processMemberListToGetAdminMemberListResponseItemList(
memberList: List<Member> memberList: List<Member>
): List<GetAdminMemberListResponseItem> { ): List<GetAdminMemberListResponseItem> {
@ -51,7 +79,7 @@ class AdminMemberService(
val userType = when (it.role) { val userType = when (it.role) {
MemberRole.ADMIN -> "관리자" MemberRole.ADMIN -> "관리자"
MemberRole.USER -> "일반회원" MemberRole.USER -> "일반회원"
MemberRole.CREATOR -> "요즘친구" MemberRole.CREATOR -> "크리에이터"
MemberRole.AGENT -> "에이전트" MemberRole.AGENT -> "에이전트"
MemberRole.BOT -> "" MemberRole.BOT -> ""
} }

View File

@ -792,7 +792,7 @@ class LiveRoomService(
val host = room.member ?: throw SodaException("잘못된 요청입니다.") val host = room.member ?: throw SodaException("잘못된 요청입니다.")
if (host.role != MemberRole.CREATOR) { if (host.role != MemberRole.CREATOR) {
throw SodaException("비비드넥스트와 계약한\n요즘친구에게만 후원을 하실 수 있습니다.") throw SodaException("비비드넥스트와 계약한\n크리에이터에게만 후원을 하실 수 있습니다.")
} }
canPaymentService.spendCan( canPaymentService.spendCan(