Skip to content

Commit

Permalink
Merge pull request #8 from giwoong01/feature/refactor
Browse files Browse the repository at this point in the history
feat: 사용자 차단 도메인 구현
  • Loading branch information
giwoong01 authored May 4, 2024
2 parents 635b269 + 525c173 commit 208e48a
Show file tree
Hide file tree
Showing 4 changed files with 114 additions and 0 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
package com.example.copro.member.domain;

import static com.querydsl.core.types.PathMetadataFactory.*;

import com.querydsl.core.types.dsl.*;

import com.querydsl.core.types.PathMetadata;
import javax.annotation.processing.Generated;
import com.querydsl.core.types.Path;
import com.querydsl.core.types.dsl.PathInits;


/**
* QBlockedMemberMapping is a Querydsl query type for BlockedMemberMapping
*/
@Generated("com.querydsl.codegen.DefaultEntitySerializer")
public class QBlockedMemberMapping extends EntityPathBase<BlockedMemberMapping> {

private static final long serialVersionUID = 16622364L;

private static final PathInits INITS = PathInits.DIRECT2;

public static final QBlockedMemberMapping blockedMemberMapping = new QBlockedMemberMapping("blockedMemberMapping");

public final QMember blockedMember;

public final NumberPath<Long> id = createNumber("id", Long.class);

public final QMember member;

public QBlockedMemberMapping(String variable) {
this(BlockedMemberMapping.class, forVariable(variable), INITS);
}

public QBlockedMemberMapping(Path<? extends BlockedMemberMapping> path) {
this(path.getType(), path.getMetadata(), PathInits.getFor(path.getMetadata(), INITS));
}

public QBlockedMemberMapping(PathMetadata metadata) {
this(metadata, PathInits.getFor(metadata, INITS));
}

public QBlockedMemberMapping(PathMetadata metadata, PathInits inits) {
this(BlockedMemberMapping.class, metadata, inits);
}

public QBlockedMemberMapping(Class<? extends BlockedMemberMapping> type, PathMetadata metadata, PathInits inits) {
super(type, metadata, inits);
this.blockedMember = inits.isInitialized("blockedMember") ? new QMember(forProperty("blockedMember")) : null;
this.member = inits.isInitialized("member") ? new QMember(forProperty("member")) : null;
}

}

Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
package com.example.copro.member.domain;

import jakarta.persistence.Entity;
import jakarta.persistence.GeneratedValue;
import jakarta.persistence.GenerationType;
import jakarta.persistence.Id;
import jakarta.persistence.JoinColumn;
import jakarta.persistence.ManyToOne;
import lombok.AccessLevel;
import lombok.Getter;
import lombok.NoArgsConstructor;

@Entity
@Getter
@NoArgsConstructor(access = AccessLevel.PROTECTED)
public class BlockedMemberMapping {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;

@ManyToOne
@JoinColumn(name = "member_id")
private Member member;

@ManyToOne
@JoinColumn(name = "blocked_member_id")
private Member blockedMember;

public BlockedMemberMapping(Member member, Member blockedMember) {
this.member = member;
this.blockedMember = blockedMember;
}
}
20 changes: 20 additions & 0 deletions src/main/java/com/example/copro/member/domain/Member.java
Original file line number Diff line number Diff line change
Expand Up @@ -92,6 +92,9 @@ public class Member {
@OneToMany(mappedBy = "member", fetch = FetchType.LAZY, cascade = CascadeType.ALL, orphanRemoval = true)
private List<MemberLike> memberLikes = new ArrayList<>();

@OneToMany(mappedBy = "member", cascade = CascadeType.ALL, orphanRemoval = true)
private List<BlockedMemberMapping> blockedMemberMappings = new ArrayList<>();

@Builder
private Member(Role role, String email, String name, String picture, SocialType socialType, boolean firstLogin, int career, int viewType) {
this.role = role;
Expand Down Expand Up @@ -193,6 +196,23 @@ private MemberScrapBoard findScrapBoard(Board board) {
.orElse(null);
}

public void addBlockedMember(Member blockedMember) {
BlockedMemberMapping blockedMemberMapping = new BlockedMemberMapping(this, blockedMember);
this.blockedMemberMappings.add(blockedMemberMapping);
}

public void cancelBlockedMember(Member blockedMember) {
BlockedMemberMapping blockedMemberMapping = findBlockedMember(blockedMember);
this.blockedMemberMappings.remove(blockedMemberMapping);
}

private BlockedMemberMapping findBlockedMember(Member blockedMember) {
return blockedMemberMappings.stream()
.filter(blockedMemberMapping -> blockedMemberMapping.getBlockedMember().equals(blockedMember))
.findFirst()
.orElse(null);
}

public void updateImage(String picture) {
this.picture = picture;
}
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
package com.example.copro.member.domain.repository;

import com.example.copro.member.domain.BlockedMemberMapping;
import org.springframework.data.jpa.repository.JpaRepository;

public interface BlockedMemberMappingRepository extends JpaRepository<BlockedMemberMapping, Long> {
}

0 comments on commit 208e48a

Please sign in to comment.