-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMemberService.java
More file actions
79 lines (65 loc) Β· 2.38 KB
/
Copy pathMemberService.java
File metadata and controls
79 lines (65 loc) Β· 2.38 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
package com.sudo.raillo.member.application;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import com.sudo.raillo.auth.application.AuthService;
import com.sudo.raillo.booking.infrastructure.BookingRepository;
import com.sudo.raillo.global.exception.error.BusinessException;
import com.sudo.raillo.member.application.dto.response.MemberInfoResponse;
import com.sudo.raillo.member.domain.Member;
import com.sudo.raillo.member.domain.MemberDetail;
import com.sudo.raillo.member.exception.MemberError;
import com.sudo.raillo.member.infrastructure.MemberRepository;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
@Slf4j
@Service
@RequiredArgsConstructor
@Transactional
public class MemberService {
private final MemberRepository memberRepository;
private final BookingRepository bookingRepository;
private final AuthService authService;
/**
* νμ μμ
* */
public void memberDelete(String accessToken, String memberNo) {
Member currentMember = memberRepository.findByMemberNo(memberNo)
.orElseThrow(() -> new BusinessException(MemberError.USER_NOT_FOUND));
try {
memberRepository.delete(currentMember);
bookingRepository.deleteAllByMemberId(currentMember.getId());
} catch (Exception e) {
log.error("νμ μμ μ€ν¨ : {}", e.getMessage());
throw new BusinessException(MemberError.MEMBER_DELETE_FAIL);
}
// λ‘κ·Έμμ μν
authService.logout(accessToken, memberNo);
}
/**
* νμ μ‘°ν
*/
@Transactional(readOnly = true)
public Member getMemberByMemberNo(String memberNo) {
return memberRepository.findByMemberNo(memberNo)
.orElseThrow(() -> new BusinessException(MemberError.USER_NOT_FOUND));
}
/**
* νμ μ 보 μ‘°ν
* */
@Transactional(readOnly = true)
public MemberInfoResponse getMemberInfo(String memberNo) {
Member member = getMemberByMemberNo(memberNo);
MemberDetail memberDetail = member.getMemberDetail();
return MemberInfoResponse.of(member.getName(), member.getPhoneNumber(), memberDetail);
}
/**
* νμ μ΄λ©μΌ μ‘°ν
* */
@Transactional(readOnly = true)
public String getMemberEmail(String memberNo) {
Member member = memberRepository.findByMemberNo(memberNo)
.orElseThrow(() -> new BusinessException(MemberError.USER_NOT_FOUND));
MemberDetail memberDetail = member.getMemberDetail();
return memberDetail.getEmail();
}
}