From 4511733d630a8714368ee99027bc19f570a063dd Mon Sep 17 00:00:00 2001 From: hosung-222 Date: Sun, 9 Feb 2025 17:19:06 +0900 Subject: [PATCH] =?UTF-8?q?:recycle:=20Refactor:=20=ED=9A=8C=EC=9B=90?= =?UTF-8?q?=EA=B0=80=EC=9E=85=20=EB=AF=B8=EC=99=84=EB=A3=8C=EC=8B=9C=20?= =?UTF-8?q?=EC=82=AD=EC=A0=9C=20=EC=B2=98=EB=A6=AC=20=EB=A1=9C=EC=A7=81=20?= =?UTF-8?q?=EA=B5=AC=ED=98=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 회원가입 미완료시(1시간) 삭제처리 - 관련 : #434 --- .../external/api/user/scheduler/MemberScheduler.java | 12 +++++++++++- .../api/user/service/MemberManageService.java | 6 +++++- .../spring/db/mysql/domains/user/entity/Member.java | 1 - 3 files changed, 16 insertions(+), 3 deletions(-) diff --git a/application/external-api-v2/src/main/java/com/namo/spring/application/external/api/user/scheduler/MemberScheduler.java b/application/external-api-v2/src/main/java/com/namo/spring/application/external/api/user/scheduler/MemberScheduler.java index 75e70c9d0..ffa17c593 100644 --- a/application/external-api-v2/src/main/java/com/namo/spring/application/external/api/user/scheduler/MemberScheduler.java +++ b/application/external-api-v2/src/main/java/com/namo/spring/application/external/api/user/scheduler/MemberScheduler.java @@ -25,7 +25,7 @@ public class MemberScheduler { @Scheduled(cron = "0 0 0 * * *") @Transactional public void removeInactiveUsersFromDB() { - List inactiveMembers = memberManageService.getInactiveMember(); + List inactiveMembers = memberManageService.getInactiveMembers(); for (Member member : inactiveMembers) { log.debug("[Delete] user name : " + member.getName()); // TODO : 관련 삭제 @@ -33,4 +33,14 @@ public void removeInactiveUsersFromDB() { } } + @Scheduled(cron = "0 0 * * * *") + @Transactional + public void removePendingUsersFromDB() { + List pendingMembers = memberManageService.getPendingMembers(); + for (Member member : pendingMembers) { + log.debug("[Delete PENDING] user name: {}", member.getName()); + memberManageService.removeMember(member); + } + } + } diff --git a/application/external-api-v2/src/main/java/com/namo/spring/application/external/api/user/service/MemberManageService.java b/application/external-api-v2/src/main/java/com/namo/spring/application/external/api/user/service/MemberManageService.java index 6459c300f..98243ca14 100644 --- a/application/external-api-v2/src/main/java/com/namo/spring/application/external/api/user/service/MemberManageService.java +++ b/application/external-api-v2/src/main/java/com/namo/spring/application/external/api/user/service/MemberManageService.java @@ -67,10 +67,14 @@ public Optional getMemberByEmailAndSocialType(String email, SocialType s return memberRepository.findMemberByEmailAndSocialType(email, socialType); } - public List getInactiveMember() { + public List getInactiveMembers() { return memberRepository.findMembersByStatusAndDate(MemberStatus.INACTIVE, LocalDateTime.now().minusDays(3)); } + public List getPendingMembers() { + return memberRepository.findMembersByStatusAndDate(MemberStatus.PENDING, LocalDateTime.now().minusHours(1)); + } + public Member saveMember(Member member) { return memberRepository.save(member); } diff --git a/storage/db-mysql-v2/src/main/java/com/namo/spring/db/mysql/domains/user/entity/Member.java b/storage/db-mysql-v2/src/main/java/com/namo/spring/db/mysql/domains/user/entity/Member.java index 6d9c23131..dfa2b44dd 100644 --- a/storage/db-mysql-v2/src/main/java/com/namo/spring/db/mysql/domains/user/entity/Member.java +++ b/storage/db-mysql-v2/src/main/java/com/namo/spring/db/mysql/domains/user/entity/Member.java @@ -49,7 +49,6 @@ @Entity @NoArgsConstructor(access = AccessLevel.PROTECTED) @DynamicInsert -@SQLDelete(sql = "UPDATE member SET deleted_at = NOW(), status = 'INACVTIVE' WHERE id = ?") public class Member extends BaseTimeEntity implements User { @Id