Skip to content

Commit

Permalink
Merge pull request #396 from TEAM-LIAISON/local_dev
Browse files Browse the repository at this point in the history
feat : 내가 보낸 매칭, 성사된 매칭 삭제 기능 추가
  • Loading branch information
oznchex authored Aug 29, 2024
2 parents e740117 + f349db6 commit ba0941e
Show file tree
Hide file tree
Showing 15 changed files with 7,481 additions and 527 deletions.
13 changes: 11 additions & 2 deletions src/docs/asciidoc/docs.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -464,16 +464,25 @@ include::{snippets}/matching-controller-test/get-team-success-contact-response/p
include::{snippets}/matching-controller-test/get-team-success-contact-response/http-response.adoc[]
include::{snippets}/matching-controller-test/get-team-success-contact-response/response-fields.adoc[]

=== 10.19. 내 이력서 - 매칭 삭제 (matchingType : PROFILE) / 보낸 매칭, 성사된 매칭 모두 적용
=== 10.19. 내가 보낸 매칭 - 매칭 삭제 (matchingType: PROFILE)
==== 요청
include::{snippets}/matching-controller-test/delete-request-private-matching/http-request.adoc[]
include::{snippets}/matching-controller-test/delete-request-private-matching/path-parameters.adoc[]

==== 10.20. 팀 소개서 - 매칭 삭제 (matchingType : TEAM_PROFILE) / 보낸 매칭, 성사된 매칭 모두 적용
=== 10.20. 내가 보낸 매칭 - 매칭 삭제 (matchingType: TEAM_PROFILE)
==== 요청
include::{snippets}/matching-controller-test/delete-request-team-matching/http-request.adoc[]
include::{snippets}/matching-controller-test/delete-request-team-matching/path-parameters.adoc[]

=== 10.21. 성사된 매칭 - 매칭 삭제 (matchingType: PROFILE)
==== 요청
include::{snippets}/matching-controller-test/delete-success-private-matching/http-request.adoc[]
include::{snippets}/matching-controller-test/delete-success-private-matching/path-parameters.adoc[]

=== 10.22. 성사된 매칭 - 매칭 삭제 (matchingType: TEAM_PROFILE)
include::{snippets}/matching-controller-test/delete-request-team-matching/http-request.adoc[]
include::{snippets}/matching-controller-test/delete-request-team-matching/path-parameters.adoc[]

== 11. 찜하기
=== 11.1. 내 이력서 (미니 프로필 ID) 찜하기 생성
==== 요청
Expand Down
7,634 changes: 7,184 additions & 450 deletions src/docs/asciidoc/docs.html

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
Expand Up @@ -44,15 +44,19 @@ public class QPrivateMatching extends EntityPathBase<PrivateMatching> {

public final liaison.linkit.profile.domain.QProfile profile;

public final EnumPath<liaison.linkit.matching.domain.type.ReceiverDeleteStatusType> receiverDeleteStatusType = createEnum("receiverDeleteStatusType", liaison.linkit.matching.domain.type.ReceiverDeleteStatusType.class);

public final StringPath requestMessage = createString("requestMessage");

public final EnumPath<liaison.linkit.matching.domain.type.RequestSenderDeleteStatusType> requestSenderDeleteStatusType = createEnum("requestSenderDeleteStatusType", liaison.linkit.matching.domain.type.RequestSenderDeleteStatusType.class);

public final EnumPath<liaison.linkit.matching.domain.type.SenderType> senderType = createEnum("senderType", liaison.linkit.matching.domain.type.SenderType.class);

//inherited
public final EnumPath<liaison.linkit.global.type.StatusType> status = _super.status;

public final EnumPath<liaison.linkit.matching.domain.type.SuccessReceiverDeleteStatusType> successReceiverDeleteStatusType = createEnum("successReceiverDeleteStatusType", liaison.linkit.matching.domain.type.SuccessReceiverDeleteStatusType.class);

public final EnumPath<liaison.linkit.matching.domain.type.SuccessSenderDeleteStatusType> successSenderDeleteStatusType = createEnum("successSenderDeleteStatusType", liaison.linkit.matching.domain.type.SuccessSenderDeleteStatusType.class);

public QPrivateMatching(String variable) {
this(PrivateMatching.class, forVariable(variable), INITS);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -42,15 +42,19 @@ public class QTeamMatching extends EntityPathBase<TeamMatching> {
//inherited
public final DateTimePath<java.time.LocalDateTime> modifiedAt = _super.modifiedAt;

public final EnumPath<liaison.linkit.matching.domain.type.ReceiverDeleteStatusType> receiverDeleteStatusType = createEnum("receiverDeleteStatusType", liaison.linkit.matching.domain.type.ReceiverDeleteStatusType.class);

public final StringPath requestMessage = createString("requestMessage");

public final EnumPath<liaison.linkit.matching.domain.type.RequestSenderDeleteStatusType> requestSenderDeleteStatusType = createEnum("requestSenderDeleteStatusType", liaison.linkit.matching.domain.type.RequestSenderDeleteStatusType.class);

public final EnumPath<liaison.linkit.matching.domain.type.SenderType> senderType = createEnum("senderType", liaison.linkit.matching.domain.type.SenderType.class);

//inherited
public final EnumPath<liaison.linkit.global.type.StatusType> status = _super.status;

public final EnumPath<liaison.linkit.matching.domain.type.SuccessReceiverDeleteStatusType> successReceiverDeleteStatusType = createEnum("successReceiverDeleteStatusType", liaison.linkit.matching.domain.type.SuccessReceiverDeleteStatusType.class);

public final EnumPath<liaison.linkit.matching.domain.type.SuccessSenderDeleteStatusType> successSenderDeleteStatusType = createEnum("successSenderDeleteStatusType", liaison.linkit.matching.domain.type.SuccessSenderDeleteStatusType.class);

public final liaison.linkit.team.domain.announcement.QTeamMemberAnnouncement teamMemberAnnouncement;

public QTeamMatching(String variable) {
Expand Down
45 changes: 36 additions & 9 deletions src/main/java/liaison/linkit/matching/domain/PrivateMatching.java
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,7 @@

import jakarta.persistence.*;
import liaison.linkit.global.BaseEntity;
import liaison.linkit.matching.domain.type.MatchingStatusType;
import liaison.linkit.matching.domain.type.MatchingType;
import liaison.linkit.matching.domain.type.ReceiverDeleteStatusType;
import liaison.linkit.matching.domain.type.SenderType;
import liaison.linkit.matching.domain.type.*;
import liaison.linkit.member.domain.Member;
import liaison.linkit.profile.domain.Profile;
import lombok.AllArgsConstructor;
Expand Down Expand Up @@ -59,9 +56,20 @@ public class PrivateMatching extends BaseEntity {
@Enumerated(value = STRING)
private MatchingStatusType matchingStatusType;

@Column(name = "receiver_delete_status_type")
// 내가 보낸 매칭 삭제 관리 컬럼 (발신자)
@Column(name = "request_sender_delete_status_type")
@Enumerated(value = STRING)
private ReceiverDeleteStatusType receiverDeleteStatusType;
private RequestSenderDeleteStatusType requestSenderDeleteStatusType;

// 성사된 매칭 삭제 관리 컬럼 (발신자)
@Column(name = "success_sender_delete_status_type")
@Enumerated(value = STRING)
private SuccessSenderDeleteStatusType successSenderDeleteStatusType;

// 성사된 매칭 삭제 관리 컬럼 (수신자)
@Column(name = "success_receiver_delete_status_type")
@Enumerated(value = STRING)
private SuccessReceiverDeleteStatusType successReceiverDeleteStatusType;

// 이 매칭 요청을 보낸 사람이 열람을 했나요?
@Column(name = "is_sender_check", columnDefinition = "Boolean default false")
Expand All @@ -79,11 +87,30 @@ public void updateMatchingStatus(final boolean isAllow) {
}
}

public void updateReceiverDeleteStatusType(final boolean isDeleted) {
// 내가 보낸 매칭에서 발신자가 삭제한 경우
public void updateRequestSenderDeleteStatusType(final boolean isDeleted) {
if (isDeleted) {
this.requestSenderDeleteStatusType = RequestSenderDeleteStatusType.DELETED;
} else {
this.requestSenderDeleteStatusType = RequestSenderDeleteStatusType.REMAINED;
}
}

// 성사된 매칭에서 발신자가 삭제한 경우
public void updateSuccessSenderDeleteStatusType(final boolean isDeleted) {
if (isDeleted) {
this.successSenderDeleteStatusType = SuccessSenderDeleteStatusType.DELETED;
} else {
this.successSenderDeleteStatusType = SuccessSenderDeleteStatusType.REMAINED;
}
}

// 성사된 매칭에서 수신자가 삭제한 경우
public void updateSuccessReceiverDeleteStatusType(final boolean isDeleted) {
if (isDeleted) {
this.receiverDeleteStatusType = ReceiverDeleteStatusType.DELETED;
this.successReceiverDeleteStatusType = SuccessReceiverDeleteStatusType.DELETED;
} else {
this.receiverDeleteStatusType = ReceiverDeleteStatusType.REMAINED;
this.successReceiverDeleteStatusType = SuccessReceiverDeleteStatusType.REMAINED;
}
}
}
46 changes: 37 additions & 9 deletions src/main/java/liaison/linkit/matching/domain/TeamMatching.java
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,7 @@

import jakarta.persistence.*;
import liaison.linkit.global.BaseEntity;
import liaison.linkit.matching.domain.type.MatchingStatusType;
import liaison.linkit.matching.domain.type.MatchingType;
import liaison.linkit.matching.domain.type.ReceiverDeleteStatusType;
import liaison.linkit.matching.domain.type.SenderType;
import liaison.linkit.matching.domain.type.*;
import liaison.linkit.member.domain.Member;
import liaison.linkit.team.domain.announcement.TeamMemberAnnouncement;
import lombok.AllArgsConstructor;
Expand Down Expand Up @@ -58,9 +55,20 @@ public class TeamMatching extends BaseEntity {
@Enumerated(value = STRING)
private MatchingStatusType matchingStatusType;

@Column(name = "receiver_delete_status_type")
// 내가 보낸 매칭 삭제 관리 컬럼 (발신자)
@Column(name = "request_sender_delete_status_type")
@Enumerated(value = STRING)
private ReceiverDeleteStatusType receiverDeleteStatusType;
private RequestSenderDeleteStatusType requestSenderDeleteStatusType;

// 성사된 매칭 삭제 관리 컬럼 (발신자)
@Column(name = "success_sender_delete_status_type")
@Enumerated(value = STRING)
private SuccessSenderDeleteStatusType successSenderDeleteStatusType;

// 성사된 매칭 삭제 관리 컬럼 (수신자)
@Column(name = "success_receiver_delete_status_type")
@Enumerated(value = STRING)
private SuccessReceiverDeleteStatusType successReceiverDeleteStatusType;

// 이 매칭 요청을 보낸 사람이 열람을 했나요?
@Column(name = "is_sender_check", columnDefinition = "boolean default false")
Expand All @@ -78,11 +86,31 @@ public void updateMatchingStatus(final boolean isAllow) {
}
}

public void updateReceiverDeleteStatusType(final boolean isDeleted) {

// 내가 보낸 매칭에서 발신자가 삭제한 경우
public void updateRequestSenderDeleteStatusType(final boolean isDeleted) {
if (isDeleted) {
this.requestSenderDeleteStatusType = RequestSenderDeleteStatusType.DELETED;
} else {
this.requestSenderDeleteStatusType = RequestSenderDeleteStatusType.REMAINED;
}
}

// 성사된 매칭에서 발신자가 삭제한 경우
public void updateSuccessSenderDeleteStatusType(final boolean isDeleted) {
if (isDeleted) {
this.successSenderDeleteStatusType = SuccessSenderDeleteStatusType.DELETED;
} else {
this.successSenderDeleteStatusType = SuccessSenderDeleteStatusType.REMAINED;
}
}

// 성사된 매칭에서 수신자가 삭제한 경우
public void updateSuccessReceiverDeleteStatusType(final boolean isDeleted) {
if (isDeleted) {
this.receiverDeleteStatusType = ReceiverDeleteStatusType.DELETED;
this.successReceiverDeleteStatusType = SuccessReceiverDeleteStatusType.DELETED;
} else {
this.receiverDeleteStatusType = ReceiverDeleteStatusType.REMAINED;
this.successReceiverDeleteStatusType = SuccessReceiverDeleteStatusType.REMAINED;
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,9 @@
import liaison.linkit.matching.domain.PrivateMatching;
import liaison.linkit.matching.domain.QPrivateMatching;
import liaison.linkit.matching.domain.type.MatchingStatusType;
import liaison.linkit.matching.domain.type.ReceiverDeleteStatusType;
import liaison.linkit.matching.domain.type.RequestSenderDeleteStatusType;
import liaison.linkit.matching.domain.type.SuccessReceiverDeleteStatusType;
import liaison.linkit.matching.domain.type.SuccessSenderDeleteStatusType;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.transaction.annotation.Transactional;
Expand Down Expand Up @@ -37,7 +39,7 @@ public List<PrivateMatching> findByMemberIdAndMatchingStatus(final Long memberId
.selectFrom(privateMatching)
.where(privateMatching.member.id.eq(memberId)
.and(privateMatching.matchingStatusType.eq(MatchingStatusType.REQUESTED))
.and(privateMatching.receiverDeleteStatusType.eq(ReceiverDeleteStatusType.REMAINED)))
.and(privateMatching.requestSenderDeleteStatusType.eq(RequestSenderDeleteStatusType.REMAINED)))
.fetch();
}

Expand All @@ -48,7 +50,8 @@ public List<PrivateMatching> findSuccessReceivedMatching(final Long profileId) {
return jpaQueryFactory
.selectFrom(privateMatching)
.where(privateMatching.profile.id.eq(profileId)
.and(privateMatching.matchingStatusType.eq(MatchingStatusType.SUCCESSFUL)))
.and(privateMatching.matchingStatusType.eq(MatchingStatusType.SUCCESSFUL))
.and(privateMatching.successReceiverDeleteStatusType.eq(SuccessReceiverDeleteStatusType.REMAINED)))
.fetch();
}

Expand All @@ -59,10 +62,11 @@ public List<PrivateMatching> findSuccessRequestMatching(final Long memberId) {
return jpaQueryFactory
.selectFrom(privateMatching)
.where(privateMatching.member.id.eq(memberId)
.and(privateMatching.matchingStatusType.eq(MatchingStatusType.SUCCESSFUL)))
.and(privateMatching.matchingStatusType.eq(MatchingStatusType.SUCCESSFUL))
.and(privateMatching.successSenderDeleteStatusType.eq(SuccessSenderDeleteStatusType.REMAINED)))
.fetch();
}

@Override
public boolean existsByProfileId(final Long profileId) {
QPrivateMatching privateMatching = QPrivateMatching.privateMatching;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,9 @@
import liaison.linkit.matching.domain.QTeamMatching;
import liaison.linkit.matching.domain.TeamMatching;
import liaison.linkit.matching.domain.type.MatchingStatusType;
import liaison.linkit.matching.domain.type.ReceiverDeleteStatusType;
import liaison.linkit.matching.domain.type.RequestSenderDeleteStatusType;
import liaison.linkit.matching.domain.type.SuccessReceiverDeleteStatusType;
import liaison.linkit.matching.domain.type.SuccessSenderDeleteStatusType;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.transaction.annotation.Transactional;
Expand All @@ -25,8 +27,7 @@ public List<TeamMatching> findAllByTeamMemberAnnouncementIds(final List<Long> te
return jpaQueryFactory
.selectFrom(teamMatching)
.where(teamMatching.teamMemberAnnouncement.id.in(teamMemberAnnouncementIds)
.and(teamMatching.matchingStatusType.eq(MatchingStatusType.REQUESTED))
.and(teamMatching.receiverDeleteStatusType.eq(ReceiverDeleteStatusType.REMAINED)))
.and(teamMatching.matchingStatusType.eq(MatchingStatusType.REQUESTED)))
.fetch();
}

Expand All @@ -37,7 +38,8 @@ public List<TeamMatching> findByMemberIdAndMatchingStatus(final Long memberId) {
return jpaQueryFactory
.selectFrom(teamMatching)
.where(teamMatching.member.id.eq(memberId)
.and(teamMatching.matchingStatusType.eq(MatchingStatusType.REQUESTED)))
.and(teamMatching.matchingStatusType.eq(MatchingStatusType.REQUESTED))
.and(teamMatching.requestSenderDeleteStatusType.eq(RequestSenderDeleteStatusType.REMAINED)))
.fetch();
}

Expand All @@ -48,7 +50,8 @@ public List<TeamMatching> findSuccessReceivedMatching(final List<Long> teamMembe
return jpaQueryFactory
.selectFrom(teamMatching)
.where(teamMatching.matchingStatusType.eq(MatchingStatusType.SUCCESSFUL)
.and(teamMatching.teamMemberAnnouncement.id.in(teamMemberAnnouncementIds)))
.and(teamMatching.teamMemberAnnouncement.id.in(teamMemberAnnouncementIds))
.and(teamMatching.successReceiverDeleteStatusType.eq(SuccessReceiverDeleteStatusType.REMAINED)))
.fetch();
}

Expand All @@ -59,7 +62,8 @@ public List<TeamMatching> findSuccessRequestMatching(final Long memberId) {
return jpaQueryFactory
.selectFrom(teamMatching)
.where(teamMatching.matchingStatusType.eq(MatchingStatusType.SUCCESSFUL)
.and(teamMatching.member.id.eq(memberId)))
.and(teamMatching.member.id.eq(memberId))
.and(teamMatching.successSenderDeleteStatusType.eq(SuccessSenderDeleteStatusType.REMAINED)))
.fetch();
}

Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package liaison.linkit.matching.domain.type;

public enum ReceiverDeleteStatusType {
public enum RequestSenderDeleteStatusType {
DELETED,
REMAINED
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
package liaison.linkit.matching.domain.type;

public enum SuccessReceiverDeleteStatusType {
DELETED,
REMAINED
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
package liaison.linkit.matching.domain.type;

public enum SuccessSenderDeleteStatusType {
DELETED,
REMAINED

}
Loading

0 comments on commit ba0941e

Please sign in to comment.