Skip to content

Commit 9b22d14

Browse files
committed
feat: 미수료시 모든 활동회원에서 제외되도록 변경
1 parent 7405b66 commit 9b22d14

File tree

1 file changed

+16
-5
lines changed

1 file changed

+16
-5
lines changed

src/main/java/org/cotato/homepage/domain/member/service/AdminMemberService.java

Lines changed: 16 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -193,6 +193,11 @@ public void bulkUpdateMemberStatus(List<Long> memberIds, MemberStatus status) {
193193
generationMemberRepository.save(generationMember);
194194
});
195195
}
196+
197+
// 미수료(NOT_RETIRED)로 변경 시 모든 활동 기수에서 제외
198+
if (status == MemberStatus.NOT_RETIRED) {
199+
generationMemberRepository.deleteAllByMemberIn(members);
200+
}
196201
}
197202

198203
@Transactional
@@ -281,6 +286,10 @@ public void updateActiveMemberInfo(Long generationMemberId, String name, Gender
281286
}
282287
if (status != null) {
283288
member.updateStatus(status);
289+
// 미수료(NOT_RETIRED)로 변경 시 모든 활동 기수에서 제외
290+
if (status == MemberStatus.NOT_RETIRED) {
291+
generationMemberRepository.deleteAllByMemberIn(List.of(member));
292+
}
284293
}
285294

286295
memberRepository.save(member);
@@ -309,11 +318,13 @@ public void removeActiveMember(Long generationMemberId) {
309318
// GenerationMember 삭제
310319
generationMemberRepository.delete(generationMember);
311320

312-
// 다른 기수에 활동 기록이 없으면 RETIRED로 변경
313-
boolean hasOtherGenerations = generationMemberRepository.existsByMemberAndIdNot(member, generationMemberId);
314-
if (!hasOtherGenerations) {
315-
member.updateStatus(MemberStatus.RETIRED);
316-
memberRepository.save(member);
321+
// 다른 기수에 활동 기록이 없으면 RETIRED로 변경 (미수료 상태는 유지)
322+
if (member.getStatus() != MemberStatus.NOT_RETIRED) {
323+
boolean hasOtherGenerations = generationMemberRepository.existsByMemberAndIdNot(member, generationMemberId);
324+
if (!hasOtherGenerations) {
325+
member.updateStatus(MemberStatus.RETIRED);
326+
memberRepository.save(member);
327+
}
317328
}
318329
}
319330
}

0 commit comments

Comments
 (0)