From 70016c26497e81465619b03223001273543c8933 Mon Sep 17 00:00:00 2001 From: zxcv9203 <41960243+zxcv9203@users.noreply.github.com> Date: Mon, 11 Mar 2024 20:40:01 +0900 Subject: [PATCH] =?UTF-8?q?=20:bug:=20[STMT-146]=20=EB=A9=A4=EB=B2=84=20?= =?UTF-8?q?=EB=A0=88=EB=B2=A8=EC=9D=84=20=ED=91=9C=ED=98=84=ED=95=98?= =?UTF-8?q?=EA=B8=B0=20=EC=9C=84=ED=95=9C=20rank=20=EC=B9=BC=EB=9F=BC?= =?UTF-8?q?=EC=9D=98=20DB=20=EC=98=88=EC=95=BD=EC=96=B4=EB=A1=9C=20?= =?UTF-8?q?=EC=9D=B8=ED=95=9C=20insert=20=EC=BF=BC=EB=A6=AC=20=EC=8B=A4?= =?UTF-8?q?=ED=8C=A8=20=EB=B2=84=EA=B7=B8=20=ED=95=B4=EA=B2=B0=20(#95)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * :bug: [STMT-146] 멤버 레벨을 표현하기 위한 rank 칼럼의 DB 예약어로 인한 insert 쿼리 실패 버그 해결 * :bug: [STMT-146] rank -> tier 누락된 부분 수정 --- .../adapter/in/web/response/MemberProfileResponse.java | 2 +- .../member/adapter/out/persistence/MemberJpaEntity.java | 6 +++--- .../adapter/out/persistence/MemberPersistenceMapper.java | 4 ++-- .../application/port/in/mapper/MemberUseCaseMapper.java | 2 +- .../member/application/service/MemberOAuthService.java | 2 +- .../com/stumeet/server/member/domain/MemberLevel.java | 2 +- .../member/domain/{MemberRank.java => MemberTier.java} | 2 +- .../db/migration/V1.3__modify_column_rank_to_tier.sql | 1 + .../member/adapter/in/web/MemberProfileApiTest.java | 2 +- src/test/java/com/stumeet/server/stub/MemberStub.java | 8 ++++---- src/test/resources/db/setup.sql | 2 +- 11 files changed, 17 insertions(+), 16 deletions(-) rename src/main/java/com/stumeet/server/member/domain/{MemberRank.java => MemberTier.java} (92%) create mode 100644 src/main/resources/db/migration/V1.3__modify_column_rank_to_tier.sql diff --git a/src/main/java/com/stumeet/server/member/adapter/in/web/response/MemberProfileResponse.java b/src/main/java/com/stumeet/server/member/adapter/in/web/response/MemberProfileResponse.java index 1c7e3e61..d853d54d 100644 --- a/src/main/java/com/stumeet/server/member/adapter/in/web/response/MemberProfileResponse.java +++ b/src/main/java/com/stumeet/server/member/adapter/in/web/response/MemberProfileResponse.java @@ -9,7 +9,7 @@ public record MemberProfileResponse( String nickname, String region, String profession, - String rank, + String tier, double experience ) { } diff --git a/src/main/java/com/stumeet/server/member/adapter/out/persistence/MemberJpaEntity.java b/src/main/java/com/stumeet/server/member/adapter/out/persistence/MemberJpaEntity.java index e55fa4c3..3a040646 100644 --- a/src/main/java/com/stumeet/server/member/adapter/out/persistence/MemberJpaEntity.java +++ b/src/main/java/com/stumeet/server/member/adapter/out/persistence/MemberJpaEntity.java @@ -2,7 +2,7 @@ import com.stumeet.server.common.model.BaseTimeEntity; import com.stumeet.server.member.domain.AuthType; -import com.stumeet.server.member.domain.MemberRank; +import com.stumeet.server.member.domain.MemberTier; import com.stumeet.server.member.domain.UserRole; import com.stumeet.server.profession.adapter.out.persistence.ProfessionJpaEntity; import jakarta.persistence.*; @@ -37,10 +37,10 @@ public class MemberJpaEntity extends BaseTimeEntity { @Comment("멤버 이미지 URL") private String image; - @Column(name = "rank", length = 50, nullable = false) + @Column(name = "tier", length = 50, nullable = false) @Enumerated(EnumType.STRING) @Comment("등급") - private MemberRank rank; + private MemberTier tier; @Column(name = "experience", nullable = false) @Comment("경험치") diff --git a/src/main/java/com/stumeet/server/member/adapter/out/persistence/MemberPersistenceMapper.java b/src/main/java/com/stumeet/server/member/adapter/out/persistence/MemberPersistenceMapper.java index bfc5899e..3c64a78b 100644 --- a/src/main/java/com/stumeet/server/member/adapter/out/persistence/MemberPersistenceMapper.java +++ b/src/main/java/com/stumeet/server/member/adapter/out/persistence/MemberPersistenceMapper.java @@ -17,7 +17,7 @@ public MemberJpaEntity toEntity(Member domain) { .id(domain.getId()) .name(domain.getName()) .image(domain.getImage()) - .rank(domain.getLevel().getRank()) + .tier(domain.getLevel().getTier()) .experience(domain.getLevel().getExperience()) .region(domain.getRegion()) .profession(professionPersistenceMapper.toEntity(domain.getProfession())) @@ -28,7 +28,7 @@ public MemberJpaEntity toEntity(Member domain) { public Member toDomain(MemberJpaEntity entity) { MemberLevel level = MemberLevel.builder() - .rank(entity.getRank()) + .tier(entity.getTier()) .experience(entity.getExperience()) .build(); diff --git a/src/main/java/com/stumeet/server/member/application/port/in/mapper/MemberUseCaseMapper.java b/src/main/java/com/stumeet/server/member/application/port/in/mapper/MemberUseCaseMapper.java index 1374cb84..327b2637 100644 --- a/src/main/java/com/stumeet/server/member/application/port/in/mapper/MemberUseCaseMapper.java +++ b/src/main/java/com/stumeet/server/member/application/port/in/mapper/MemberUseCaseMapper.java @@ -14,7 +14,7 @@ public MemberProfileResponse toProfileResponse(Member member) { .nickname(member.getName()) .region(member.getRegion()) .profession(member.getProfession().getName()) - .rank(member.getLevel().getRank().getName()) + .tier(member.getLevel().getTier().getName()) .experience(member.getLevel().getExperience()) .build(); } diff --git a/src/main/java/com/stumeet/server/member/application/service/MemberOAuthService.java b/src/main/java/com/stumeet/server/member/application/service/MemberOAuthService.java index 20133cd8..e3b11036 100644 --- a/src/main/java/com/stumeet/server/member/application/service/MemberOAuthService.java +++ b/src/main/java/com/stumeet/server/member/application/service/MemberOAuthService.java @@ -29,7 +29,7 @@ public Member getMemberOrCreate(OAuthUserProfileResponse response, String provid member = memberQueryPort.getByOAuthProviderId(response.id(), oAuthProvider); } else { MemberLevel initialLevel = MemberLevel.builder() - .rank(MemberRank.SEED) + .tier(MemberTier.SEED) .experience(0.0) .build(); member = memberCommandPort.save( diff --git a/src/main/java/com/stumeet/server/member/domain/MemberLevel.java b/src/main/java/com/stumeet/server/member/domain/MemberLevel.java index 4012f013..ecaee591 100644 --- a/src/main/java/com/stumeet/server/member/domain/MemberLevel.java +++ b/src/main/java/com/stumeet/server/member/domain/MemberLevel.java @@ -9,6 +9,6 @@ @Builder public class MemberLevel { - private MemberRank rank; + private MemberTier tier; private double experience; } diff --git a/src/main/java/com/stumeet/server/member/domain/MemberRank.java b/src/main/java/com/stumeet/server/member/domain/MemberTier.java similarity index 92% rename from src/main/java/com/stumeet/server/member/domain/MemberRank.java rename to src/main/java/com/stumeet/server/member/domain/MemberTier.java index 5213b005..b6615e21 100644 --- a/src/main/java/com/stumeet/server/member/domain/MemberRank.java +++ b/src/main/java/com/stumeet/server/member/domain/MemberTier.java @@ -5,7 +5,7 @@ @RequiredArgsConstructor @Getter -public enum MemberRank { +public enum MemberTier { SEED("씨앗"), SPROUT("새싹"), LEAF("잎"), diff --git a/src/main/resources/db/migration/V1.3__modify_column_rank_to_tier.sql b/src/main/resources/db/migration/V1.3__modify_column_rank_to_tier.sql new file mode 100644 index 00000000..2086f612 --- /dev/null +++ b/src/main/resources/db/migration/V1.3__modify_column_rank_to_tier.sql @@ -0,0 +1 @@ +ALTER TABLE member RENAME COLUMN `rank` TO `tier` \ No newline at end of file diff --git a/src/test/java/com/stumeet/server/member/adapter/in/web/MemberProfileApiTest.java b/src/test/java/com/stumeet/server/member/adapter/in/web/MemberProfileApiTest.java index 694fcd0e..97429797 100644 --- a/src/test/java/com/stumeet/server/member/adapter/in/web/MemberProfileApiTest.java +++ b/src/test/java/com/stumeet/server/member/adapter/in/web/MemberProfileApiTest.java @@ -124,7 +124,7 @@ void successTest() throws Exception { fieldWithPath("data.nickname").description("닉네임"), fieldWithPath("data.region").description("지역"), fieldWithPath("data.profession").description("분야 이름"), - fieldWithPath("data.rank").description("회원 레벨 - 랭크"), + fieldWithPath("data.tier").description("회원 레벨 - 랭크"), fieldWithPath("data.experience").description("회원 레벨 - 경험치") ))); } diff --git a/src/test/java/com/stumeet/server/stub/MemberStub.java b/src/test/java/com/stumeet/server/stub/MemberStub.java index 9d801852..2921d4ef 100644 --- a/src/test/java/com/stumeet/server/stub/MemberStub.java +++ b/src/test/java/com/stumeet/server/stub/MemberStub.java @@ -33,7 +33,7 @@ public static MemberJpaEntity getMemberEntity() { .profession(ProfessionStub.getProfessionEntity()) .role(UserRole.FIRST_LOGIN) .authType(AuthType.OAUTH) - .rank(MemberRank.SEED) + .tier(MemberTier.SEED) .experience(0.0) .build(); } @@ -45,7 +45,7 @@ public static MemberSignupCommand getMemberSignupCommand() { public static Member getMember(WithMockMember annotation) { MemberLevel level = MemberLevel.builder() - .rank(MemberRank.SEED) + .tier(MemberTier.SEED) .experience(0.0) .build(); @@ -63,7 +63,7 @@ public static Member getMember(WithMockMember annotation) { public static Member getMember() { MemberLevel level = MemberLevel.builder() - .rank(MemberRank.SEED) + .tier(MemberTier.SEED) .experience(0.0) .build(); return Member.builder() @@ -95,7 +95,7 @@ public static MemberProfileResponse getMemberProfileResponse(Member member) { .nickname(member.getName()) .region(member.getRegion()) .profession(member.getProfession().getName()) - .rank(member.getLevel().getRank().getName()) + .tier(member.getLevel().getTier().getName()) .experience(member.getLevel().getExperience()) .build(); } diff --git a/src/test/resources/db/setup.sql b/src/test/resources/db/setup.sql index 649cb84e..501cee69 100644 --- a/src/test/resources/db/setup.sql +++ b/src/test/resources/db/setup.sql @@ -1,3 +1,3 @@ -INSERT INTO member (id, name, image, region, profession_id, role, auth_type, rank, experience, is_deleted, deleted_at) +INSERT INTO member (id, name, image, region, profession_id, role, auth_type, tier, experience, is_deleted, deleted_at) VALUES (1, 'test', 'http://localhost:4572/user/1/profile/2024030416531039839905-b7e8-4ad3-9552-7d9cbc01cb14-test.jpg', '서울', 1, 'FIRST_LOGIN', 'OAUTH', 'SEED', 0.0, false, null); \ No newline at end of file