parent
b0c7819b5a
commit
ebd82ee2c7
|
@ -135,7 +135,7 @@ class MemberQueryRepositoryImpl(
|
||||||
.and(creatorFollowing.member.email.notIn("admin@sodalive.net"))
|
.and(creatorFollowing.member.email.notIn("admin@sodalive.net"))
|
||||||
.and(
|
.and(
|
||||||
creatorFollowing.member.id.notIn(
|
creatorFollowing.member.id.notIn(
|
||||||
blockMemberRepository.getBlockedMemberList(creatorId)
|
blockMemberRepository.getBlockedMemberIdList(creatorId)
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
.and(creatorFollowing.member.pushToken.isNotNull)
|
.and(creatorFollowing.member.pushToken.isNotNull)
|
||||||
|
@ -179,7 +179,7 @@ class MemberQueryRepositoryImpl(
|
||||||
.and(creatorFollowing.member.email.notIn("admin@sodalive.net"))
|
.and(creatorFollowing.member.email.notIn("admin@sodalive.net"))
|
||||||
.and(
|
.and(
|
||||||
creatorFollowing.member.id.notIn(
|
creatorFollowing.member.id.notIn(
|
||||||
blockMemberRepository.getBlockedMemberList(creatorId)
|
blockMemberRepository.getBlockedMemberIdList(creatorId)
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
.and(creatorFollowing.member.pushToken.isNotNull)
|
.and(creatorFollowing.member.pushToken.isNotNull)
|
||||||
|
@ -211,7 +211,7 @@ class MemberQueryRepositoryImpl(
|
||||||
.and(liveReservation.room.id.eq(roomId))
|
.and(liveReservation.room.id.eq(roomId))
|
||||||
.and(
|
.and(
|
||||||
liveReservation.member.id.notIn(
|
liveReservation.member.id.notIn(
|
||||||
blockMemberRepository.getBlockedMemberList(creatorId)
|
blockMemberRepository.getBlockedMemberIdList(creatorId)
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -248,7 +248,7 @@ class MemberQueryRepositoryImpl(
|
||||||
.and(creatorFollowing.member.notification.uploadContent.isTrue)
|
.and(creatorFollowing.member.notification.uploadContent.isTrue)
|
||||||
.and(
|
.and(
|
||||||
creatorFollowing.member.id.notIn(
|
creatorFollowing.member.id.notIn(
|
||||||
blockMemberRepository.getBlockedMemberList(creatorId)
|
blockMemberRepository.getBlockedMemberIdList(creatorId)
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
.and(creatorFollowing.member.pushToken.isNotNull)
|
.and(creatorFollowing.member.pushToken.isNotNull)
|
||||||
|
@ -361,7 +361,7 @@ class MemberQueryRepositoryImpl(
|
||||||
.and(creatorFollowing.member.email.notIn("admin@sodalive.net"))
|
.and(creatorFollowing.member.email.notIn("admin@sodalive.net"))
|
||||||
.and(
|
.and(
|
||||||
creatorFollowing.member.id.notIn(
|
creatorFollowing.member.id.notIn(
|
||||||
blockMemberRepository.getBlockedMemberList(creatorId)
|
blockMemberRepository.getBlockedMemberIdList(creatorId)
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
.and(creatorFollowing.member.pushToken.isNotNull)
|
.and(creatorFollowing.member.pushToken.isNotNull)
|
||||||
|
|
|
@ -358,7 +358,7 @@ class MemberService(
|
||||||
}
|
}
|
||||||
|
|
||||||
fun getBlockedMemberList(memberId: Long): List<Long> {
|
fun getBlockedMemberList(memberId: Long): List<Long> {
|
||||||
return blockMemberRepository.getBlockedMemberList(memberId = memberId)
|
return blockMemberRepository.getBlockedMemberIdList(memberId = memberId)
|
||||||
}
|
}
|
||||||
|
|
||||||
@Transactional
|
@Transactional
|
||||||
|
@ -369,10 +369,15 @@ class MemberService(
|
||||||
)
|
)
|
||||||
|
|
||||||
if (blockMember == null) {
|
if (blockMember == null) {
|
||||||
blockMember = BlockMember(
|
val blockedMember = repository.findByIdOrNull(id = request.blockMemberId)
|
||||||
blockedMemberId = request.blockMemberId,
|
?: throw SodaException("잘못된 요청입니다.")
|
||||||
memberId = memberId
|
|
||||||
)
|
val member = repository.findByIdOrNull(id = memberId)
|
||||||
|
?: throw SodaException("잘못된 요청입니다.")
|
||||||
|
|
||||||
|
blockMember = BlockMember()
|
||||||
|
blockMember.member = member
|
||||||
|
blockMember.blockedMember = blockedMember
|
||||||
|
|
||||||
blockMemberRepository.save(blockMember)
|
blockMemberRepository.save(blockMember)
|
||||||
} else {
|
} else {
|
||||||
|
|
|
@ -1,12 +1,21 @@
|
||||||
package kr.co.vividnext.sodalive.member.block
|
package kr.co.vividnext.sodalive.member.block
|
||||||
|
|
||||||
import kr.co.vividnext.sodalive.common.BaseEntity
|
import kr.co.vividnext.sodalive.common.BaseEntity
|
||||||
|
import kr.co.vividnext.sodalive.member.Member
|
||||||
import javax.persistence.Entity
|
import javax.persistence.Entity
|
||||||
|
import javax.persistence.FetchType
|
||||||
|
import javax.persistence.JoinColumn
|
||||||
|
import javax.persistence.ManyToOne
|
||||||
|
|
||||||
@Entity
|
@Entity
|
||||||
data class BlockMember(
|
data class BlockMember(
|
||||||
val blockedMemberId: Long,
|
|
||||||
val memberId: Long
|
|
||||||
) : BaseEntity() {
|
|
||||||
var isActive: Boolean = true
|
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 {
|
interface BlockMemberQueryRepository {
|
||||||
fun getBlockAccount(blockedMemberId: Long, memberId: Long): BlockMember?
|
fun getBlockAccount(blockedMemberId: Long, memberId: Long): BlockMember?
|
||||||
fun isBlocked(blockedMemberId: Long, memberId: Long): Boolean
|
fun isBlocked(blockedMemberId: Long, memberId: Long): Boolean
|
||||||
fun getBlockedMemberList(memberId: Long): List<Long>
|
fun getBlockedMemberIdList(memberId: Long): List<Long>
|
||||||
}
|
}
|
||||||
|
|
||||||
@Repository
|
@Repository
|
||||||
|
@ -20,8 +20,8 @@ class BlockMemberQueryRepositoryImpl(private val queryFactory: JPAQueryFactory)
|
||||||
return queryFactory
|
return queryFactory
|
||||||
.selectFrom(blockMember)
|
.selectFrom(blockMember)
|
||||||
.where(
|
.where(
|
||||||
blockMember.blockedMemberId.eq(blockedMemberId)
|
blockMember.blockedMember.id.eq(blockedMemberId)
|
||||||
.and(blockMember.memberId.eq(memberId))
|
.and(blockMember.member.id.eq(memberId))
|
||||||
)
|
)
|
||||||
.orderBy(blockMember.id.desc())
|
.orderBy(blockMember.id.desc())
|
||||||
.fetchFirst()
|
.fetchFirst()
|
||||||
|
@ -32,8 +32,8 @@ class BlockMemberQueryRepositoryImpl(private val queryFactory: JPAQueryFactory)
|
||||||
.select(blockMember.id)
|
.select(blockMember.id)
|
||||||
.from(blockMember)
|
.from(blockMember)
|
||||||
.where(
|
.where(
|
||||||
blockMember.memberId.eq(memberId)
|
blockMember.member.id.eq(memberId)
|
||||||
.and(blockMember.blockedMemberId.eq(blockedMemberId))
|
.and(blockMember.blockedMember.id.eq(blockedMemberId))
|
||||||
.and(blockMember.isActive.isTrue)
|
.and(blockMember.isActive.isTrue)
|
||||||
)
|
)
|
||||||
.fetchOne()
|
.fetchOne()
|
||||||
|
@ -41,12 +41,12 @@ class BlockMemberQueryRepositoryImpl(private val queryFactory: JPAQueryFactory)
|
||||||
return blockedAccount != null
|
return blockedAccount != null
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun getBlockedMemberList(memberId: Long): List<Long> {
|
override fun getBlockedMemberIdList(memberId: Long): List<Long> {
|
||||||
return queryFactory
|
return queryFactory
|
||||||
.select(blockMember.blockedMemberId)
|
.select(blockMember.blockedMember.id)
|
||||||
.from(blockMember)
|
.from(blockMember)
|
||||||
.where(
|
.where(
|
||||||
blockMember.memberId.eq(memberId)
|
blockMember.member.id.eq(memberId)
|
||||||
.and(blockMember.isActive.isTrue)
|
.and(blockMember.isActive.isTrue)
|
||||||
)
|
)
|
||||||
.fetch()
|
.fetch()
|
||||||
|
|
Loading…
Reference in New Issue