diff --git a/src/main/java/com/example/umc3_teamproject/repository/JpaMemberRepository.java b/src/main/java/com/example/umc3_teamproject/repository/JpaMemberRepository.java index 60dd353..f2d4b6c 100644 --- a/src/main/java/com/example/umc3_teamproject/repository/JpaMemberRepository.java +++ b/src/main/java/com/example/umc3_teamproject/repository/JpaMemberRepository.java @@ -8,13 +8,14 @@ public interface JpaMemberRepository extends JpaRepository { Optional findByEmail(String email); - boolean existsMemberByEmail(String email); List findByNickName(String nickName); - List findAll(); - + Optional findById(Long memberId); Member save(Member member); - int modifyMemberName(Long memberId, String nickName); + + + + } \ No newline at end of file diff --git a/src/main/java/com/example/umc3_teamproject/repository/MemberRepository.java b/src/main/java/com/example/umc3_teamproject/repository/MemberRepository.java index 5407549..19feaa3 100644 --- a/src/main/java/com/example/umc3_teamproject/repository/MemberRepository.java +++ b/src/main/java/com/example/umc3_teamproject/repository/MemberRepository.java @@ -3,10 +3,7 @@ import com.example.umc3_teamproject.domain.Member; import com.example.umc3_teamproject.dto.*; -import com.querydsl.jpa.impl.JPAQueryFactory; import lombok.RequiredArgsConstructor; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.jdbc.core.JdbcTemplate; import org.springframework.stereotype.Repository; import org.springframework.transaction.annotation.Transactional; @@ -14,8 +11,6 @@ import javax.persistence.EntityManager; import javax.persistence.NoResultException; import javax.persistence.TypedQuery; -import javax.sql.DataSource;; -import java.util.List; import java.util.Optional; //데이터베이스 관련 작업을 전담. @@ -40,20 +35,6 @@ public Long createMember(SignupReq signupReq) { } - // 이메일 확인 - public boolean checkEmail(String email) { - return jpaMemberRepository.existsMemberByEmail(email); - } - - // 회원정보 변경 - public int modifyUserName(UpdateNickNameReq updateNickNameReq) { - - return em.createQuery("update Member m set m.nickName = :nickName where m.id = :memberId") - .setParameter("nickName", updateNickNameReq.getNickName()) - .setParameter("memberId", updateNickNameReq.getMemberId()) - .executeUpdate(); - } - @Transactional(readOnly = true) // 로그인: 해당 email에 해당되는 user의 암호화된 비밀번호 값을 가져온다. public Member getPw(LoginReq loginReq) { @@ -63,27 +44,6 @@ public Member getPw(LoginReq loginReq) { } - // 해당 nickname을 갖는 유저들의 정보 조회 - @Transactional(readOnly = true) - public List getUsersByNickName(String name) { - return jpaMemberRepository.findByNickName(name); - } - - @Transactional(readOnly = true) - public List getUsers() { - List members = em.createQuery("SELECT m FROM Member m", Member.class).getResultList(); - return members; - } - - // 해당 userIdx를 갖는 유저조회 - public Member getUser(Long userIdx) { - String getUserQuery = "select m from Member m where m.id = :userIdx"; - TypedQuery query = em.createQuery(getUserQuery, Member.class); - query.setParameter("userIdx", userIdx); - - return query.getSingleResult(); - } - //USER table tuple 삭제 @Transactional @@ -131,7 +91,6 @@ public int getScriptsNum(Long userIdx) { public int modifyIntroduction(UpdateIntroReq updateIntroReq) { Member user = em.find(Member.class, updateIntroReq.getMemberId()); user.setIntroduction(updateIntroReq.getIntroduction()); - return 1; // 변경 성공 시 1 반환 } } diff --git a/src/main/java/com/example/umc3_teamproject/service/LoginService.java b/src/main/java/com/example/umc3_teamproject/service/LoginService.java index 5bf346e..ff9924e 100644 --- a/src/main/java/com/example/umc3_teamproject/service/LoginService.java +++ b/src/main/java/com/example/umc3_teamproject/service/LoginService.java @@ -7,7 +7,7 @@ import com.example.umc3_teamproject.domain.Tier; import com.example.umc3_teamproject.dto.LoginReq; import com.example.umc3_teamproject.dto.LoginRes; -import com.example.umc3_teamproject.dto.MemberRes; +import com.example.umc3_teamproject.repository.JpaMemberRepository; import com.example.umc3_teamproject.repository.MemberRepository; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -22,12 +22,14 @@ public class LoginService { private final MemberRepository memberRepository; private final JwtService jwtService; // JWT부분은 7주차에 다루므로 모르셔도 됩니다! + private final JpaMemberRepository jpaMemberRepository; // final Logger logger = (Logger) LoggerFactory.getLogger(this.getClass()); @Autowired //readme 참고 - public LoginService(MemberRepository memberRepository, JwtService jwtService) { + public LoginService(MemberRepository memberRepository, JwtService jwtService, JpaMemberRepository jpaMemberRepository) { this.memberRepository = memberRepository; this.jwtService = jwtService; // JWT부분은 7주차에 다루므로 모르셔도 됩니다! + this.jpaMemberRepository = jpaMemberRepository; } // ****************************************************************************** @@ -66,7 +68,7 @@ public LoginRes logIn(LoginReq loginReq) throws ResponseException { // 해당 이메일이 이미 User Table에 존재하는지 확인 public boolean checkEmail(String email) throws ResponseException { try { - return memberRepository.checkEmail(email); + return jpaMemberRepository.existsMemberByEmail(email); } catch (Exception exception) { throw new ResponseException(DATABASE_ERROR); } @@ -76,7 +78,7 @@ public boolean checkEmail(String email) throws ResponseException { // User들의 정보를 조회 public List getUsers() throws ResponseException { try { - List getUserRes = memberRepository.getUsers(); + List getUserRes = jpaMemberRepository.findAll(); return getUserRes; } catch (Exception exception) { throw new ResponseException(DATABASE_ERROR); @@ -86,7 +88,7 @@ public List getUsers() throws ResponseException { // 해당 nickname을 갖는 User들의 정보 조회 public List getUsersByNickname(String nickname) throws ResponseException { try { - List getUsersRes = memberRepository.getUsersByNickName(nickname); + List getUsersRes = jpaMemberRepository.findByNickName(nickname); return getUsersRes; } catch (Exception exception) { throw new ResponseException(DATABASE_ERROR); @@ -97,7 +99,7 @@ public List getUsersByNickname(String nickname) throws ResponseException // 해당 userIdx를 갖는 User의 정보 조회 public Member getUser(Long userIdx) throws ResponseException { try { - Member member = memberRepository.getUser(userIdx); + Member member = jpaMemberRepository.getById(userIdx); int scriptnum=memberRepository.getScriptsNum(member.getId()); diff --git a/src/main/java/com/example/umc3_teamproject/service/MemberService.java b/src/main/java/com/example/umc3_teamproject/service/MemberService.java index 4dc77de..2c7ea54 100644 --- a/src/main/java/com/example/umc3_teamproject/service/MemberService.java +++ b/src/main/java/com/example/umc3_teamproject/service/MemberService.java @@ -5,6 +5,7 @@ import com.example.umc3_teamproject.config.resTemplate.ResponseException; import com.example.umc3_teamproject.domain.Member; import com.example.umc3_teamproject.dto.*; +import com.example.umc3_teamproject.repository.JpaMemberRepository; import com.example.umc3_teamproject.repository.MemberRepository; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -19,17 +20,19 @@ public class MemberService { // *********************** 동작에 있어 필요한 요소들을 불러옵니다. ************************* private final MemberRepository memberRepository; + private final JpaMemberRepository jpaMemberRepository; + private final JwtService jwtService; private final LoginService loginService; @Autowired //readme 참고 - public MemberService(MemberRepository memberRepository, LoginService loginService, JwtService jwtService) { + public MemberService(MemberRepository memberRepository, LoginService loginService, JwtService jwtService, JpaMemberRepository jpaMemberRepository) { this.memberRepository = memberRepository; this.loginService = loginService; this.jwtService = jwtService; // JWT부분은 7주차에 다루므로 모르셔도 됩니다! - + this.jpaMemberRepository = jpaMemberRepository; } // ****************************************************************************** // 회원가입(POST) @@ -58,14 +61,14 @@ public SignupRes createUser(SignupReq signupReq) throws ResponseException { } public Member findById(Long userIdx) { - return memberRepository.getUser(userIdx); + return jpaMemberRepository.getById(userIdx); } // 회원정보 수정(Patch) public void modifyNickName(UpdateNickNameReq updateNickNameReq) throws ResponseException { try { - int result = memberRepository.modifyUserName(updateNickNameReq); // 해당 과정이 무사히 수행되면 True(1), 그렇지 않으면 False(0)입니다. + int result = jpaMemberRepository.modifyMemberName(updateNickNameReq.getMemberId(), updateNickNameReq.getNickName()); // 해당 과정이 무사히 수행되면 True(1), 그렇지 않으면 False(0)입니다. if (result == 0) { // result값이 0이면 과정이 실패한 것이므로 에러 메서지를 보냅니다. throw new ResponseException(MODIFY_FAIL_NICKNAME); } diff --git a/src/main/java/com/example/umc3_teamproject/service/SendEmailService.java b/src/main/java/com/example/umc3_teamproject/service/SendEmailService.java index 969358e..43af786 100644 --- a/src/main/java/com/example/umc3_teamproject/service/SendEmailService.java +++ b/src/main/java/com/example/umc3_teamproject/service/SendEmailService.java @@ -10,7 +10,6 @@ import org.springframework.mail.SimpleMailMessage; import org.springframework.mail.javamail.JavaMailSender; import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; import java.util.Optional;