diff --git a/src/main/java/liaison/linkit/common/exception/AuthErrorCode.java b/src/main/java/liaison/linkit/common/exception/AuthErrorCode.java index f5d3b412..c1b5ba8a 100644 --- a/src/main/java/liaison/linkit/common/exception/AuthErrorCode.java +++ b/src/main/java/liaison/linkit/common/exception/AuthErrorCode.java @@ -17,7 +17,7 @@ public enum AuthErrorCode implements BaseErrorCode { INVALID_TOKEN(UNAUTHORIZED, "AUTH_401_2", "유효하지 않은 AccessToken입니다. 재로그인 해주세요"), REFRESH_TOKEN_EXPIRED(FORBIDDEN, "AUTH_403_1", "RefreshToken 인증 시간이 만료되었습니다. 재로그인 해주세요."), ACCESS_TOKEN_NOT_EXIST(FORBIDDEN, "AUTH_403_2", "올바른 AccessToken을 넣어주세요."); - + private final Integer status; private final String code; private final String reason; diff --git a/src/main/java/liaison/linkit/global/config/CorsConfig.java b/src/main/java/liaison/linkit/global/config/CorsConfig.java index fc42c7fe..68da9e38 100644 --- a/src/main/java/liaison/linkit/global/config/CorsConfig.java +++ b/src/main/java/liaison/linkit/global/config/CorsConfig.java @@ -1,11 +1,8 @@ package liaison.linkit.global.config; -import liaison.linkit.matching.MatchingAccessInterceptor; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Configuration; import org.springframework.http.HttpHeaders; import org.springframework.web.servlet.config.annotation.CorsRegistry; -import org.springframework.web.servlet.config.annotation.InterceptorRegistry; import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; @Configuration @@ -26,12 +23,4 @@ public void addCorsMappings(final CorsRegistry registry) { .exposedHeaders(HttpHeaders.LOCATION); WebMvcConfigurer.super.addCorsMappings(registry); } - - @Autowired - private MatchingAccessInterceptor matchingAccessInterceptor; - - @Override - public void addInterceptors(final InterceptorRegistry registry) { - registry.addInterceptor(matchingAccessInterceptor).addPathPatterns("/matching/**"); - } } diff --git a/src/main/java/liaison/linkit/matching/CheckMatchingToPrivateProfileAccess.java b/src/main/java/liaison/linkit/matching/CheckMatchingToPrivateProfileAccess.java deleted file mode 100644 index 9067fb76..00000000 --- a/src/main/java/liaison/linkit/matching/CheckMatchingToPrivateProfileAccess.java +++ /dev/null @@ -1,14 +0,0 @@ -package liaison.linkit.matching; - -import java.lang.annotation.Retention; -import java.lang.annotation.Target; - -import static java.lang.annotation.ElementType.METHOD; -import static java.lang.annotation.RetentionPolicy.RUNTIME; - -// 내 이력서로 매칭 요청 -@Target(METHOD) -@Retention(RUNTIME) -public @interface CheckMatchingToPrivateProfileAccess { - boolean checkPrivateMatchingAccess() default false; -} diff --git a/src/main/java/liaison/linkit/matching/CheckMatchingToTeamProfileAccess.java b/src/main/java/liaison/linkit/matching/CheckMatchingToTeamProfileAccess.java deleted file mode 100644 index 6e81fa79..00000000 --- a/src/main/java/liaison/linkit/matching/CheckMatchingToTeamProfileAccess.java +++ /dev/null @@ -1,14 +0,0 @@ -package liaison.linkit.matching; - -import java.lang.annotation.Retention; -import java.lang.annotation.Target; - -import static java.lang.annotation.ElementType.METHOD; -import static java.lang.annotation.RetentionPolicy.RUNTIME; - -// 팀 소개서로 매칭 요청 -@Target(METHOD) -@Retention(RUNTIME) -public @interface CheckMatchingToTeamProfileAccess { - boolean checkTeam() default false; -} diff --git a/src/main/java/liaison/linkit/matching/MatchingAccessInterceptor.java b/src/main/java/liaison/linkit/matching/MatchingAccessInterceptor.java deleted file mode 100644 index 585c7ca4..00000000 --- a/src/main/java/liaison/linkit/matching/MatchingAccessInterceptor.java +++ /dev/null @@ -1,49 +0,0 @@ -package liaison.linkit.matching; - -import jakarta.servlet.http.HttpServletRequest; -import jakarta.servlet.http.HttpServletResponse; -import liaison.linkit.login.infrastructure.BearerAuthorizationExtractor; -import liaison.linkit.login.infrastructure.JwtProvider; -import liaison.linkit.member.domain.repository.member.MemberRepository; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.springframework.stereotype.Component; -import org.springframework.web.method.HandlerMethod; -import org.springframework.web.servlet.HandlerInterceptor; - -@RequiredArgsConstructor -@Component -@Slf4j -public class MatchingAccessInterceptor implements HandlerInterceptor { - - private final JwtProvider jwtProvider; - private final BearerAuthorizationExtractor extractor; - private final MemberRepository memberRepository; - - @Override - public boolean preHandle( - final HttpServletRequest request, - final HttpServletResponse response, - final Object handler - ) throws Exception { - if (handler instanceof HandlerMethod handlerMethod) { - - final CheckMatchingToPrivateProfileAccess checkMatchingToPrivateProfileAccess = - handlerMethod.getMethodAnnotation(CheckMatchingToPrivateProfileAccess.class); - - final CheckMatchingToTeamProfileAccess checkMatchingToTeamProfileAccess = - handlerMethod.getMethodAnnotation(CheckMatchingToTeamProfileAccess.class); - - log.info("checkMatchingToPrivateProfileAccess={}", checkMatchingToPrivateProfileAccess); - log.info("checkMatchingToTeamProfileAccess={}", checkMatchingToTeamProfileAccess); - } - return true; - } - - - // 회원 ID 조회 - private Long getMemberId(HttpServletRequest request) { - String accessToken = extractor.extractAccessToken(request.getHeader("Authorization")); - return Long.valueOf(jwtProvider.getSubject(accessToken)); - } -} diff --git a/src/main/java/liaison/linkit/matching/presentation/MatchingController.java b/src/main/java/liaison/linkit/matching/presentation/MatchingController.java index f8989e70..4daa24a9 100644 --- a/src/main/java/liaison/linkit/matching/presentation/MatchingController.java +++ b/src/main/java/liaison/linkit/matching/presentation/MatchingController.java @@ -1,12 +1,14 @@ package liaison.linkit.matching.presentation; +import static org.springframework.http.HttpStatus.CREATED; +import static org.springframework.http.HttpStatus.NO_CONTENT; + import jakarta.mail.MessagingException; import jakarta.validation.Valid; +import java.util.List; import liaison.linkit.auth.Auth; import liaison.linkit.auth.MemberOnly; import liaison.linkit.auth.domain.Accessor; -import liaison.linkit.matching.CheckMatchingToPrivateProfileAccess; -import liaison.linkit.matching.CheckMatchingToTeamProfileAccess; import liaison.linkit.matching.dto.request.AllowMatchingRequest; import liaison.linkit.matching.dto.request.MatchingCreateRequest; import liaison.linkit.matching.dto.response.ReceivedMatchingResponse; @@ -23,12 +25,13 @@ import lombok.extern.slf4j.Slf4j; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; -import org.springframework.web.bind.annotation.*; - -import java.util.List; - -import static org.springframework.http.HttpStatus.CREATED; -import static org.springframework.http.HttpStatus.NO_CONTENT; +import org.springframework.web.bind.annotation.DeleteMapping; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; @RestController @RequiredArgsConstructor @@ -46,7 +49,6 @@ public class MatchingController { // 이메일 발송 자동화 추가 필요 @PostMapping("/private/profile/matching/private/{profileId}") @MemberOnly - @CheckMatchingToPrivateProfileAccess public ResponseEntity createPrivateProfileMatchingToPrivate( @Auth final Accessor accessor, @PathVariable final Long profileId, @@ -61,7 +63,6 @@ public ResponseEntity createPrivateProfileMatchingToPrivate( // 이메일 발송 자동화 추가 필요 @PostMapping("/team/profile/matching/private/{profileId}") @MemberOnly - @CheckMatchingToPrivateProfileAccess public ResponseEntity createTeamProfileMatchingToPrivate( @Auth final Accessor accessor, @PathVariable final Long profileId, @@ -75,7 +76,6 @@ public ResponseEntity createTeamProfileMatchingToPrivate( // 이메일 발송 자동화 추가 필요 @PostMapping("/team/profile/matching/team/{teamMemberAnnouncementId}") @MemberOnly - @CheckMatchingToTeamProfileAccess public ResponseEntity createTeamProfileMatchingToTeam( @Auth final Accessor accessor, @PathVariable final Long teamMemberAnnouncementId, @@ -89,7 +89,6 @@ public ResponseEntity createTeamProfileMatchingToTeam( // 이메일 발송 자동화 추가 필요 @PostMapping("/private/profile/matching/team/{teamMemberAnnouncementId}") @MemberOnly - @CheckMatchingToTeamProfileAccess public ResponseEntity createPrivateProfileMatchingToTeam( @Auth final Accessor accessor, @PathVariable final Long teamMemberAnnouncementId, @@ -273,7 +272,6 @@ public ResponseEntity getTeamSuccessContactResponse( return ResponseEntity.status(HttpStatus.OK).body(successContactResponse); } - // 내가 보낸 매칭을 삭제한다. -> 발신자의 입장에서 삭제 // 성사된 매칭을 삭제한다 -> 발신자 또는 수신자의 입장에서 삭제 diff --git a/src/main/java/liaison/linkit/member/business/MemberBasicInformMapper.java b/src/main/java/liaison/linkit/member/business/MemberBasicInformMapper.java new file mode 100644 index 00000000..ab61c8bc --- /dev/null +++ b/src/main/java/liaison/linkit/member/business/MemberBasicInformMapper.java @@ -0,0 +1,47 @@ +package liaison.linkit.member.business; + +import liaison.linkit.common.annotation.Mapper; +import liaison.linkit.member.domain.Member; +import liaison.linkit.member.domain.MemberBasicInform; +import liaison.linkit.member.presentation.dto.request.memberBasicInform.MemberBasicInformRequestDTO.memberBasicInformRequest; +import liaison.linkit.member.presentation.dto.response.MemberBasicInformResponseDTO; +import liaison.linkit.member.presentation.dto.response.MemberBasicInformResponseDTO.RequestMemberBasicInform; + +@Mapper +public class MemberBasicInformMapper { + + // request -> 회원 기본 정보 객체로 전환 + public MemberBasicInform toMemberBasicInform(final Member member, final memberBasicInformRequest request) { + return MemberBasicInform.builder() + .member(member) + .memberName(request.getMemberName()) + .contact(request.getContact()) + .serviceUseAgree(true) + .privateInformAgree(true) + .ageCheck(true) + .marketingAgree(request.isMarketingAgree()) + .build(); + } + + public RequestMemberBasicInform toRequestMemberBasicInform(final MemberBasicInform memberBasicInform) { + return RequestMemberBasicInform.builder() + .memberName(memberBasicInform.getMemberName()) + .contact(memberBasicInform.getContact()) + .marketingAgree(memberBasicInform.isMarketingAgree()) + .build(); + } + + + public MemberBasicInformResponseDTO.MemberBasicInformDetail toMemberBasicInformDetail( + final MemberBasicInform memberBasicInform, + final String email + ) { + return MemberBasicInformResponseDTO.MemberBasicInformDetail.builder() + .memberBasicInformId(memberBasicInform.getId()) + .memberName(memberBasicInform.getMemberName()) + .contact(memberBasicInform.getContact()) + .email(email) + .marketingAgree(memberBasicInform.isMarketingAgree()) + .build(); + } +} diff --git a/src/main/java/liaison/linkit/member/business/MemberService.java b/src/main/java/liaison/linkit/member/business/MemberService.java index b56c776a..7f2e35b0 100644 --- a/src/main/java/liaison/linkit/member/business/MemberService.java +++ b/src/main/java/liaison/linkit/member/business/MemberService.java @@ -2,17 +2,17 @@ import liaison.linkit.member.domain.Member; import liaison.linkit.member.domain.MemberBasicInform; -import liaison.linkit.member.dto.request.memberBasicInform.MemberBasicInformCreateRequest; -import liaison.linkit.member.dto.request.memberBasicInform.MemberBasicInformUpdateRequest; -import liaison.linkit.member.dto.response.MemberBasicInformResponse; +import liaison.linkit.member.presentation.dto.request.memberBasicInform.MemberBasicInformRequestDTO; +import liaison.linkit.member.presentation.dto.request.memberBasicInform.MemberBasicInformRequestDTO.memberBasicInformRequest; +import liaison.linkit.member.presentation.dto.response.MemberBasicInformResponseDTO; import liaison.linkit.member.implement.MemberBasicInformCommandAdapter; import liaison.linkit.member.implement.MemberBasicInformQueryAdapter; import liaison.linkit.member.implement.MemberQueryAdapter; +import liaison.linkit.member.presentation.dto.response.MemberBasicInformResponseDTO.RequestMemberBasicInform; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; -import org.springframework.web.server.ResponseStatusException; // 소셜로그인 이후 기본 정보 기입 플로우부터 @Service @@ -23,60 +23,32 @@ public class MemberService { private final MemberQueryAdapter memberQueryAdapter; private final MemberBasicInformQueryAdapter memberBasicInformQueryAdapter; private final MemberBasicInformCommandAdapter memberBasicInformCommandAdapter; + private final MemberBasicInformMapper memberBasicInformMapper; - // 멤버 아이디로 회원 기본 정보의 유효성을 검증하는 로직 public void validateMemberBasicInformByMember(final Long memberId) { memberBasicInformQueryAdapter.existsByMemberId(memberId); } - // 회원 기본 정보 저장 메서드 - public void save( - final Long memberId, final MemberBasicInformCreateRequest memberBasicInformCreateRequest - ) throws ResponseStatusException { - + // 회원 기본 정보 생성 메서드 (CREATE) + public RequestMemberBasicInform save(final Long memberId, final memberBasicInformRequest request) { final Member member = memberQueryAdapter.findById(memberId); - - // dto -> 객체 - final MemberBasicInform newBasicMemberBasicInform = new MemberBasicInform( - memberBasicInformCreateRequest.getMemberName(), - memberBasicInformCreateRequest.getContact(), - memberBasicInformCreateRequest.isMarketingAgree(), - member - ); - - member.changeIsMemberBasicInform(true); - - // 기본 정보 입력 사용자로부터 재요청 - if (memberBasicInformQueryAdapter.existsByMemberId(memberId)) { - final MemberBasicInform savedMemberBasicInform = memberBasicInformQueryAdapter.findByMemberId(memberId); - savedMemberBasicInform.update(newBasicMemberBasicInform); - } else { - memberBasicInformCommandAdapter.save(newBasicMemberBasicInform); - } + final MemberBasicInform savedBasicMemberBasicInform = memberBasicInformCommandAdapter.save(memberBasicInformMapper.toMemberBasicInform(member, request)); + member.existIsMemberBasicInform(true); + return memberBasicInformMapper.toRequestMemberBasicInform(savedBasicMemberBasicInform); } - // (해당 회원의) 회원 기본 정보를 조회하는 메서드 + // 회원 기본 정보 조회 (READ) @Transactional(readOnly = true) - public MemberBasicInformResponse getPersonalMemberBasicInform(final Long memberId) { + public MemberBasicInformResponseDTO.MemberBasicInformDetail getPersonalMemberBasicInform(final Long memberId) { final MemberBasicInform memberBasicInform = memberBasicInformQueryAdapter.findByMemberId(memberId); - return MemberBasicInformResponse.personalMemberBasicInform(memberBasicInform); + final String email = memberQueryAdapter.findEmailById(memberId); + return memberBasicInformMapper.toMemberBasicInformDetail(memberBasicInform, email); } - public void update( - final Long memberId, - final MemberBasicInformUpdateRequest memberBasicInformUpdateRequest - ) { + // 회원 기본 정보 수정 (UPDATE) + public RequestMemberBasicInform update(final Long memberId, final MemberBasicInformRequestDTO.memberBasicInformRequest request) { final Member member = memberQueryAdapter.findById(memberId); - - final MemberBasicInform updateMemberBasicInform = new MemberBasicInform( - memberId, - memberBasicInformUpdateRequest.getMemberName(), - memberBasicInformUpdateRequest.getContact(), - memberBasicInformUpdateRequest.isMarketingAgree(), - member - ); - - memberBasicInformCommandAdapter.delete(member.getMemberBasicInform()); - memberBasicInformCommandAdapter.save(updateMemberBasicInform); + final MemberBasicInform updatedMemberBasicInform = memberBasicInformCommandAdapter.update(memberId, request); + return memberBasicInformMapper.toRequestMemberBasicInform(updatedMemberBasicInform); } } diff --git a/src/main/java/liaison/linkit/member/domain/Member.java b/src/main/java/liaison/linkit/member/domain/Member.java index 0a281948..417ddfc1 100644 --- a/src/main/java/liaison/linkit/member/domain/Member.java +++ b/src/main/java/liaison/linkit/member/domain/Member.java @@ -26,7 +26,7 @@ @NoArgsConstructor(access = PROTECTED) @SQLRestriction("member_state = 'ACTIVE'") public class Member extends BaseDateTimeEntity { - + @Id @GeneratedValue(strategy = IDENTITY) private Long id; @@ -84,7 +84,7 @@ public Member( this(null, socialLoginId, email, memberBasicInform); } - public void changeIsMemberBasicInform(final Boolean existMemberBasicInform) { + public void existIsMemberBasicInform(final Boolean existMemberBasicInform) { this.existMemberBasicInform = existMemberBasicInform; } diff --git a/src/main/java/liaison/linkit/member/domain/MemberBasicInform.java b/src/main/java/liaison/linkit/member/domain/MemberBasicInform.java index c3928ba8..f9a728cb 100644 --- a/src/main/java/liaison/linkit/member/domain/MemberBasicInform.java +++ b/src/main/java/liaison/linkit/member/domain/MemberBasicInform.java @@ -10,13 +10,17 @@ import jakarta.persistence.JoinColumn; import jakarta.persistence.OneToOne; import liaison.linkit.global.BaseEntity; +import lombok.AllArgsConstructor; +import lombok.Builder; import lombok.Getter; import lombok.NoArgsConstructor; // 이름 및 사용자 정보 기입 플로우 추가 구현 필요 @Entity @Getter +@Builder @NoArgsConstructor(access = PROTECTED) +@AllArgsConstructor public class MemberBasicInform extends BaseEntity { @Id @@ -51,36 +55,4 @@ public class MemberBasicInform extends BaseEntity { // 광고성 정보 수신 동의 @Column(nullable = false) private boolean marketingAgree; - - // 생성자 - public MemberBasicInform( - final Long id, - final String memberName, - final String contact, - final boolean marketingAgree, - final Member member - ) { - this.id = id; - this.memberName = memberName; - this.contact = contact; - this.marketingAgree = marketingAgree; - this.member = member; - this.serviceUseAgree = true; - this.privateInformAgree = true; - this.ageCheck = true; - } - - public MemberBasicInform( - final String memberName, - final String contact, - final boolean marketingAgree, - final Member member) { - this(null, memberName, contact, marketingAgree, member); - } - - public void update(final MemberBasicInform memberBasicInform) { - this.memberName = memberBasicInform.getMemberName(); - this.contact = memberBasicInform.getContact(); - this.marketingAgree = memberBasicInform.isMarketingAgree(); - } } diff --git a/src/main/java/liaison/linkit/member/domain/repository/member/MemberRepositoryCustom.java b/src/main/java/liaison/linkit/member/domain/repository/member/MemberRepositoryCustom.java index ccbacee0..67eee93d 100644 --- a/src/main/java/liaison/linkit/member/domain/repository/member/MemberRepositoryCustom.java +++ b/src/main/java/liaison/linkit/member/domain/repository/member/MemberRepositoryCustom.java @@ -6,6 +6,10 @@ public interface MemberRepositoryCustom { Optional findBySocialLoginId(final String socialLoginId); + boolean existsByEmail(final String email); + void deleteByMemberId(final Long memberId); + + String findEmailById(final Long memberId); } diff --git a/src/main/java/liaison/linkit/member/domain/repository/member/MemberRepositoryCustomImpl.java b/src/main/java/liaison/linkit/member/domain/repository/member/MemberRepositoryCustomImpl.java index 3fbdfc13..63004729 100644 --- a/src/main/java/liaison/linkit/member/domain/repository/member/MemberRepositoryCustomImpl.java +++ b/src/main/java/liaison/linkit/member/domain/repository/member/MemberRepositoryCustomImpl.java @@ -14,7 +14,7 @@ public class MemberRepositoryCustomImpl implements MemberRepositoryCustom { private final JPAQueryFactory jpaQueryFactory; - + @Override public Optional findBySocialLoginId(String socialLoginId) { QMember member = QMember.member; @@ -38,6 +38,17 @@ public boolean existsByEmail(String email) { .fetchFirst() != null; } + @Override + public String findEmailById(final Long memberId) { + QMember member = QMember.member; + + return jpaQueryFactory + .select(member.email) + .from(member) + .where(member.id.eq(memberId)) + .fetchOne(); // 하나의 결과를 반환 + } + @Override public void deleteByMemberId(final Long memberId) { QMember member = QMember.member; diff --git a/src/main/java/liaison/linkit/member/domain/repository/memberBasicInform/MemberBasicInformRepositoryCustom.java b/src/main/java/liaison/linkit/member/domain/repository/memberBasicInform/MemberBasicInformRepositoryCustom.java index 55c557e5..a4ac66fc 100644 --- a/src/main/java/liaison/linkit/member/domain/repository/memberBasicInform/MemberBasicInformRepositoryCustom.java +++ b/src/main/java/liaison/linkit/member/domain/repository/memberBasicInform/MemberBasicInformRepositoryCustom.java @@ -3,9 +3,14 @@ import liaison.linkit.member.domain.MemberBasicInform; import java.util.Optional; +import liaison.linkit.member.presentation.dto.request.memberBasicInform.MemberBasicInformRequestDTO; public interface MemberBasicInformRepositoryCustom { boolean existsByMemberId(final Long memberId); + Optional findByMemberId(final Long memberId); + void deleteByMemberId(final Long memberId); + + Optional update(final Long memberId, final MemberBasicInformRequestDTO.memberBasicInformRequest request); } diff --git a/src/main/java/liaison/linkit/member/domain/repository/memberBasicInform/MemberBasicInformRepositoryCustomImpl.java b/src/main/java/liaison/linkit/member/domain/repository/memberBasicInform/MemberBasicInformRepositoryCustomImpl.java index 2ad5ea57..6b296102 100644 --- a/src/main/java/liaison/linkit/member/domain/repository/memberBasicInform/MemberBasicInformRepositoryCustomImpl.java +++ b/src/main/java/liaison/linkit/member/domain/repository/memberBasicInform/MemberBasicInformRepositoryCustomImpl.java @@ -4,6 +4,7 @@ import liaison.linkit.global.type.StatusType; import liaison.linkit.member.domain.MemberBasicInform; import liaison.linkit.member.domain.QMemberBasicInform; +import liaison.linkit.member.presentation.dto.request.memberBasicInform.MemberBasicInformRequestDTO; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.transaction.annotation.Transactional; @@ -12,7 +13,7 @@ @RequiredArgsConstructor @Slf4j -public class MemberBasicInformRepositoryCustomImpl implements MemberBasicInformRepositoryCustom{ +public class MemberBasicInformRepositoryCustomImpl implements MemberBasicInformRepositoryCustom { private final JPAQueryFactory jpaQueryFactory; @@ -49,4 +50,32 @@ public void deleteByMemberId(final Long memberId) { .where(memberBasicInform.member.id.eq(memberId)) .execute(); } + + @Override + public Optional update( + final Long memberId, + final MemberBasicInformRequestDTO.memberBasicInformRequest request + ) { + QMemberBasicInform memberBasicInform = QMemberBasicInform.memberBasicInform; + + long affectedRows = jpaQueryFactory + .update(memberBasicInform) + .set(memberBasicInform.memberName, request.getMemberName()) + .set(memberBasicInform.contact, request.getContact()) + .set(memberBasicInform.marketingAgree, request.isMarketingAgree()) + .where(memberBasicInform.member.id.eq(memberId)) // 조건: 특정 ID로 업데이트 + .execute(); // 실행 + + // 업데이트가 성공했는지 여부에 따라 결과 반환 + if (affectedRows > 0) { + // 업데이트된 객체를 다시 조회해서 반환 + MemberBasicInform updatedEntity = jpaQueryFactory + .selectFrom(memberBasicInform) + .where(memberBasicInform.member.id.eq(memberId)) + .fetchOne(); + return Optional.ofNullable(updatedEntity); + } + + return Optional.empty(); // 업데이트가 실패한 경우 + } } diff --git a/src/main/java/liaison/linkit/member/dto/request/memberBasicInform/MemberBasicInformCreateRequest.java b/src/main/java/liaison/linkit/member/dto/request/memberBasicInform/MemberBasicInformCreateRequest.java deleted file mode 100644 index 2e0df275..00000000 --- a/src/main/java/liaison/linkit/member/dto/request/memberBasicInform/MemberBasicInformCreateRequest.java +++ /dev/null @@ -1,27 +0,0 @@ -package liaison.linkit.member.dto.request.memberBasicInform; - -import jakarta.validation.constraints.NotNull; -import lombok.Getter; - -@Getter -public class MemberBasicInformCreateRequest { - - @NotNull(message = "성함을 입력해주세요") - private final String memberName; - - @NotNull(message = "연락처를 입력해주세요") - private final String contact; - - @NotNull(message = "마케팅 정보 수신 동의를 체크해주세요") - private final boolean marketingAgree; - - public MemberBasicInformCreateRequest( - final String memberName, - final String contact, - boolean marketingAgree - ) { - this.memberName = memberName; - this.contact = contact; - this.marketingAgree = marketingAgree; - } -} diff --git a/src/main/java/liaison/linkit/member/dto/request/memberBasicInform/MemberBasicInformUpdateRequest.java b/src/main/java/liaison/linkit/member/dto/request/memberBasicInform/MemberBasicInformUpdateRequest.java deleted file mode 100644 index 873a1b64..00000000 --- a/src/main/java/liaison/linkit/member/dto/request/memberBasicInform/MemberBasicInformUpdateRequest.java +++ /dev/null @@ -1,21 +0,0 @@ -package liaison.linkit.member.dto.request.memberBasicInform; - -import lombok.Getter; - -@Getter -public class MemberBasicInformUpdateRequest { - - private final String memberName; - private final String contact; - private final boolean marketingAgree; - - public MemberBasicInformUpdateRequest( - final String memberName, - final String contact, - boolean marketingAgree - ) { - this.memberName = memberName; - this.contact = contact; - this.marketingAgree = marketingAgree; - } -} diff --git a/src/main/java/liaison/linkit/member/dto/response/MemberBasicInformResponse.java b/src/main/java/liaison/linkit/member/dto/response/MemberBasicInformResponse.java deleted file mode 100644 index 19199724..00000000 --- a/src/main/java/liaison/linkit/member/dto/response/MemberBasicInformResponse.java +++ /dev/null @@ -1,26 +0,0 @@ -package liaison.linkit.member.dto.response; - -import liaison.linkit.member.domain.MemberBasicInform; -import lombok.Getter; -import lombok.RequiredArgsConstructor; - -@Getter -@RequiredArgsConstructor -public class MemberBasicInformResponse { - - private final Long id; - private final String memberName; - private final String contact; - private final String email; - private final boolean marketingAgree; - - public static MemberBasicInformResponse personalMemberBasicInform(final MemberBasicInform memberBasicInform) { - return new MemberBasicInformResponse( - memberBasicInform.getId(), - memberBasicInform.getMemberName(), - memberBasicInform.getContact(), - memberBasicInform.getMember().getEmail(), - memberBasicInform.isMarketingAgree() - ); - } -} diff --git a/src/main/java/liaison/linkit/member/exception/memberBasicInform/MemberBasicInformBadRequestException.java b/src/main/java/liaison/linkit/member/exception/memberBasicInform/MemberBasicInformBadRequestException.java new file mode 100644 index 00000000..38a548d5 --- /dev/null +++ b/src/main/java/liaison/linkit/member/exception/memberBasicInform/MemberBasicInformBadRequestException.java @@ -0,0 +1,11 @@ +package liaison.linkit.member.exception.memberBasicInform; + +import liaison.linkit.common.exception.BaseCodeException; + +public class MemberBasicInformBadRequestException extends BaseCodeException { + public static BaseCodeException BAD_REQUEST_EXCEPTION = new MemberBasicInformBadRequestException(); + + private MemberBasicInformBadRequestException() { + super(MemberBasicInformErrorCode.MEMBER_BASIC_INFORM_BAD_REQUEST); + } +} diff --git a/src/main/java/liaison/linkit/member/exception/memberBasicInform/MemberBasicInformErrorCode.java b/src/main/java/liaison/linkit/member/exception/memberBasicInform/MemberBasicInformErrorCode.java index fe522f10..b3ce9016 100644 --- a/src/main/java/liaison/linkit/member/exception/memberBasicInform/MemberBasicInformErrorCode.java +++ b/src/main/java/liaison/linkit/member/exception/memberBasicInform/MemberBasicInformErrorCode.java @@ -1,5 +1,6 @@ package liaison.linkit.member.exception.memberBasicInform; +import static liaison.linkit.common.consts.LinkitStatic.BAD_REQUEST; import static liaison.linkit.common.consts.LinkitStatic.NOT_FOUND; import java.lang.reflect.Field; @@ -13,6 +14,7 @@ @Getter @AllArgsConstructor public enum MemberBasicInformErrorCode implements BaseErrorCode { + MEMBER_BASIC_INFORM_BAD_REQUEST(BAD_REQUEST, "MEMBER_BASIC_INFORM_400_1", "회원 기본 정보 요청에 대한 오류가 발생했습니다."), MEMBER_BASIC_INFORM_NOT_FOUND(NOT_FOUND, "MEMBER_BASIC_INFORM_404_1", "회원 기본 정보를 찾을 수 없습니다."); private final Integer status; diff --git a/src/main/java/liaison/linkit/member/implement/MemberBasicInformCommandAdapter.java b/src/main/java/liaison/linkit/member/implement/MemberBasicInformCommandAdapter.java index e1815a82..01bd4d7e 100644 --- a/src/main/java/liaison/linkit/member/implement/MemberBasicInformCommandAdapter.java +++ b/src/main/java/liaison/linkit/member/implement/MemberBasicInformCommandAdapter.java @@ -3,6 +3,8 @@ import liaison.linkit.common.annotation.Adapter; import liaison.linkit.member.domain.MemberBasicInform; import liaison.linkit.member.domain.repository.memberBasicInform.MemberBasicInformRepository; +import liaison.linkit.member.exception.memberBasicInform.MemberBasicInformBadRequestException; +import liaison.linkit.member.presentation.dto.request.memberBasicInform.MemberBasicInformRequestDTO; import lombok.RequiredArgsConstructor; @Adapter @@ -14,6 +16,14 @@ public MemberBasicInform save(final MemberBasicInform memberBasicInform) { return memberBasicInformRepository.save(memberBasicInform); } + public MemberBasicInform update( + final Long memberId, + final MemberBasicInformRequestDTO.memberBasicInformRequest request + ) { + return memberBasicInformRepository.update(memberId, request) + .orElseThrow(() -> MemberBasicInformBadRequestException.BAD_REQUEST_EXCEPTION); + } + public void delete(final MemberBasicInform memberBasicInform) { memberBasicInformRepository.delete(memberBasicInform); } diff --git a/src/main/java/liaison/linkit/member/implement/MemberBasicInformQueryAdapter.java b/src/main/java/liaison/linkit/member/implement/MemberBasicInformQueryAdapter.java index 0496e33c..e67f731f 100644 --- a/src/main/java/liaison/linkit/member/implement/MemberBasicInformQueryAdapter.java +++ b/src/main/java/liaison/linkit/member/implement/MemberBasicInformQueryAdapter.java @@ -25,6 +25,4 @@ public MemberBasicInform findByMemberId(final Long memberId) { return memberBasicInformRepository.findByMemberId(memberId) .orElseThrow(() -> MemberBasicInformNotFoundException.NOT_FOUND_EXCEPTION); } - - } diff --git a/src/main/java/liaison/linkit/member/implement/MemberQueryAdapter.java b/src/main/java/liaison/linkit/member/implement/MemberQueryAdapter.java index f29dcb00..112bd550 100644 --- a/src/main/java/liaison/linkit/member/implement/MemberQueryAdapter.java +++ b/src/main/java/liaison/linkit/member/implement/MemberQueryAdapter.java @@ -23,6 +23,10 @@ public Optional findBySocialLoginId(final String socialLoginId) { return memberRepository.findBySocialLoginId(socialLoginId); } + public String findEmailById(final Long memberId) { + return memberRepository.findEmailById(memberId); + } + public boolean existsByEmail(final String email) { return memberRepository.existsByEmail(email); } diff --git a/src/main/java/liaison/linkit/member/presentation/MemberController.java b/src/main/java/liaison/linkit/member/presentation/MemberController.java index 6067ea60..0ec5dd42 100644 --- a/src/main/java/liaison/linkit/member/presentation/MemberController.java +++ b/src/main/java/liaison/linkit/member/presentation/MemberController.java @@ -3,19 +3,20 @@ import liaison.linkit.auth.Auth; import liaison.linkit.auth.MemberOnly; import liaison.linkit.auth.domain.Accessor; -import liaison.linkit.common.annotation.ApiErrorCodeExample; -import liaison.linkit.common.exception.AuthErrorCode; -import liaison.linkit.common.exception.GlobalErrorCode; -import liaison.linkit.member.dto.request.memberBasicInform.MemberBasicInformCreateRequest; -import liaison.linkit.member.dto.request.memberBasicInform.MemberBasicInformUpdateRequest; -import liaison.linkit.member.dto.response.MemberBasicInformResponse; -import liaison.linkit.member.exception.member.MemberErrorCode; +import liaison.linkit.common.presentation.CommonResponse; import liaison.linkit.member.business.MemberService; +import liaison.linkit.member.presentation.dto.request.memberBasicInform.MemberBasicInformRequestDTO; +import liaison.linkit.member.presentation.dto.request.memberBasicInform.MemberBasicInformRequestDTO.memberBasicInformRequest; +import liaison.linkit.member.presentation.dto.response.MemberBasicInformResponseDTO; +import liaison.linkit.member.presentation.dto.response.MemberBasicInformResponseDTO.RequestMemberBasicInform; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; -import org.springframework.http.HttpStatus; -import org.springframework.http.ResponseEntity; -import org.springframework.web.bind.annotation.*; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.PutMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; @RestController @RequiredArgsConstructor @@ -25,42 +26,30 @@ public class MemberController { public final MemberService memberService; - // 회원 기본 정보 등록 API @PostMapping("/basic-inform") @MemberOnly - public ResponseEntity createMemberBasicInform( + public CommonResponse createMemberBasicInform( @Auth final Accessor accessor, - @RequestBody MemberBasicInformCreateRequest memberBasicInformCreateRequest + @RequestBody final memberBasicInformRequest request ) { - memberService.save(accessor.getMemberId(), memberBasicInformCreateRequest); - return ResponseEntity.status(HttpStatus.CREATED).build(); + return CommonResponse.onSuccess(memberService.save(accessor.getMemberId(), request)); } - @ApiErrorCodeExample( - value = {MemberErrorCode.class, AuthErrorCode.class, GlobalErrorCode.class} - ) @GetMapping("/basic-inform") @MemberOnly - public ResponseEntity getMemberBasicInform( - @Auth final Accessor accessor - ) { + public CommonResponse getMemberBasicInform(@Auth final Accessor accessor) { memberService.validateMemberBasicInformByMember(accessor.getMemberId()); - final MemberBasicInformResponse memberBasicInformResponse - = memberService.getPersonalMemberBasicInform(accessor.getMemberId()); - return ResponseEntity.ok().body(memberBasicInformResponse); + return CommonResponse.onSuccess(memberService.getPersonalMemberBasicInform(accessor.getMemberId())); } // 회원 기본 정보 수정 API @PutMapping("/basic-inform") @MemberOnly - public ResponseEntity updateMemberBasicInform( + public CommonResponse updateMemberBasicInform( @Auth final Accessor accessor, - @RequestBody MemberBasicInformUpdateRequest memberBasicInformUpdateRequest + @RequestBody final MemberBasicInformRequestDTO.memberBasicInformRequest request ) { - memberService.update(accessor.getMemberId(), memberBasicInformUpdateRequest); - return ResponseEntity.status(HttpStatus.OK).build(); + return CommonResponse.onSuccess(memberService.update(accessor.getMemberId(), request)); } - - } diff --git a/src/main/java/liaison/linkit/member/dto/csv/MemberRoleCsvData.java b/src/main/java/liaison/linkit/member/presentation/dto/csv/MemberRoleCsvData.java similarity index 90% rename from src/main/java/liaison/linkit/member/dto/csv/MemberRoleCsvData.java rename to src/main/java/liaison/linkit/member/presentation/dto/csv/MemberRoleCsvData.java index fb50c01e..1505bb0a 100644 --- a/src/main/java/liaison/linkit/member/dto/csv/MemberRoleCsvData.java +++ b/src/main/java/liaison/linkit/member/presentation/dto/csv/MemberRoleCsvData.java @@ -1,4 +1,4 @@ -package liaison.linkit.member.dto.csv; +package liaison.linkit.member.presentation.dto.csv; import lombok.Data; diff --git a/src/main/java/liaison/linkit/member/presentation/dto/request/memberBasicInform/MemberBasicInformRequestDTO.java b/src/main/java/liaison/linkit/member/presentation/dto/request/memberBasicInform/MemberBasicInformRequestDTO.java new file mode 100644 index 00000000..b81a690a --- /dev/null +++ b/src/main/java/liaison/linkit/member/presentation/dto/request/memberBasicInform/MemberBasicInformRequestDTO.java @@ -0,0 +1,16 @@ +package liaison.linkit.member.presentation.dto.request.memberBasicInform; + +import lombok.AccessLevel; +import lombok.Getter; +import lombok.NoArgsConstructor; + +@NoArgsConstructor(access = AccessLevel.PRIVATE) +public class MemberBasicInformRequestDTO { + + @Getter + public static class memberBasicInformRequest { + private String memberName; + private String contact; + private boolean marketingAgree; + } +} diff --git a/src/main/java/liaison/linkit/member/presentation/dto/response/MemberBasicInformResponseDTO.java b/src/main/java/liaison/linkit/member/presentation/dto/response/MemberBasicInformResponseDTO.java new file mode 100644 index 00000000..ff211507 --- /dev/null +++ b/src/main/java/liaison/linkit/member/presentation/dto/response/MemberBasicInformResponseDTO.java @@ -0,0 +1,34 @@ +package liaison.linkit.member.presentation.dto.response; + +import lombok.AccessLevel; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Getter; +import lombok.NoArgsConstructor; + +@NoArgsConstructor(access = AccessLevel.PRIVATE) +public class MemberBasicInformResponseDTO { + + // 회원 기본 정보에 대한 요청 (생성 및 수정) + @Builder + @Getter + @NoArgsConstructor + @AllArgsConstructor + public static class RequestMemberBasicInform { + private String memberName; + private String contact; + private boolean marketingAgree; + } + + @Builder + @Getter + @NoArgsConstructor + @AllArgsConstructor + public static class MemberBasicInformDetail { + private Long memberBasicInformId; + private String memberName; + private String contact; + private String email; + private boolean marketingAgree; + } +} diff --git a/src/main/java/liaison/linkit/member/dto/response/MemberResponse.java b/src/main/java/liaison/linkit/member/presentation/dto/response/MemberResponseDTO.java similarity index 53% rename from src/main/java/liaison/linkit/member/dto/response/MemberResponse.java rename to src/main/java/liaison/linkit/member/presentation/dto/response/MemberResponseDTO.java index b30622ba..6fc0b779 100644 --- a/src/main/java/liaison/linkit/member/dto/response/MemberResponse.java +++ b/src/main/java/liaison/linkit/member/presentation/dto/response/MemberResponseDTO.java @@ -1,4 +1,4 @@ -package liaison.linkit.member.dto.response; +package liaison.linkit.member.presentation.dto.response; import liaison.linkit.member.domain.Member; import lombok.Getter; @@ -6,11 +6,11 @@ @Getter @RequiredArgsConstructor -public class MemberResponse { +public class MemberResponseDTO { private final String email; - public static MemberResponse getEmail(final Member member) { - return new MemberResponse( + public static MemberResponseDTO getEmail(final Member member) { + return new MemberResponseDTO( member.getEmail() ); } diff --git a/src/main/java/liaison/linkit/profile/presentation/ProfileOnBoardingController.java b/src/main/java/liaison/linkit/profile/presentation/ProfileOnBoardingController.java index c8ce4e47..bf721f84 100644 --- a/src/main/java/liaison/linkit/profile/presentation/ProfileOnBoardingController.java +++ b/src/main/java/liaison/linkit/profile/presentation/ProfileOnBoardingController.java @@ -1,6 +1,10 @@ package liaison.linkit.profile.presentation; +import static liaison.linkit.global.exception.ExceptionCode.HAVE_TO_INPUT_BOTH_JOB_AND_SKILL; +import static org.springframework.http.HttpStatus.INTERNAL_SERVER_ERROR; + import jakarta.validation.Valid; +import java.util.List; import liaison.linkit.auth.Auth; import liaison.linkit.auth.MemberOnly; import liaison.linkit.auth.domain.Accessor; @@ -15,17 +19,21 @@ import liaison.linkit.profile.dto.response.onBoarding.OnBoardingProfileResponse; import liaison.linkit.profile.dto.response.profileRegion.ProfileRegionResponse; import liaison.linkit.profile.dto.response.teamBuilding.ProfileTeamBuildingFieldResponse; -import liaison.linkit.profile.service.*; +import liaison.linkit.profile.service.AntecedentsService; +import liaison.linkit.profile.service.EducationService; +import liaison.linkit.profile.service.MiniProfileService; +import liaison.linkit.profile.service.ProfileOnBoardingService; +import liaison.linkit.profile.service.ProfileRegionService; +import liaison.linkit.profile.service.TeamBuildingFieldService; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; -import org.springframework.web.bind.annotation.*; - -import java.util.List; - -import static liaison.linkit.global.exception.ExceptionCode.HAVE_TO_INPUT_BOTH_JOB_AND_SKILL; -import static org.springframework.http.HttpStatus.INTERNAL_SERVER_ERROR; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; @RestController @RequiredArgsConstructor @@ -40,7 +48,7 @@ public class ProfileOnBoardingController { public final ProfileRegionService profileRegionService; public final EducationService educationService; public final AntecedentsService antecedentsService; - + // 1.5.4 희망 역할 및 보유 기술 생성/수정 @PostMapping("/private/job/skill") @MemberOnly diff --git a/src/main/java/liaison/linkit/wish/exception/privateWish/PrivateWishErrorCode.java b/src/main/java/liaison/linkit/wish/exception/privateWish/PrivateWishErrorCode.java index bfb60582..5c40a298 100644 --- a/src/main/java/liaison/linkit/wish/exception/privateWish/PrivateWishErrorCode.java +++ b/src/main/java/liaison/linkit/wish/exception/privateWish/PrivateWishErrorCode.java @@ -16,11 +16,10 @@ @Getter @AllArgsConstructor public enum PrivateWishErrorCode implements BaseErrorCode { - FORBIDDEN_PRIVATE_WISH(FORBIDDEN, "PRIVATE_WISH_403_1", "내 프로필을 찜하기 할 수 없습니다."), PRIVATE_WISH_NOT_FOUND(NOT_FOUND, "PRIVATE_WISH_404_1", "프로필에 대한 좋아요 기록이 없습니다."), DUPLICATE_PRIVATE_WISH(DUPLICATE, "PRIVATE_WISH_409_1", "이미 좋아요한 프로필입니다."), - TOO_MANY_PRIVATE_WISH_REQUEST(TOO_MANY_REQUESTS, "PRIVATE_WISH_429_1", "프로필 최대 찜하기 개수를 초과하였습니다"); + TOO_MANY_PRIVATE_WISH_REQUEST(TOO_MANY_REQUESTS, "PRIVATE_WISH_429_1", "프로필 최대 찜하기 개수를 초과하였습니다."); private final Integer status; private final String code; diff --git a/src/main/java/liaison/linkit/wish/exception/teamWish/TeamWishErrorCode.java b/src/main/java/liaison/linkit/wish/exception/teamWish/TeamWishErrorCode.java index 2863c5ea..fb5d93ee 100644 --- a/src/main/java/liaison/linkit/wish/exception/teamWish/TeamWishErrorCode.java +++ b/src/main/java/liaison/linkit/wish/exception/teamWish/TeamWishErrorCode.java @@ -16,7 +16,7 @@ @Getter @AllArgsConstructor public enum TeamWishErrorCode implements BaseErrorCode { - FORBIDDEN_TEAM_WISH(FORBIDDEN, "TEAM_WISH_403_1", "내가 올린 팀원 공고를 찜할 수 없습니다"), + FORBIDDEN_TEAM_WISH(FORBIDDEN, "TEAM_WISH_403_1", "내가 올린 팀원 공고를 찜할 수 없습니다."), TEAM_WISH_NOT_FOUND(NOT_FOUND, "TEAM_WISH_404_1", "팀원 공고에 대한 좋아요 기록이 없습니다."), DUPLICATE_TEAM_WISH(DUPLICATE, "TEAM_WISH_409_1", "이미 좋아요한 팀원 공고입니다."), TOO_MANY_TEAM_WISH_REQUEST(TOO_MANY_REQUESTS, "TEAM_WISH_429_1", "팀원 공고 최대 찜하기 개수를 초과하였습니다."); diff --git a/src/test/java/liaison/linkit/global/ControllerTest.java b/src/test/java/liaison/linkit/global/ControllerTest.java index 9065c51a..96a3ffb6 100644 --- a/src/test/java/liaison/linkit/global/ControllerTest.java +++ b/src/test/java/liaison/linkit/global/ControllerTest.java @@ -7,7 +7,6 @@ import liaison.linkit.login.domain.repository.RefreshTokenRepository; import liaison.linkit.login.infrastructure.BearerAuthorizationExtractor; import liaison.linkit.login.infrastructure.JwtProvider; -import liaison.linkit.matching.MatchingAccessInterceptor; import liaison.linkit.member.domain.repository.member.MemberRepository; import liaison.linkit.profile.browse.ProfileBrowseAccessInterceptor; import liaison.linkit.profile.domain.repository.profile.ProfileRepository; diff --git a/src/test/java/liaison/linkit/global/config/CorsTestConfig.java b/src/test/java/liaison/linkit/global/config/CorsTestConfig.java index c0231f73..026117fc 100644 --- a/src/test/java/liaison/linkit/global/config/CorsTestConfig.java +++ b/src/test/java/liaison/linkit/global/config/CorsTestConfig.java @@ -2,7 +2,6 @@ import liaison.linkit.login.infrastructure.BearerAuthorizationExtractor; import liaison.linkit.login.infrastructure.JwtProvider; -import liaison.linkit.matching.MatchingAccessInterceptor; import liaison.linkit.member.domain.repository.member.MemberRepository; import liaison.linkit.profile.browse.ProfileBrowseAccessInterceptor; import liaison.linkit.profile.domain.repository.profile.ProfileRepository; diff --git a/src/test/java/liaison/linkit/member/presentation/MemberControllerTest.java b/src/test/java/liaison/linkit/member/presentation/MemberControllerTest.java index f5e5158a..87715623 100644 --- a/src/test/java/liaison/linkit/member/presentation/MemberControllerTest.java +++ b/src/test/java/liaison/linkit/member/presentation/MemberControllerTest.java @@ -5,8 +5,7 @@ import jakarta.servlet.http.Cookie; import liaison.linkit.global.ControllerTest; import liaison.linkit.login.domain.MemberTokens; -import liaison.linkit.member.dto.request.memberBasicInform.MemberBasicInformCreateRequest; -import liaison.linkit.member.dto.response.MemberBasicInformResponse; +import liaison.linkit.member.presentation.dto.response.MemberBasicInformResponseDTO; import liaison.linkit.member.business.MemberService; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.DisplayName; @@ -88,7 +87,7 @@ private ResultActions performGetEmailRequest() throws Exception { @Test void getMemberBasicInform() throws Exception { // given - final MemberBasicInformResponse response = new MemberBasicInformResponse( + final MemberBasicInformResponseDTO response = new MemberBasicInformResponseDTO( 1L, "권동민", "010-3661-4067",