차단유저(BlockMember) 엔티티
- Member와의 관계설정
This commit is contained in:
@@ -1,12 +1,21 @@
|
||||
package kr.co.vividnext.sodalive.member.block
|
||||
|
||||
import kr.co.vividnext.sodalive.common.BaseEntity
|
||||
import kr.co.vividnext.sodalive.member.Member
|
||||
import javax.persistence.Entity
|
||||
import javax.persistence.FetchType
|
||||
import javax.persistence.JoinColumn
|
||||
import javax.persistence.ManyToOne
|
||||
|
||||
@Entity
|
||||
data class BlockMember(
|
||||
val blockedMemberId: Long,
|
||||
val memberId: Long
|
||||
) : BaseEntity() {
|
||||
var isActive: Boolean = true
|
||||
) : BaseEntity() {
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "blocked_member_id", nullable = false)
|
||||
var blockedMember: Member? = null
|
||||
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "member_id", nullable = false)
|
||||
var member: Member? = null
|
||||
}
|
||||
|
@@ -11,7 +11,7 @@ interface BlockMemberRepository : JpaRepository<BlockMember, Long>, BlockMemberQ
|
||||
interface BlockMemberQueryRepository {
|
||||
fun getBlockAccount(blockedMemberId: Long, memberId: Long): BlockMember?
|
||||
fun isBlocked(blockedMemberId: Long, memberId: Long): Boolean
|
||||
fun getBlockedMemberList(memberId: Long): List<Long>
|
||||
fun getBlockedMemberIdList(memberId: Long): List<Long>
|
||||
}
|
||||
|
||||
@Repository
|
||||
@@ -20,8 +20,8 @@ class BlockMemberQueryRepositoryImpl(private val queryFactory: JPAQueryFactory)
|
||||
return queryFactory
|
||||
.selectFrom(blockMember)
|
||||
.where(
|
||||
blockMember.blockedMemberId.eq(blockedMemberId)
|
||||
.and(blockMember.memberId.eq(memberId))
|
||||
blockMember.blockedMember.id.eq(blockedMemberId)
|
||||
.and(blockMember.member.id.eq(memberId))
|
||||
)
|
||||
.orderBy(blockMember.id.desc())
|
||||
.fetchFirst()
|
||||
@@ -32,8 +32,8 @@ class BlockMemberQueryRepositoryImpl(private val queryFactory: JPAQueryFactory)
|
||||
.select(blockMember.id)
|
||||
.from(blockMember)
|
||||
.where(
|
||||
blockMember.memberId.eq(memberId)
|
||||
.and(blockMember.blockedMemberId.eq(blockedMemberId))
|
||||
blockMember.member.id.eq(memberId)
|
||||
.and(blockMember.blockedMember.id.eq(blockedMemberId))
|
||||
.and(blockMember.isActive.isTrue)
|
||||
)
|
||||
.fetchOne()
|
||||
@@ -41,12 +41,12 @@ class BlockMemberQueryRepositoryImpl(private val queryFactory: JPAQueryFactory)
|
||||
return blockedAccount != null
|
||||
}
|
||||
|
||||
override fun getBlockedMemberList(memberId: Long): List<Long> {
|
||||
override fun getBlockedMemberIdList(memberId: Long): List<Long> {
|
||||
return queryFactory
|
||||
.select(blockMember.blockedMemberId)
|
||||
.select(blockMember.blockedMember.id)
|
||||
.from(blockMember)
|
||||
.where(
|
||||
blockMember.memberId.eq(memberId)
|
||||
blockMember.member.id.eq(memberId)
|
||||
.and(blockMember.isActive.isTrue)
|
||||
)
|
||||
.fetch()
|
||||
|
Reference in New Issue
Block a user