Skip to content

Commit

Permalink
Merge pull request #60 from Leets-Official/feat/#59/사용자-관련-api-구현
Browse files Browse the repository at this point in the history
Feat #59 사용자 관련 api 구현
  • Loading branch information
koreaioi authored Feb 3, 2025
2 parents 40cba07 + 7e85925 commit ab98e84
Show file tree
Hide file tree
Showing 7 changed files with 60 additions and 21 deletions.
Original file line number Diff line number Diff line change
@@ -1,19 +1,18 @@
package com.gachtaxi.domain.members.controller;

import com.gachtaxi.domain.members.dto.request.FcmTokenRequest;
import com.gachtaxi.domain.members.dto.request.MemberInfoRequestDto;
import com.gachtaxi.domain.members.dto.response.MemberResponseDto;
import com.gachtaxi.domain.members.service.MemberService;
import com.gachtaxi.global.auth.jwt.annotation.CurrentMemberId;
import com.gachtaxi.global.common.response.ApiResponse;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import jakarta.validation.Valid;
import lombok.RequiredArgsConstructor;
import org.springframework.web.bind.annotation.PatchMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.*;

import static com.gachtaxi.domain.members.controller.ResponseMessage.FCM_TOKEN_UPDATE_SUCCESS;
import static com.gachtaxi.domain.members.controller.ResponseMessage.*;
import static org.springframework.http.HttpStatus.OK;

@Tag(name = "MEMBER")
Expand All @@ -32,4 +31,19 @@ public ApiResponse<Void> save(@CurrentMemberId Long memberId,

return ApiResponse.response(OK, FCM_TOKEN_UPDATE_SUCCESS.getMessage());
}

@GetMapping("/info")
public ApiResponse<MemberResponseDto> memberInfoDetails(@CurrentMemberId Long currentId) {
MemberResponseDto response = memberService.getMember(currentId);
return ApiResponse.response(OK, MEMBER_INFO_RESPONSE.getMessage(), response);
}

@PatchMapping("/info")
public ApiResponse<MemberResponseDto> memberInfoModify(
@CurrentMemberId Long currentId,
@RequestBody MemberInfoRequestDto dto
) {
MemberResponseDto response = memberService.updateMemberInfo(currentId, dto);
return ApiResponse.response(OK, MEMBER_INFO_UPDATE.getMessage(), response);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,8 @@
public enum ResponseMessage {
// MemberController
REGISTER_SUCCESS("회원가입에 성공했습니다."),
MEMBER_INFO_UPDATE("유저 정보를 성공적으로 수정했습니다!"),
MEMBER_INFO_RESPONSE("유저 정보를 반환합니다."),
FCM_TOKEN_UPDATE_SUCCESS("FCM 토큰 업데이트에 성공했습니다."),

// AuthController
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
package com.gachtaxi.domain.members.dto.request;

import jakarta.validation.constraints.NotNull;

public record MemberInfoRequestDto(
@NotNull String profilePicture,
@NotNull String nickName,
@NotNull String accountNumber
) {
}

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,8 @@ public record MemberResponseDto(
String profilePicture,
String email,
String role,
Gender gender
Gender gender,
String accountNumber
) {
public static MemberResponseDto from(Members members) {
return MemberResponseDto.builder()
Expand All @@ -25,6 +26,7 @@ public static MemberResponseDto from(Members members) {
.email(members.getEmail())
.role(members.getRole().name())
.gender(members.getGender())
.accountNumber(members.getAccountNumber())
.build();
}
}
14 changes: 12 additions & 2 deletions src/main/java/com/gachtaxi/domain/members/entity/Members.java
Original file line number Diff line number Diff line change
@@ -1,22 +1,23 @@
package com.gachtaxi.domain.members.entity;

import com.gachtaxi.domain.matching.common.entity.MatchingRoom;
import com.gachtaxi.domain.members.dto.request.UserSignUpRequestDto;
import com.gachtaxi.domain.members.dto.request.MemberAgreementRequestDto;
import com.gachtaxi.domain.members.dto.request.MemberInfoRequestDto;
import com.gachtaxi.domain.members.dto.request.MemberSupplmentRequestDto;
import com.gachtaxi.domain.members.entity.enums.Gender;
import com.gachtaxi.domain.members.entity.enums.Role;
import com.gachtaxi.domain.members.entity.enums.UserStatus;
import com.gachtaxi.global.common.entity.BaseEntity;
import jakarta.persistence.*;
import java.util.Objects;
import lombok.AccessLevel;
import lombok.Builder;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.experimental.SuperBuilder;
import org.hibernate.annotations.ColumnDefault;

import java.util.Objects;

@Getter
@Entity
@SuperBuilder
Expand All @@ -42,6 +43,9 @@ public class Members extends BaseEntity {
@Column(name = "phone_number", unique = true) // 피그마 참고, 일단 null 허용
private String phoneNumber;

@Column(name = "account_number", unique = true)
private String accountNumber;

@Column(name = "kakao_id", unique = true)
private Long kakaoId;

Expand Down Expand Up @@ -113,6 +117,12 @@ public void updateGoogleId(String googleId) {
this.googleId = googleId;
}

public void updateMemberInfo(MemberInfoRequestDto dto) {
this.profilePicture = dto.profilePicture();
this.nickname = dto.nickName();
this.accountNumber = dto.accountNumber();
}

public void updateAgreement(MemberAgreementRequestDto dto) {
this.termsAgreement = dto.termsAgreement();
this.privacyAgreement = dto.privacyAgreement();
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,6 @@
package com.gachtaxi.domain.members.service;

import com.gachtaxi.domain.members.dto.request.FcmTokenRequest;
import com.gachtaxi.domain.members.dto.request.InactiveMemberDto;
import com.gachtaxi.domain.members.dto.request.MemberAgreementRequestDto;
import com.gachtaxi.domain.members.dto.request.MemberSupplmentRequestDto;
import com.gachtaxi.domain.members.dto.request.*;
import com.gachtaxi.domain.members.dto.response.MemberResponseDto;
import com.gachtaxi.domain.members.entity.Members;
import com.gachtaxi.domain.members.exception.DuplicatedNickNameException;
Expand Down Expand Up @@ -31,6 +28,19 @@ public InactiveMemberDto saveTmpKakaoMember(Long kakaoId){
return InactiveMemberDto.of(tmpMember);
}

public MemberResponseDto getMember(Long currentId){
Members members = findById(currentId);
return MemberResponseDto.from(members);
}

@Transactional
public MemberResponseDto updateMemberInfo(Long currentId, MemberInfoRequestDto dto){
Members member = findById(currentId);
member.updateMemberInfo(dto);

return MemberResponseDto.from(member);
}

@Transactional
public InactiveMemberDto saveTmpGoogleMember(String googleId){
Members tmpMember = Members.ofGoogleId(googleId);
Expand Down

0 comments on commit ab98e84

Please sign in to comment.