차단유저(BlockMember) 엔티티
- Member와의 관계설정
This commit is contained in:
		| @@ -135,7 +135,7 @@ class MemberQueryRepositoryImpl( | ||||
|             .and(creatorFollowing.member.email.notIn("admin@sodalive.net")) | ||||
|             .and( | ||||
|                 creatorFollowing.member.id.notIn( | ||||
|                     blockMemberRepository.getBlockedMemberList(creatorId) | ||||
|                     blockMemberRepository.getBlockedMemberIdList(creatorId) | ||||
|                 ) | ||||
|             ) | ||||
|             .and(creatorFollowing.member.pushToken.isNotNull) | ||||
| @@ -179,7 +179,7 @@ class MemberQueryRepositoryImpl( | ||||
|             .and(creatorFollowing.member.email.notIn("admin@sodalive.net")) | ||||
|             .and( | ||||
|                 creatorFollowing.member.id.notIn( | ||||
|                     blockMemberRepository.getBlockedMemberList(creatorId) | ||||
|                     blockMemberRepository.getBlockedMemberIdList(creatorId) | ||||
|                 ) | ||||
|             ) | ||||
|             .and(creatorFollowing.member.pushToken.isNotNull) | ||||
| @@ -211,7 +211,7 @@ class MemberQueryRepositoryImpl( | ||||
|             .and(liveReservation.room.id.eq(roomId)) | ||||
|             .and( | ||||
|                 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.id.notIn( | ||||
|                     blockMemberRepository.getBlockedMemberList(creatorId) | ||||
|                     blockMemberRepository.getBlockedMemberIdList(creatorId) | ||||
|                 ) | ||||
|             ) | ||||
|             .and(creatorFollowing.member.pushToken.isNotNull) | ||||
| @@ -361,7 +361,7 @@ class MemberQueryRepositoryImpl( | ||||
|             .and(creatorFollowing.member.email.notIn("admin@sodalive.net")) | ||||
|             .and( | ||||
|                 creatorFollowing.member.id.notIn( | ||||
|                     blockMemberRepository.getBlockedMemberList(creatorId) | ||||
|                     blockMemberRepository.getBlockedMemberIdList(creatorId) | ||||
|                 ) | ||||
|             ) | ||||
|             .and(creatorFollowing.member.pushToken.isNotNull) | ||||
|   | ||||
| @@ -358,7 +358,7 @@ class MemberService( | ||||
|     } | ||||
|  | ||||
|     fun getBlockedMemberList(memberId: Long): List<Long> { | ||||
|         return blockMemberRepository.getBlockedMemberList(memberId = memberId) | ||||
|         return blockMemberRepository.getBlockedMemberIdList(memberId = memberId) | ||||
|     } | ||||
|  | ||||
|     @Transactional | ||||
| @@ -369,10 +369,15 @@ class MemberService( | ||||
|         ) | ||||
|  | ||||
|         if (blockMember == null) { | ||||
|             blockMember = BlockMember( | ||||
|                 blockedMemberId = request.blockMemberId, | ||||
|                 memberId = memberId | ||||
|             ) | ||||
|             val blockedMember = repository.findByIdOrNull(id = request.blockMemberId) | ||||
|                 ?: throw SodaException("잘못된 요청입니다.") | ||||
|  | ||||
|             val member = repository.findByIdOrNull(id = memberId) | ||||
|                 ?: throw SodaException("잘못된 요청입니다.") | ||||
|  | ||||
|             blockMember = BlockMember() | ||||
|             blockMember.member = member | ||||
|             blockMember.blockedMember = blockedMember | ||||
|  | ||||
|             blockMemberRepository.save(blockMember) | ||||
|         } else { | ||||
|   | ||||
| @@ -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