Skip to content

Commit

Permalink
feat: Add memberRegister in external-resource-transaction
Browse files Browse the repository at this point in the history
  • Loading branch information
hyeonic committed Oct 5, 2023
1 parent 7a89765 commit e4b58a0
Show file tree
Hide file tree
Showing 3 changed files with 25 additions and 11 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -14,11 +14,11 @@
@RestController
public class MemberController {

private final MemberService memberService;
private final MemberRegister memberRegister;

@PostMapping
public ResponseEntity<MemberResponse> register(@RequestBody MemberRegisterRequest request) {
Member savedMember = memberService.register(request.getCode());
Member savedMember = memberRegister.register(request.getCode());
MemberResponse response = new MemberResponse(savedMember);
return ResponseEntity.ok(response);
}
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
package io.github.hyeonic.externalresourcetransaction.member;

import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Component;

@RequiredArgsConstructor
@Component
public class MemberRegister {

private static final String CONGRATULATIONS_MESSAGE = "가입을 축하드립니다!";

private final MemberService memberService;
private final OAuthClient oAuthClient;
private final EmailSender emailSender;

public Member register(final String code) {
Member member = oAuthClient.getMember(code);
Member savedMember = memberService.save(member);
emailSender.send(savedMember.getEmail(), CONGRATULATIONS_MESSAGE);
return savedMember;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -11,22 +11,14 @@
public class MemberService {

private static final String NEWBIE = "뉴비";
private static final String CONGRATULATIONS_MESSAGE = "가입을 축하드립니다!";

private final MemberRepository memberRepository;
private final HonorRepository honorRepository;
private final OAuthClient oAuthClient;
private final EmailSender emailSender;

@Transactional
public Member register(final String code) {
Member member = oAuthClient.getMember(code);

public Member save(final Member member) {
Member savedMember = memberRepository.save(member);
honorRepository.save(new Honor(savedMember, NEWBIE));

emailSender.send(savedMember.getEmail(), CONGRATULATIONS_MESSAGE);

return savedMember;
}
}

0 comments on commit e4b58a0

Please sign in to comment.