From 32716181d7d7f9d1fc4cdf4f683d86572737d5e1 Mon Sep 17 00:00:00 2001 From: Rimi Date: Sat, 10 Aug 2024 23:01:44 +0900 Subject: [PATCH 1/3] =?UTF-8?q?:sparkles:=20[feat]=20=ED=94=84=EB=A1=9C?= =?UTF-8?q?=ED=95=84=20=EC=A1=B0=ED=9A=8C=20=EC=A3=BC/=EB=B6=80=20?= =?UTF-8?q?=ED=8F=AC=EC=A7=80=EC=85=98=20=EC=B6=94=EA=B0=80=20=EB=B0=8F=20?= =?UTF-8?q?=EC=97=94=EB=93=9C=ED=8F=AC=EC=9D=B8=ED=8A=B8=20=EC=88=98?= =?UTF-8?q?=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../domain/{ => matching}/QMatchingRecord.java | 14 +++++++------- .../com/gamegoo/domain/member/QMember.java | 2 ++ .../java/com/gamegoo/config/SecurityConfig.java | 4 ++-- .../controller/member/ProfileController.java | 8 ++++---- .../com/gamegoo/converter/MemberConverter.java | 10 ++++++---- .../com/gamegoo/dto/member/MemberResponse.java | 3 +++ .../com/gamegoo/service/member/AuthService.java | 4 ++-- .../com/gamegoo/service/member/ProfileService.java | 10 ++++++++-- 8 files changed, 34 insertions(+), 21 deletions(-) rename src/main/generated/com/gamegoo/domain/{ => matching}/QMatchingRecord.java (82%) diff --git a/src/main/generated/com/gamegoo/domain/QMatchingRecord.java b/src/main/generated/com/gamegoo/domain/matching/QMatchingRecord.java similarity index 82% rename from src/main/generated/com/gamegoo/domain/QMatchingRecord.java rename to src/main/generated/com/gamegoo/domain/matching/QMatchingRecord.java index 50ee2dff..8d7fdd9e 100644 --- a/src/main/generated/com/gamegoo/domain/QMatchingRecord.java +++ b/src/main/generated/com/gamegoo/domain/matching/QMatchingRecord.java @@ -1,4 +1,4 @@ -package com.gamegoo.domain; +package com.gamegoo.domain.matching; import static com.querydsl.core.types.PathMetadataFactory.*; @@ -16,7 +16,7 @@ @Generated("com.querydsl.codegen.DefaultEntitySerializer") public class QMatchingRecord extends EntityPathBase { - private static final long serialVersionUID = 75682738L; + private static final long serialVersionUID = 1978268795L; private static final PathInits INITS = PathInits.DIRECT2; @@ -35,19 +35,19 @@ public class QMatchingRecord extends EntityPathBase { public final NumberPath mannerLevel = createNumber("mannerLevel", Integer.class); - public final StringPath matchingType = createString("matchingType"); + public final EnumPath matchingType = createEnum("matchingType", MatchingType.class); - public final com.gamegoo.domain.Member.QMember member; + public final com.gamegoo.domain.member.QMember member; public final BooleanPath mike = createBoolean("mike"); public final StringPath rank = createString("rank"); - public final StringPath status = createString("status"); + public final EnumPath status = createEnum("status", MatchingStatus.class); public final NumberPath subPosition = createNumber("subPosition", Integer.class); - public final EnumPath tier = createEnum("tier", com.gamegoo.domain.Member.Tier.class); + public final EnumPath tier = createEnum("tier", com.gamegoo.domain.member.Tier.class); //inherited public final DateTimePath updatedAt = _super.updatedAt; @@ -74,7 +74,7 @@ public QMatchingRecord(PathMetadata metadata, PathInits inits) { public QMatchingRecord(Class type, PathMetadata metadata, PathInits inits) { super(type, metadata, inits); - this.member = inits.isInitialized("member") ? new com.gamegoo.domain.Member.QMember(forProperty("member")) : null; + this.member = inits.isInitialized("member") ? new com.gamegoo.domain.member.QMember(forProperty("member")) : null; } } diff --git a/src/main/generated/com/gamegoo/domain/member/QMember.java b/src/main/generated/com/gamegoo/domain/member/QMember.java index cb91b44f..b11bc60f 100644 --- a/src/main/generated/com/gamegoo/domain/member/QMember.java +++ b/src/main/generated/com/gamegoo/domain/member/QMember.java @@ -37,6 +37,8 @@ public class QMember extends EntityPathBase { public final NumberPath id = createNumber("id", Long.class); + public final BooleanPath isAgree = createBoolean("isAgree"); + public final EnumPath loginType = createEnum("loginType", LoginType.class); public final NumberPath mainPosition = createNumber("mainPosition", Integer.class); diff --git a/src/main/java/com/gamegoo/config/SecurityConfig.java b/src/main/java/com/gamegoo/config/SecurityConfig.java index d1f72e0d..01dc24e4 100644 --- a/src/main/java/com/gamegoo/config/SecurityConfig.java +++ b/src/main/java/com/gamegoo/config/SecurityConfig.java @@ -48,7 +48,7 @@ public JWTFilter jwtFilter() { List excludedPaths = Arrays.asList("/swagger-ui/", "/v3/api-docs", "/v1/member/join", "/v1/member/login", "/v1/member/email", "/v1/member/refresh", "/v1/member/riot", "/v1/posts/list", "/v1/posts/list/{boardId}", - "/v1/test/chatroom/create/matched", "/v1/member/password/reset", "/v1/member/profile/{id}"); + "/v1/test/chatroom/create/matched", "/v1/member/password/reset", "/v1/member/profile/other"); return new JWTFilter(jwtUtil, excludedPaths, customUserDetailService); } @@ -69,7 +69,7 @@ public SecurityFilterChain filterChain(HttpSecurity http) throws Exception { .authorizeHttpRequests((auth) -> auth .antMatchers("/", "/v1/member/join", "/v1/member/login", "/v1/member/email/**", "/v1/member/refresh", "/v1/member/riot", "/v1/posts/list/**", - "/v1/test/chatroom/create/matched", "/v1/member/password/reset", "/v1/member/profile/{id}").permitAll() + "/v1/test/chatroom/create/matched", "/v1/member/password/reset", "/v1/member/profile/other").permitAll() .antMatchers("/", "/swagger-ui/**", "/v3/api-docs/**").permitAll() .anyRequest().authenticated()) .addFilterBefore(new JWTExceptionHandlerFilter(), diff --git a/src/main/java/com/gamegoo/controller/member/ProfileController.java b/src/main/java/com/gamegoo/controller/member/ProfileController.java index 132f356b..66ca3968 100644 --- a/src/main/java/com/gamegoo/controller/member/ProfileController.java +++ b/src/main/java/com/gamegoo/controller/member/ProfileController.java @@ -78,8 +78,8 @@ public ApiResponse blindMember() { } - @Operation(summary = "jwt 토큰이 필요한 회원 조회 API 입니다.", description = "API for looking up member with jwt") - @GetMapping("/profile/jwt") + @Operation(summary = "내 프로필 조회 API 입니다. (jwt 토큰 O)", description = "API for looking up member with jwt") + @GetMapping("/profile") public ApiResponse getMemberJWT() { Long memberId = JWTUtil.getCurrentUserId(); @@ -88,8 +88,8 @@ public ApiResponse getMemberJWT() { return ApiResponse.onSuccess(MemberConverter.toMyProfileDTO(myProfile)); } - @Operation(summary = "회원 조회 API 입니다.", description = "API for looking up member") - @GetMapping("/profile") + @Operation(summary = "다른 회원 프로필 조회 API 입니다. (jwt 토큰 X)", description = "API for looking up member") + @GetMapping("/profile/other") public ApiResponse getMember(@RequestParam("id") Long memberId) { Member myProfile = profileService.findMember(memberId); diff --git a/src/main/java/com/gamegoo/converter/MemberConverter.java b/src/main/java/com/gamegoo/converter/MemberConverter.java index 2bbd40c3..ad56153e 100644 --- a/src/main/java/com/gamegoo/converter/MemberConverter.java +++ b/src/main/java/com/gamegoo/converter/MemberConverter.java @@ -1,14 +1,13 @@ package com.gamegoo.converter; -import com.gamegoo.domain.member.Member; import com.gamegoo.domain.friend.Friend; +import com.gamegoo.domain.member.Member; import com.gamegoo.dto.member.MemberResponse; +import org.springframework.data.domain.Page; import java.util.List; import java.util.stream.Collectors; -import org.springframework.data.domain.Page; - public class MemberConverter { public static MemberResponse.blockListDTO toBlockListDTO(Page blockList) { @@ -65,13 +64,16 @@ public static MemberResponse.myProfileMemberDTO toMyProfileDTO(Member member) { .tier(member.getTier()) .rank(member.getRank()) .profileImg(member.getProfileImage()) + .manner(member.getMannerLevel()) + .mainP(member.getMainPosition()) + .subP(member.getSubPosition()) .updatedAt(String.valueOf(member.getUpdatedAt())) .gameStyleResponseDTOList(gameStyleResponseDTOList) .championResponseDTOList(championResponseDTOList) .build(); } - + public static MemberResponse.friendInfoDTO toFriendInfoDto(Friend friend) { return MemberResponse.friendInfoDTO.builder() .memberId(friend.getToMember().getId()) diff --git a/src/main/java/com/gamegoo/dto/member/MemberResponse.java b/src/main/java/com/gamegoo/dto/member/MemberResponse.java index 63ef4615..df1ac889 100644 --- a/src/main/java/com/gamegoo/dto/member/MemberResponse.java +++ b/src/main/java/com/gamegoo/dto/member/MemberResponse.java @@ -89,7 +89,10 @@ public static class myProfileMemberDTO { String tag; Tier tier; String rank; + Integer manner; String updatedAt; + Integer mainP; + Integer subP; List gameStyleResponseDTOList; List championResponseDTOList; } diff --git a/src/main/java/com/gamegoo/service/member/AuthService.java b/src/main/java/com/gamegoo/service/member/AuthService.java index 1b070824..7138e0af 100644 --- a/src/main/java/com/gamegoo/service/member/AuthService.java +++ b/src/main/java/com/gamegoo/service/member/AuthService.java @@ -128,10 +128,10 @@ public Member joinMember(String email, String password, String gameName, String * @param email */ @Transactional - public void sendEmail(String email, Boolean ischeck) { + public void sendEmail(String email, Boolean isCheck) { // 중복 확인하기 boolean isPresent = memberRepository.findByEmail(email).isPresent(); - if (isPresent && ischeck) { + if (isPresent && isCheck) { throw new MemberHandler(ErrorStatus.MEMBER_CONFLICT); } diff --git a/src/main/java/com/gamegoo/service/member/ProfileService.java b/src/main/java/com/gamegoo/service/member/ProfileService.java index 452a904d..21d19286 100644 --- a/src/main/java/com/gamegoo/service/member/ProfileService.java +++ b/src/main/java/com/gamegoo/service/member/ProfileService.java @@ -2,9 +2,9 @@ import com.gamegoo.apiPayload.code.status.ErrorStatus; import com.gamegoo.apiPayload.exception.handler.MemberHandler; -import com.gamegoo.domain.member.Member; import com.gamegoo.domain.gamestyle.GameStyle; import com.gamegoo.domain.gamestyle.MemberGameStyle; +import com.gamegoo.domain.member.Member; import com.gamegoo.repository.member.GameStyleRepository; import com.gamegoo.repository.member.MemberGameStyleRepository; import com.gamegoo.repository.member.MemberRepository; @@ -35,7 +35,13 @@ public List addMemberGameStyles(List gameStyleIdList, Lon Member member = memberRepository.findById(memberId) .orElseThrow(() -> new MemberHandler(ErrorStatus.MEMBER_NOT_FOUND)); - + /* + 1. 전화 시간 안지킴. 11시에 보는거였는데 20분 30분에 만남. 나는 11시부터 너랑 통화할거 생각해서 일 끝내고 루틴 마무리해서 기다리고있음. + 2. 원래는 본인이 뭐 하면 뭐한다고 얘기하는데 요즘 그런거 없어짐 + 3. 난 평소에 너 뭐하는지 궁금한데 너는 나만큼 내 삶에 대해서 궁금해주지 않는 것 같음. + 4. 나를 만나는 날이 아니면 너의 일상에서 나에게 할당된 시간이 짧다고 느껴짐 + 5. 일하는건 이해되는데 배드민턴 칠 때 뭐하느라 그렇게 연락 많이 못보는지 궁금함. 일할 때 자주 연락해주는건 고마움. 근데 도대체 일끝났는데 왜 연락이 그렇게 안되는건지 살짝 설명이 필요함. 3시간동안 배드민턴한다고 연락을 안보는게 이해가 안됨. 중간중간 내 생각이 안나는지 궁금함. + */ // 요청으로 온 gamestyleId로 GameStyle 엔티티 리스트를 생성 및 gamestyleId에 해당하는 gamestyle이 db에 존재하는지 검증 List requestGameStyleList = gameStyleIdList.stream() .map(gameStyleId -> gameStyleRepository.findById(gameStyleId) From dba1c057a6d241806a65fa4dc73cf31e87ce3601 Mon Sep 17 00:00:00 2001 From: Rimi Date: Sat, 10 Aug 2024 23:28:58 +0900 Subject: [PATCH 2/3] =?UTF-8?q?:bug:=20[fix]=20=ED=9A=8C=EC=9B=90=20?= =?UTF-8?q?=EC=A1=B0=ED=9A=8C=20=EC=9D=91=EB=8B=B5=20=EB=B3=80=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/gamegoo/domain/matching/QMatchingRecord.java | 2 +- src/main/generated/com/gamegoo/domain/member/QMember.java | 2 +- src/main/java/com/gamegoo/converter/MemberConverter.java | 6 +++++- src/main/java/com/gamegoo/dto/member/MemberResponse.java | 4 ++++ src/main/java/com/gamegoo/service/member/AuthService.java | 1 + 5 files changed, 12 insertions(+), 3 deletions(-) diff --git a/src/main/generated/com/gamegoo/domain/matching/QMatchingRecord.java b/src/main/generated/com/gamegoo/domain/matching/QMatchingRecord.java index 8d7fdd9e..dadf376c 100644 --- a/src/main/generated/com/gamegoo/domain/matching/QMatchingRecord.java +++ b/src/main/generated/com/gamegoo/domain/matching/QMatchingRecord.java @@ -41,7 +41,7 @@ public class QMatchingRecord extends EntityPathBase { public final BooleanPath mike = createBoolean("mike"); - public final StringPath rank = createString("rank"); + public final NumberPath rank = createNumber("rank", Integer.class); public final EnumPath status = createEnum("status", MatchingStatus.class); diff --git a/src/main/generated/com/gamegoo/domain/member/QMember.java b/src/main/generated/com/gamegoo/domain/member/QMember.java index b11bc60f..4c120be6 100644 --- a/src/main/generated/com/gamegoo/domain/member/QMember.java +++ b/src/main/generated/com/gamegoo/domain/member/QMember.java @@ -61,7 +61,7 @@ public class QMember extends EntityPathBase { public final NumberPath profileImage = createNumber("profileImage", Integer.class); - public final StringPath rank = createString("rank"); + public final NumberPath rank = createNumber("rank", Integer.class); public final StringPath refreshToken = createString("refreshToken"); diff --git a/src/main/java/com/gamegoo/converter/MemberConverter.java b/src/main/java/com/gamegoo/converter/MemberConverter.java index ad56153e..e103d295 100644 --- a/src/main/java/com/gamegoo/converter/MemberConverter.java +++ b/src/main/java/com/gamegoo/converter/MemberConverter.java @@ -67,13 +67,17 @@ public static MemberResponse.myProfileMemberDTO toMyProfileDTO(Member member) { .manner(member.getMannerLevel()) .mainP(member.getMainPosition()) .subP(member.getSubPosition()) + .isAgree(member.getIsAgree()) + .isBlind(member.getBlind()) + .winrate(member.getWinRate()) + .loginType(String.valueOf(member.getLoginType())) .updatedAt(String.valueOf(member.getUpdatedAt())) .gameStyleResponseDTOList(gameStyleResponseDTOList) .championResponseDTOList(championResponseDTOList) .build(); } - + public static MemberResponse.friendInfoDTO toFriendInfoDto(Friend friend) { return MemberResponse.friendInfoDTO.builder() .memberId(friend.getToMember().getId()) diff --git a/src/main/java/com/gamegoo/dto/member/MemberResponse.java b/src/main/java/com/gamegoo/dto/member/MemberResponse.java index 79e80491..f6c523e5 100644 --- a/src/main/java/com/gamegoo/dto/member/MemberResponse.java +++ b/src/main/java/com/gamegoo/dto/member/MemberResponse.java @@ -93,6 +93,10 @@ public static class myProfileMemberDTO { String updatedAt; Integer mainP; Integer subP; + Boolean isAgree; + Boolean isBlind; + String loginType; + Double winrate; List gameStyleResponseDTOList; List championResponseDTOList; } diff --git a/src/main/java/com/gamegoo/service/member/AuthService.java b/src/main/java/com/gamegoo/service/member/AuthService.java index 7138e0af..73d0ac9b 100644 --- a/src/main/java/com/gamegoo/service/member/AuthService.java +++ b/src/main/java/com/gamegoo/service/member/AuthService.java @@ -81,6 +81,7 @@ public Member joinMember(String email, String password, String gameName, String .profileImage(randomProfileImage) .blind(false) .mike(false) + .mannerLevel(1) .isAgree(isAgree) .build(); From c25f115b82e3f81635441aa163861b45f465af7a Mon Sep 17 00:00:00 2001 From: Rimi Date: Sat, 10 Aug 2024 23:40:30 +0900 Subject: [PATCH 3/3] Update ProfileService.java --- .../java/com/gamegoo/service/member/ProfileService.java | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/src/main/java/com/gamegoo/service/member/ProfileService.java b/src/main/java/com/gamegoo/service/member/ProfileService.java index 21d19286..0e7b7789 100644 --- a/src/main/java/com/gamegoo/service/member/ProfileService.java +++ b/src/main/java/com/gamegoo/service/member/ProfileService.java @@ -35,13 +35,7 @@ public List addMemberGameStyles(List gameStyleIdList, Lon Member member = memberRepository.findById(memberId) .orElseThrow(() -> new MemberHandler(ErrorStatus.MEMBER_NOT_FOUND)); - /* - 1. 전화 시간 안지킴. 11시에 보는거였는데 20분 30분에 만남. 나는 11시부터 너랑 통화할거 생각해서 일 끝내고 루틴 마무리해서 기다리고있음. - 2. 원래는 본인이 뭐 하면 뭐한다고 얘기하는데 요즘 그런거 없어짐 - 3. 난 평소에 너 뭐하는지 궁금한데 너는 나만큼 내 삶에 대해서 궁금해주지 않는 것 같음. - 4. 나를 만나는 날이 아니면 너의 일상에서 나에게 할당된 시간이 짧다고 느껴짐 - 5. 일하는건 이해되는데 배드민턴 칠 때 뭐하느라 그렇게 연락 많이 못보는지 궁금함. 일할 때 자주 연락해주는건 고마움. 근데 도대체 일끝났는데 왜 연락이 그렇게 안되는건지 살짝 설명이 필요함. 3시간동안 배드민턴한다고 연락을 안보는게 이해가 안됨. 중간중간 내 생각이 안나는지 궁금함. - */ + // 요청으로 온 gamestyleId로 GameStyle 엔티티 리스트를 생성 및 gamestyleId에 해당하는 gamestyle이 db에 존재하는지 검증 List requestGameStyleList = gameStyleIdList.stream() .map(gameStyleId -> gameStyleRepository.findById(gameStyleId)