커뮤니티 게시글 조회

- 응답값에 가격, 구매여부 추가
This commit is contained in:
2024-05-23 12:32:22 +09:00
parent d241b4fa7a
commit 87f22f45aa
7 changed files with 154 additions and 46 deletions

View File

@@ -3,6 +3,7 @@ package kr.co.vividnext.sodalive.can.use
import kr.co.vividnext.sodalive.common.BaseEntity
import kr.co.vividnext.sodalive.content.AudioContent
import kr.co.vividnext.sodalive.content.order.Order
import kr.co.vividnext.sodalive.explorer.profile.creatorCommunity.CreatorCommunity
import kr.co.vividnext.sodalive.live.room.LiveRoom
import kr.co.vividnext.sodalive.member.Member
import javax.persistence.CascadeType
@@ -42,10 +43,14 @@ data class UseCan(
@JoinColumn(name = "order_id", nullable = true)
var order: Order? = null
@OneToOne(fetch = FetchType.LAZY)
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "content_id", nullable = true)
var audioContent: AudioContent? = null
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "creator_community_id", nullable = true)
var communityPost: CreatorCommunity? = null
@OneToMany(mappedBy = "useCan", cascade = [CascadeType.ALL])
val useCanCalculates: MutableList<UseCanCalculate> = mutableListOf()
}

View File

@@ -1,7 +1,28 @@
package kr.co.vividnext.sodalive.can.use
import com.querydsl.jpa.impl.JPAQueryFactory
import kr.co.vividnext.sodalive.can.use.QUseCan.useCan
import org.springframework.data.jpa.repository.JpaRepository
import org.springframework.stereotype.Repository
@Repository
interface UseCanRepository : JpaRepository<UseCan, Long>
interface UseCanRepository : JpaRepository<UseCan, Long>, UseCanQueryRepository
interface UseCanQueryRepository {
fun isExistOrdered(postId: Long, memberId: Long): Boolean
}
class UseCanQueryRepositoryImpl(private val queryFactory: JPAQueryFactory) : UseCanQueryRepository {
override fun isExistOrdered(postId: Long, memberId: Long): Boolean {
val useCanId = queryFactory.select(useCan.id)
.from(useCan)
.where(
useCan.member.id.eq(memberId)
.and(useCan.isRefund.isFalse)
.and(useCan.communityPost.id.eq(postId))
)
.fetchFirst()
return useCanId != null && useCanId > 0
}
}