Skip to content

Commit

Permalink
Merge pull request #32 from 7JEON8KI/feat/member--ISSUE-83
Browse files Browse the repository at this point in the history
멤버 정보 조회 및 수정
  • Loading branch information
skybluelion authored Feb 29, 2024
2 parents 114a7c0 + 95542a9 commit 633c701
Show file tree
Hide file tree
Showing 7 changed files with 158 additions and 2 deletions.
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package com.hyundai.domain.login.controller;


import com.hyundai.domain.login.dto.MemberInfoRequestDto;
import com.hyundai.domain.login.dto.StoreRequestDto;
import com.hyundai.domain.login.dto.kakao.KakaoParams;
import com.hyundai.domain.login.dto.oauth.OAuthMemberRequestDto;
Expand Down Expand Up @@ -53,5 +54,21 @@ public ResponseEntity<?> registerStore(@RequestBody StoreRequestDto storeRequest
log.debug("넘겨받은 판매자 정보 :: " + storeRequestDto.getStoreName());
return ResponseMessage.SuccessResponse("판매자 등록 요청 성공", oAuthService.registerStore(memberId, storeRequestDto));
}

@GetMapping("/member")
public ResponseEntity<?> getMemberInfo() {
String memberId = ((CustomMemberDetails) SecurityContextHolder.getContext().getAuthentication().getPrincipal()).getMemberId();
log.debug("getMemberInfo:" + memberId);
return ResponseMessage.SuccessResponse("회원정보 조회 성공", oAuthService.getMemberInfo(memberId));
}

// 멤버 정보 수정
@PutMapping("/member")
public ResponseEntity<?> updateMemberInfo(@RequestBody MemberInfoRequestDto memberInfoRequestDto) {
String memberId = ((CustomMemberDetails) SecurityContextHolder.getContext().getAuthentication().getPrincipal()).getMemberId();
log.debug("updateMemberInfo:" + memberId);
oAuthService.updateMemberInfo(memberId, memberInfoRequestDto);
return ResponseMessage.SuccessResponse("회원정보 수정 성공", "");
}
}

Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
package com.hyundai.domain.login.dto;

import com.hyundai.domain.login.entity.enumtype.Role;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Getter;
import lombok.NoArgsConstructor;

import java.time.LocalDate;
import java.time.LocalDateTime;

/**
* fileName : MemberInfoResponseDto
* author : 변형준
* since : 2/28/24
* 내용 :
*/
@Getter
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class MemberInfoRequestDto {
private String memberName;
private String memberNickname;
private String memberPhone;
private String memberGender;
private String memberBirth;
private String infoAddr;
private String infoZipcode;
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
package com.hyundai.domain.login.dto;

import com.hyundai.domain.login.entity.enumtype.Role;
import lombok.*;

import java.time.LocalDate;
import java.time.LocalDateTime;

/**
* fileName : MemberInfoResponseDto
* author : 변형준
* since : 2/28/24
* 내용 :
*/
@Getter
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class MemberInfoResponseDto {
private String memberId;
private String memberEmail;
private String memberName;
private String memberNickname;
private String memberPhone;
private String memberGender;
private LocalDate memberBirth;
private LocalDateTime createdAt;
private LocalDateTime updatedAt;
private String infoAddr;
private String infoZipcode;
}
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
package com.hyundai.domain.login.service.oauth;

import com.hyundai.domain.login.dto.MemberInfoRequestDto;
import com.hyundai.domain.login.dto.MemberInfoResponseDto;
import com.hyundai.domain.login.dto.StoreRequestDto;
import com.hyundai.domain.login.dto.kakao.KakaoLoginResponseDto;
import com.hyundai.domain.login.dto.oauth.OAuthMemberRequestDto;
Expand All @@ -14,5 +16,7 @@ public interface OAuthService {
KakaoLoginResponseDto getMemberByOauthLogin(OAuthParams oAuthParams);
String saveMember(OAuthMemberRequestDto oAuthMemberRequestDto);
String deleteMember(String memberId);
Object registerStore(String memberId, StoreRequestDto storeRequestDto);
String registerStore(String memberId, StoreRequestDto storeRequestDto);
MemberInfoResponseDto getMemberInfo(String memberId);
void updateMemberInfo(String memberId, MemberInfoRequestDto memberInfoRequestDto);
}
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
package com.hyundai.domain.login.service.oauth;


import com.hyundai.domain.login.dto.MemberInfoRequestDto;
import com.hyundai.domain.login.dto.MemberInfoResponseDto;
import com.hyundai.domain.login.dto.StoreRequestDto;
import com.hyundai.domain.login.dto.kakao.KakaoLoginResponseDto;
import com.hyundai.domain.login.dto.kakao.KakaoTokenResponseDto;
Expand All @@ -21,6 +23,7 @@
import org.springframework.security.core.Authentication;
import org.springframework.security.core.context.SecurityContextHolder;
import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Transactional;

import java.util.HashMap;
import java.util.Map;
Expand Down Expand Up @@ -125,7 +128,7 @@ public String deleteMember(String memberId) {
return member.getMemberName();
}

public Object registerStore(String memberId, StoreRequestDto storeRequestDto) {
public String registerStore(String memberId, StoreRequestDto storeRequestDto) {
log.debug("------ 판매자 등록 요청 ------");
Map<String, Object> params = new HashMap<>();
params.put("memberId", memberId);
Expand All @@ -135,4 +138,29 @@ public Object registerStore(String memberId, StoreRequestDto storeRequestDto) {
log.debug("------ 판매자 등록 요청 완료 ------");
return storeRequestDto.getStoreName();
}

@Override
public MemberInfoResponseDto getMemberInfo(String memberId) {
log.debug("------ 회원정보 조회 ------");
return memberMapper.getMemberByMemberId(memberId)
.orElseThrow(() -> new GlobalException(GlobalErrorCode.USER_NOT_FOUND));
}

@Override
@Transactional
public void updateMemberInfo(String memberId, MemberInfoRequestDto memberInfoRequestDto) {
log.debug("------ 회원정보 수정 ------");
Map<String, Object> params = new HashMap<>();
params.put("memberId", memberId);
params.put("memberName", memberInfoRequestDto.getMemberName());
params.put("memberNickname", memberInfoRequestDto.getMemberNickname());
params.put("memberPhone", memberInfoRequestDto.getMemberPhone());
params.put("memberGender", memberInfoRequestDto.getMemberGender());
params.put("memberBirth", memberInfoRequestDto.getMemberBirth());
params.put("infoAddr", memberInfoRequestDto.getInfoAddr());
params.put("infoZipcode", memberInfoRequestDto.getInfoZipcode());
memberMapper.updateMember(params);
memberMapper.updateMemberInfo(params);
log.debug("------ 회원정보 수정 완료 ------");
}
}
4 changes: 4 additions & 0 deletions src/main/java/com/hyundai/global/mapper/MemberMapper.java
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
package com.hyundai.global.mapper;

import com.hyundai.domain.login.dto.MemberInfoResponseDto;
import com.hyundai.domain.login.entity.Member;
import org.apache.ibatis.annotations.Param;

Expand All @@ -14,4 +15,7 @@ public interface MemberMapper {
void deleteMember(String memberId);
Optional<Member> findMemberByMemberId(@Param("memberId")String memberId);
void registerStore(Map<String, Object> map);
Optional<MemberInfoResponseDto> getMemberByMemberId(String memberId);
void updateMember(Map<String, Object> map);
void updateMemberInfo(Map<String, Object> map);
}
42 changes: 42 additions & 0 deletions src/main/resources/com/hyundai/global/mapper/MemberMapper.xml
Original file line number Diff line number Diff line change
Expand Up @@ -75,5 +75,47 @@
VALUES(SEQ_STORE_ID.nextval, #{memberId}, #{storeName}, #{storeTel}, sysdate)
</insert>

<select id="getMemberByMemberId" resultType="MemberInfoResponseDto">
SELECT m.member_id AS "memberId",
m.member_email AS "memberEmail",
m.member_name AS "memberName",
m.member_nickname AS "memberNickname",
m.member_phone AS "memberPhone",
m.member_gender AS "memberGender",
m.member_birth AS "memberBirth",
m.member_role AS "memberRole",
m.REFRESH_TOKEN AS "refreshToken",
m.created_at AS "createdAt",
m.modified_at AS "updatedAt",
m.deleted_at AS "deletedAt",
mi.info_addr AS "infoAddr",
mi.info_zipcode AS "infoZipcode"
FROM tbl_member m
LEFT JOIN tbl_member_info mi ON m.member_id = mi.member_id
WHERE m.member_id = #{memberId}
</select>

<update id="updateMember" parameterType="Map">
<!-- tbl_member 테이블 업데이트 -->
UPDATE tbl_member
SET
member_name = #{memberName},
member_nickname = #{memberNickname},
member_phone = #{memberPhone},
member_gender = #{memberGender},
member_birth = #{memberBirth},
modified_at = CURRENT_TIMESTAMP
WHERE member_id = #{memberId}
</update>

<update id="updateMemberInfo" parameterType="Map">
<!-- tbl_member_info 테이블 업데이트 -->
UPDATE tbl_member_info
SET
info_addr = #{infoAddr},
info_zipcode = #{infoZipcode}
WHERE member_id = #{memberId}
</update>


</mapper>

0 comments on commit 633c701

Please sign in to comment.