크리에이터 관리자 콘텐츠 리스트
- 불필요한 로직 제거
This commit is contained in:
		| @@ -20,13 +20,12 @@ import org.springframework.web.multipart.MultipartFile | ||||
| class CreatorAdminContentController(private val service: CreatorAdminContentService) { | ||||
|     @GetMapping("/list") | ||||
|     fun getAudioContentList( | ||||
|         @RequestParam("category-id", required = false) categoryId: Long? = 0, | ||||
|         @AuthenticationPrincipal(expression = "#this == 'anonymousUser' ? null : member") member: Member?, | ||||
|         pageable: Pageable | ||||
|         pageable: Pageable, | ||||
|         @AuthenticationPrincipal(expression = "#this == 'anonymousUser' ? null : member") member: Member? | ||||
|     ) = run { | ||||
|         if (member == null) throw SodaException("로그인 정보를 확인해주세요.") | ||||
|  | ||||
|         ApiResponse.ok(service.getAudioContentList(pageable, member, categoryId ?: 0)) | ||||
|         ApiResponse.ok(service.getAudioContentList(pageable, member)) | ||||
|     } | ||||
|  | ||||
|     @GetMapping("/search") | ||||
|   | ||||
| @@ -6,7 +6,6 @@ import com.querydsl.core.types.dsl.StringTemplate | ||||
| import com.querydsl.jpa.impl.JPAQueryFactory | ||||
| import kr.co.vividnext.sodalive.content.AudioContent | ||||
| import kr.co.vividnext.sodalive.content.QAudioContent.audioContent | ||||
| import kr.co.vividnext.sodalive.content.category.QCategoryContent.categoryContent | ||||
| import kr.co.vividnext.sodalive.content.hashtag.QAudioContentHashTag.audioContentHashTag | ||||
| import kr.co.vividnext.sodalive.content.hashtag.QHashTag.hashTag | ||||
| import kr.co.vividnext.sodalive.content.theme.QAudioContentTheme.audioContentTheme | ||||
| @@ -17,12 +16,11 @@ import java.time.LocalDateTime | ||||
| interface CreatorAdminContentRepository : JpaRepository<AudioContent, Long>, CreatorAdminAudioContentQueryRepository | ||||
|  | ||||
| interface CreatorAdminAudioContentQueryRepository { | ||||
|     fun getAudioContentTotalCount(memberId: Long, searchWord: String = "", categoryId: Long = 0): Int | ||||
|     fun getAudioContentTotalCount(memberId: Long, searchWord: String = ""): Int | ||||
|     fun getAudioContentList( | ||||
|         memberId: Long, | ||||
|         offset: Long, | ||||
|         limit: Long, | ||||
|         categoryId: Long = 0, | ||||
|         searchWord: String = "" | ||||
|     ): List<GetCreatorAdminContentListItem> | ||||
|  | ||||
| @@ -34,7 +32,7 @@ interface CreatorAdminAudioContentQueryRepository { | ||||
| class CreatorAdminAudioContentQueryRepositoryImpl( | ||||
|     private val queryFactory: JPAQueryFactory | ||||
| ) : CreatorAdminAudioContentQueryRepository { | ||||
|     override fun getAudioContentTotalCount(memberId: Long, searchWord: String, categoryId: Long): Int { | ||||
|     override fun getAudioContentTotalCount(memberId: Long, searchWord: String): Int { | ||||
|         var where = audioContent.duration.isNotNull | ||||
|             .and(audioContent.member.isNotNull) | ||||
|             .and(audioContent.isActive.isTrue.or(audioContent.releaseDate.isNotNull)) | ||||
| @@ -47,15 +45,9 @@ class CreatorAdminAudioContentQueryRepositoryImpl( | ||||
|             ) | ||||
|         } | ||||
|  | ||||
|         if (categoryId > 0) { | ||||
|             where = where.and(categoryContent.category.id.eq(categoryId)) | ||||
|         } | ||||
|  | ||||
|         return queryFactory | ||||
|             .select(audioContent.id) | ||||
|             .from(audioContent) | ||||
|             .leftJoin(categoryContent) | ||||
|             .on(audioContent.id.eq(categoryContent.content.id).and(categoryContent.isActive.ne(false))) | ||||
|             .where(where) | ||||
|             .fetch() | ||||
|             .size | ||||
| @@ -65,7 +57,6 @@ class CreatorAdminAudioContentQueryRepositoryImpl( | ||||
|         memberId: Long, | ||||
|         offset: Long, | ||||
|         limit: Long, | ||||
|         categoryId: Long, | ||||
|         searchWord: String | ||||
|     ): List<GetCreatorAdminContentListItem> { | ||||
|         var where = audioContent.duration.isNotNull | ||||
| @@ -73,10 +64,6 @@ class CreatorAdminAudioContentQueryRepositoryImpl( | ||||
|             .and(audioContent.isActive.isTrue.or(audioContent.releaseDate.isNotNull)) | ||||
|             .and(audioContent.member.id.eq(memberId)) | ||||
|  | ||||
|         if (categoryId > 0) { | ||||
|             where = where.and(categoryContent.category.id.eq(categoryId)) | ||||
|         } | ||||
|  | ||||
|         if (searchWord.trim().length > 1) { | ||||
|             where = where.and( | ||||
|                 audioContent.title.contains(searchWord) | ||||
| @@ -104,8 +91,6 @@ class CreatorAdminAudioContentQueryRepositoryImpl( | ||||
|             ) | ||||
|             .from(audioContent) | ||||
|             .innerJoin(audioContent.theme, audioContentTheme) | ||||
|             .leftJoin(categoryContent) | ||||
|             .on(audioContent.id.eq(categoryContent.content.id).and(categoryContent.isActive.ne(false))) | ||||
|             .where(where) | ||||
|             .offset(offset) | ||||
|             .limit(limit) | ||||
|   | ||||
| @@ -26,13 +26,12 @@ class CreatorAdminContentService( | ||||
|     @Value("\${cloud.aws.cloud-front.host}") | ||||
|     private val coverImageHost: String | ||||
| ) { | ||||
|     fun getAudioContentList(pageable: Pageable, member: Member, categoryId: Long): GetCreatorAdminContentListResponse { | ||||
|         val totalCount = repository.getAudioContentTotalCount(memberId = member.id!!, categoryId = categoryId) | ||||
|     fun getAudioContentList(pageable: Pageable, member: Member): GetCreatorAdminContentListResponse { | ||||
|         val totalCount = repository.getAudioContentTotalCount(memberId = member.id!!) | ||||
|         val audioContentAndThemeList = repository.getAudioContentList( | ||||
|             memberId = member.id!!, | ||||
|             offset = pageable.offset, | ||||
|             limit = pageable.pageSize.toLong(), | ||||
|             categoryId = categoryId | ||||
|             limit = pageable.pageSize.toLong() | ||||
|         ) | ||||
|  | ||||
|         val audioContentList = audioContentAndThemeList | ||||
|   | ||||
		Reference in New Issue
	
	Block a user