From b2061cd47423f868251da29a235ae58ff8a4ed96 Mon Sep 17 00:00:00 2001 From: Chanho Lee Date: Mon, 27 Jan 2025 21:03:59 +0900 Subject: [PATCH 01/10] =?UTF-8?q?[PC-440]=20fix:=20common=20=EB=AA=A8?= =?UTF-8?q?=EB=93=88=20bootJar=20=EC=83=9D=EC=84=B1=20=EC=95=88=ED=95=98?= =?UTF-8?q?=EB=8F=84=EB=A1=9D=20=EB=B3=80=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- common/build.gradle | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/common/build.gradle b/common/build.gradle index 4b00bf1..0dca75e 100644 --- a/common/build.gradle +++ b/common/build.gradle @@ -12,11 +12,15 @@ repositories { mavenCentral() } +subprojects { + bootJar.enabled = false +} + dependencies { api 'org.springdoc:springdoc-openapi-starter-webmvc-ui:2.6.0' api 'io.hypersistence:hypersistence-utils-hibernate-62:3.7.0' api 'com.fasterxml.jackson.module:jackson-module-jakarta-xmlbind-annotations' - + testImplementation platform('org.junit:junit-bom:5.10.0') testImplementation 'org.junit.jupiter:junit-jupiter' } From 9b5d4cc1ec32ffc3d3095293486c87966ccd6ed0 Mon Sep 17 00:00:00 2001 From: Chanho Lee Date: Mon, 27 Jan 2025 21:12:58 +0900 Subject: [PATCH 02/10] =?UTF-8?q?[PC-440]=20fix:=20religion=20=EC=A0=9C?= =?UTF-8?q?=EA=B1=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../application/dummy/TestDataService.java | 197 +++++++++--------- build.gradle | 6 +- 2 files changed, 102 insertions(+), 101 deletions(-) diff --git a/api/src/test/java/org/yapp/domain/auth/application/dummy/TestDataService.java b/api/src/test/java/org/yapp/domain/auth/application/dummy/TestDataService.java index f060ee5..8093399 100644 --- a/api/src/test/java/org/yapp/domain/auth/application/dummy/TestDataService.java +++ b/api/src/test/java/org/yapp/domain/auth/application/dummy/TestDataService.java @@ -20,103 +20,102 @@ @Component public class TestDataService { - @Autowired - private ProfileRepository profileRepository; - - @Autowired - private UserRepository userRepository; - - @Autowired - private ValuePickRepository valuePickRepository; - - @Autowired - private ProfileValuePickRepository profileValueRepository; - - // Profile 생성 - public Profile createProfile() { - ProfileBio profileBio = ProfileBio.builder() - .introduction("Hello, I am John.") - .goal("Achieve success.") - .interest("Coding") - .build(); - - ProfileBasic profileBasic = ProfileBasic.builder() - .nickname("JohnDoe123") - .birthdate(LocalDate.parse("1990-1-1")) - .height(180) - .job("Engineer") - .location("Seoul") - .smokingStatus("Non-smoker") - .religion("None") - .snsActivityLevel("Medium") - .imageUrl("https://example.com/johndoe.jpg") - .build(); - - Profile profile = Profile.builder() - .profileBasic(profileBasic) - .profileBio(profileBio) - .build(); - - return profileRepository.save(profile); - } - - // User 생성 및 Profile 연결 - public User createUserWithProfile(String userName, String oauthId) { - Profile profile = createProfile(); - - User user = User.builder() - .name(userName) - .oauthId(oauthId) - .profile(profile) - .role("USER") - .build(); - - return userRepository.save(user); - } - - // ValueItem 더미 데이터 생성 - public List createValueItems() { - ValuePick valuePick1 = ValuePick.builder() - .category("음주") - .question("연인과 함께 술을 마시는 것을 좋아하나요?") - .answers(Map.of(1, "함께 술을 즐기고 싶어요", 2, "같이 술을 즐길 수 없어도 괜찮아요")) - .build(); - - ValuePick valuePick2 = ValuePick.builder() - .category("만남 빈도") - .question("주말에 얼마나 자주 데이트를 하고 싶나요?") - .answers(Map.of(1, "주말에는 최대한 같이 있고 싶어요", 2, "하루 정도는 각자 보내고 싶어요")) - .build(); - - ValuePick valuePick3 = ValuePick.builder() - .category("연락 빈도") - .question("연인 사이에 얼마나 자주 연락하는게 좋나요?") - .answers(Map.of(1, "바쁘더라도 자주 연락하고 싶어요", 2, "연락은 생각날 때만 종종 해도 괜찮아요")) - .build(); - - ValuePick valuePick4 = ValuePick.builder() - .category("연락 방식") - .question("연락할 때 어떤 방법을 더 좋아하나요?") - .answers(Map.of(1, "전화보다는 문자나 카톡이 더 좋아요", 2, "문자나 카톡보다는 전화가 더 좋아요")) - .build(); - - return valuePickRepository.saveAll(List.of(valuePick1, valuePick2, valuePick3, valuePick4)); - } - - // ProfileValue 더미 데이터 생성 - public void createProfileValues(Profile profile, List valuePicks) { - ProfileValuePick profileValuePick1 = ProfileValuePick.builder() - .profile(profile) - .valuePick(valuePicks.get(0)) // 음주 - .selectedAnswer(2) // "같이 술을 즐길 수 없어도 괜찮아요" - .build(); - - ProfileValuePick profileValuePick2 = ProfileValuePick.builder() - .profile(profile) - .valuePick(valuePicks.get(1)) // 만남 빈도 - .selectedAnswer(1) // "주말에는 최대한 같이 있고 싶어요" - .build(); - - profileValueRepository.saveAll(List.of(profileValuePick1, profileValuePick2)); - } + @Autowired + private ProfileRepository profileRepository; + + @Autowired + private UserRepository userRepository; + + @Autowired + private ValuePickRepository valuePickRepository; + + @Autowired + private ProfileValuePickRepository profileValueRepository; + + // Profile 생성 + public Profile createProfile() { + ProfileBio profileBio = ProfileBio.builder() + .introduction("Hello, I am John.") + .goal("Achieve success.") + .interest("Coding") + .build(); + + ProfileBasic profileBasic = ProfileBasic.builder() + .nickname("JohnDoe123") + .birthdate(LocalDate.parse("1990-1-1")) + .height(180) + .job("Engineer") + .location("Seoul") + .smokingStatus("Non-smoker") + .snsActivityLevel("Medium") + .imageUrl("https://example.com/johndoe.jpg") + .build(); + + Profile profile = Profile.builder() + .profileBasic(profileBasic) + .profileBio(profileBio) + .build(); + + return profileRepository.save(profile); + } + + // User 생성 및 Profile 연결 + public User createUserWithProfile(String userName, String oauthId) { + Profile profile = createProfile(); + + User user = User.builder() + .name(userName) + .oauthId(oauthId) + .profile(profile) + .role("USER") + .build(); + + return userRepository.save(user); + } + + // ValueItem 더미 데이터 생성 + public List createValueItems() { + ValuePick valuePick1 = ValuePick.builder() + .category("음주") + .question("연인과 함께 술을 마시는 것을 좋아하나요?") + .answers(Map.of(1, "함께 술을 즐기고 싶어요", 2, "같이 술을 즐길 수 없어도 괜찮아요")) + .build(); + + ValuePick valuePick2 = ValuePick.builder() + .category("만남 빈도") + .question("주말에 얼마나 자주 데이트를 하고 싶나요?") + .answers(Map.of(1, "주말에는 최대한 같이 있고 싶어요", 2, "하루 정도는 각자 보내고 싶어요")) + .build(); + + ValuePick valuePick3 = ValuePick.builder() + .category("연락 빈도") + .question("연인 사이에 얼마나 자주 연락하는게 좋나요?") + .answers(Map.of(1, "바쁘더라도 자주 연락하고 싶어요", 2, "연락은 생각날 때만 종종 해도 괜찮아요")) + .build(); + + ValuePick valuePick4 = ValuePick.builder() + .category("연락 방식") + .question("연락할 때 어떤 방법을 더 좋아하나요?") + .answers(Map.of(1, "전화보다는 문자나 카톡이 더 좋아요", 2, "문자나 카톡보다는 전화가 더 좋아요")) + .build(); + + return valuePickRepository.saveAll(List.of(valuePick1, valuePick2, valuePick3, valuePick4)); + } + + // ProfileValue 더미 데이터 생성 + public void createProfileValues(Profile profile, List valuePicks) { + ProfileValuePick profileValuePick1 = ProfileValuePick.builder() + .profile(profile) + .valuePick(valuePicks.get(0)) // 음주 + .selectedAnswer(2) // "같이 술을 즐길 수 없어도 괜찮아요" + .build(); + + ProfileValuePick profileValuePick2 = ProfileValuePick.builder() + .profile(profile) + .valuePick(valuePicks.get(1)) // 만남 빈도 + .selectedAnswer(1) // "주말에는 최대한 같이 있고 싶어요" + .build(); + + profileValueRepository.saveAll(List.of(profileValuePick1, profileValuePick2)); + } } \ No newline at end of file diff --git a/build.gradle b/build.gradle index 43b2461..5065856 100644 --- a/build.gradle +++ b/build.gradle @@ -84,9 +84,11 @@ subprojects { test { reports { - junitXml.outputLocation.set(file("${rootDir}/build/reports/test-results/xml")) // XML 출력 경로 설정 + junitXml.outputLocation.set(file("${rootDir}/build/reports/test-results/xml")) + // XML 출력 경로 설정 html.required.set(true) // HTML 보고서 활성화 - html.outputLocation.set(file("${rootDir}/build/reports/test-results/html")) // HTML 출력 경로 설정 + html.outputLocation.set(file("${rootDir}/build/reports/test-results/html")) + // HTML 출력 경로 설정 } } From 0ff8a7fb783bc93c4242053f1e1cc85e803fc40b Mon Sep 17 00:00:00 2001 From: Chanho Lee Date: Mon, 27 Jan 2025 21:15:09 +0900 Subject: [PATCH 03/10] =?UTF-8?q?[PC-440]=20fix:=20Blocker=20=EB=AA=85?= =?UTF-8?q?=EB=AA=85=20=EC=B2=B4=EA=B3=84=20=EB=B3=80=EA=B2=BD=20=EC=A0=81?= =?UTF-8?q?=EC=9A=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../application/blocker/AcquaintanceBasedBlocker.java | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/api/src/main/java/org/yapp/domain/match/application/blocker/AcquaintanceBasedBlocker.java b/api/src/main/java/org/yapp/domain/match/application/blocker/AcquaintanceBasedBlocker.java index 86000a4..4f6c183 100644 --- a/api/src/main/java/org/yapp/domain/match/application/blocker/AcquaintanceBasedBlocker.java +++ b/api/src/main/java/org/yapp/domain/match/application/blocker/AcquaintanceBasedBlocker.java @@ -1,21 +1,21 @@ package org.yapp.domain.match.application.blocker; +import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Component; -import org.yapp.domain.block.application.BlockService; +import org.yapp.domain.block.application.BlockContactService; import org.yapp.domain.user.User; import org.yapp.domain.user.application.UserService; -import lombok.RequiredArgsConstructor; - @Component @RequiredArgsConstructor public class AcquaintanceBasedBlocker implements Blocker { - private final BlockService blockService; + + private final BlockContactService blockContactService; private final UserService userService; @Override public boolean blocked(Long blockingUserId, Long blockedUserId) { User user = userService.getUserById(blockingUserId); - return blockService.checkIfUserBlockedPhoneNumber(blockedUserId, user.getPhoneNumber()); + return blockContactService.checkIfUserBlockedPhoneNumber(blockedUserId, user.getPhoneNumber()); } } From c3b76235a5e0b56091b3c95aa49049a9c02c038e Mon Sep 17 00:00:00 2001 From: Chanho Lee Date: Mon, 27 Jan 2025 21:16:00 +0900 Subject: [PATCH 04/10] =?UTF-8?q?[PC-440]=20fix:=20=EC=97=B0=EB=9D=BD?= =?UTF-8?q?=EC=B2=98=20=EA=B8=B0=EB=B0=98=20=EC=B0=A8=EB=8B=A8=20=ED=99=95?= =?UTF-8?q?=EC=9D=B8=20=EA=B8=B0=EB=8A=A5=20=EA=B5=AC=ED=98=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../application/BlockContactService.java | 64 ++++++++++--------- .../block/dao/BlockContactRepository.java | 4 +- 2 files changed, 37 insertions(+), 31 deletions(-) diff --git a/api/src/main/java/org/yapp/domain/block/application/BlockContactService.java b/api/src/main/java/org/yapp/domain/block/application/BlockContactService.java index 48bd1c6..ab62605 100644 --- a/api/src/main/java/org/yapp/domain/block/application/BlockContactService.java +++ b/api/src/main/java/org/yapp/domain/block/application/BlockContactService.java @@ -16,34 +16,38 @@ @RequiredArgsConstructor public class BlockContactService { - private final BlockContactRepository blockContactRepository; - - @Transactional() - public void blockPhoneNumbers(BlockContactCreateDto blockContactCreateDto) { - Long userId = blockContactCreateDto.userId(); - List phoneNumbers = blockContactCreateDto.phoneNumbers(); - List newBlockContacts = new ArrayList<>(); - - Set blockedPhoneNumbers = blockContactRepository.findBlocksByUserId(userId) - .stream() - .map(BlockContact::getPhoneNumber) - .collect(Collectors.toSet()); - - phoneNumbers.stream() - .filter(phoneNumber -> !blockedPhoneNumbers.contains(phoneNumber)) - .forEach(phoneNumber -> { - BlockContact blockContact = BlockContact.builder() - .user(User.builder().id(userId).build()) - .phoneNumber(phoneNumber) - .build(); - newBlockContacts.add(blockContact); - }); - - blockContactRepository.saveAll(newBlockContacts); - } - - @Transactional(readOnly = false) - public List findBlocksByUserId(Long userId) { - return blockContactRepository.findBlocksByUserId(userId); - } + private final BlockContactRepository blockContactRepository; + + @Transactional() + public void blockPhoneNumbers(BlockContactCreateDto blockContactCreateDto) { + Long userId = blockContactCreateDto.userId(); + List phoneNumbers = blockContactCreateDto.phoneNumbers(); + List newBlockContacts = new ArrayList<>(); + + Set blockedPhoneNumbers = blockContactRepository.findBlocksByUserId(userId) + .stream() + .map(BlockContact::getPhoneNumber) + .collect(Collectors.toSet()); + + phoneNumbers.stream() + .filter(phoneNumber -> !blockedPhoneNumbers.contains(phoneNumber)) + .forEach(phoneNumber -> { + BlockContact blockContact = BlockContact.builder() + .user(User.builder().id(userId).build()) + .phoneNumber(phoneNumber) + .build(); + newBlockContacts.add(blockContact); + }); + + blockContactRepository.saveAll(newBlockContacts); + } + + @Transactional(readOnly = false) + public List findBlocksByUserId(Long userId) { + return blockContactRepository.findBlocksByUserId(userId); + } + + public boolean checkIfUserBlockedPhoneNumber(Long userId, String phoneNumber) { + return blockContactRepository.existsByUser_IdAndPhoneNumber(userId, phoneNumber); + } } diff --git a/api/src/main/java/org/yapp/domain/block/dao/BlockContactRepository.java b/api/src/main/java/org/yapp/domain/block/dao/BlockContactRepository.java index aeecd19..76c39e4 100644 --- a/api/src/main/java/org/yapp/domain/block/dao/BlockContactRepository.java +++ b/api/src/main/java/org/yapp/domain/block/dao/BlockContactRepository.java @@ -8,5 +8,7 @@ @Repository public interface BlockContactRepository extends JpaRepository { - List findBlocksByUserId(Long userId); + List findBlocksByUserId(Long userId); + + boolean existsByUser_IdAndPhoneNumber(Long userId, String phoneNumber); } \ No newline at end of file From 4bd6a69dc2a2ceb40e0ca1b6c95fef38e7d10bf3 Mon Sep 17 00:00:00 2001 From: Chanho Lee Date: Mon, 27 Jan 2025 21:16:34 +0900 Subject: [PATCH 05/10] =?UTF-8?q?[PC-440]=20fix:=20=ED=94=84=EB=A1=9C?= =?UTF-8?q?=ED=95=84=20=EA=B0=80=EC=B9=98=EA=B4=80=20=ED=94=BD=20=EC=A1=B0?= =?UTF-8?q?=ED=9A=8C=20=EB=A9=94=EC=84=9C=EB=93=9C=20=EB=B3=80=EA=B2=BD=20?= =?UTF-8?q?=EC=A0=81=EC=9A=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../match/application/algorithm/GreedyMatchingAlgorithm.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/api/src/main/java/org/yapp/domain/match/application/algorithm/GreedyMatchingAlgorithm.java b/api/src/main/java/org/yapp/domain/match/application/algorithm/GreedyMatchingAlgorithm.java index 7bb06c5..631f943 100644 --- a/api/src/main/java/org/yapp/domain/match/application/algorithm/GreedyMatchingAlgorithm.java +++ b/api/src/main/java/org/yapp/domain/match/application/algorithm/GreedyMatchingAlgorithm.java @@ -84,8 +84,8 @@ private boolean checkBlock(Long blockingUserId, Long blockedUserId) { private int calculateWeight(Long fromProfileId, Long toProfileId) { List profileValuePicksOfFrom = - profileValuePickService.getAllProfileValuesByProfileId(fromProfileId); - List profileValuePicksOfTo = profileValuePickService.getAllProfileValuesByProfileId( + profileValuePickService.getAllProfileValuePicksByProfileId(fromProfileId); + List profileValuePicksOfTo = profileValuePickService.getAllProfileValuePicksByProfileId( toProfileId); int valueListSize = profileValuePicksOfFrom.size(); From 60f360b1510789a6d35ed7239c91e55072ecf755 Mon Sep 17 00:00:00 2001 From: Chanho Lee Date: Mon, 27 Jan 2025 21:16:56 +0900 Subject: [PATCH 06/10] =?UTF-8?q?[PC-440]=20fix:=20=EA=B8=B0=EB=B3=B8?= =?UTF-8?q?=EC=83=9D=EC=84=B1=EC=9E=90=20=EC=97=86=EC=96=B4=EC=84=9C=20?= =?UTF-8?q?=EB=82=98=EB=8A=94=20=EC=98=A4=EB=A5=98=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../domain/src/main/java/org/yapp/domain/match/MatchInfo.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/common/domain/src/main/java/org/yapp/domain/match/MatchInfo.java b/common/domain/src/main/java/org/yapp/domain/match/MatchInfo.java index c3a4a33..2594ce0 100644 --- a/common/domain/src/main/java/org/yapp/domain/match/MatchInfo.java +++ b/common/domain/src/main/java/org/yapp/domain/match/MatchInfo.java @@ -9,10 +9,12 @@ import jakarta.persistence.ManyToOne; import java.time.LocalDate; import lombok.Getter; +import lombok.NoArgsConstructor; import org.yapp.domain.user.User; @Entity @Getter +@NoArgsConstructor public class MatchInfo { @Id From badfbc0c008d395da80dcc3f37a6b272bd053977 Mon Sep 17 00:00:00 2001 From: Chanho Lee Date: Mon, 27 Jan 2025 21:17:15 +0900 Subject: [PATCH 07/10] =?UTF-8?q?[PC-440]=20fix:=20=EC=A4=91=EB=B3=B5?= =?UTF-8?q?=EB=90=9C=20MatchInfo=20=EC=82=AD=EC=A0=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/org/yapp/domain/match/MatchInfo.java | 72 ------------------- 1 file changed, 72 deletions(-) delete mode 100644 common/src/main/java/org/yapp/domain/match/MatchInfo.java diff --git a/common/src/main/java/org/yapp/domain/match/MatchInfo.java b/common/src/main/java/org/yapp/domain/match/MatchInfo.java deleted file mode 100644 index 2b69cc0..0000000 --- a/common/src/main/java/org/yapp/domain/match/MatchInfo.java +++ /dev/null @@ -1,72 +0,0 @@ -package org.yapp.domain.match; - -import jakarta.persistence.Column; -import jakarta.persistence.Entity; -import jakarta.persistence.GeneratedValue; -import jakarta.persistence.GenerationType; -import jakarta.persistence.Id; -import jakarta.persistence.JoinColumn; -import jakarta.persistence.ManyToOne; -import java.time.LocalDate; -import lombok.Getter; -import lombok.NoArgsConstructor; -import org.yapp.domain.user.User; - -@Entity -@Getter -@NoArgsConstructor -public class MatchInfo { - - @Id - @GeneratedValue(strategy = GenerationType.IDENTITY) - private Long id; - - @Column(name = "date") - private LocalDate date; - - @ManyToOne - @JoinColumn(name = "user_1") - private User user1; - - @Column(name = "user_1_piece_checked") - private Boolean user1PieceChecked = false; - - @Column(name = "user_1_accept") - private Boolean user1Accepted = false; - - @ManyToOne - @JoinColumn(name = "user_2") - private User user2; - - @Column(name = "user_2_piece_checked") - private Boolean user2PieceChecked = false; - - @Column(name = "user_2_accept") - private Boolean user2Accepted = false; - - public MatchInfo(LocalDate date, User user1, User user2) { - this.date = date; - this.user1 = user1; - this.user2 = user2; - } - - public static MatchInfo createMatchInfo(User user1, User user2) { - return new MatchInfo(LocalDate.now(), user1, user2); - } - - public void checkPiece(Long userId) { - if (user1.getId().equals(userId)) { - user1PieceChecked = true; - } else { - user2PieceChecked = true; - } - } - - public void acceptPiece(Long userId) { - if (user1.getId().equals(userId)) { - user1Accepted = true; - } else { - user2Accepted = true; - } - } -} \ No newline at end of file From f33b4a389ea523b55062b7e2a40366d77b324d0b Mon Sep 17 00:00:00 2001 From: Chanho Lee Date: Mon, 27 Jan 2025 21:18:12 +0900 Subject: [PATCH 08/10] =?UTF-8?q?[PC-440]=20fix:=20=ED=94=84=EB=A1=9C?= =?UTF-8?q?=ED=95=84=20=EA=B0=80=EC=B9=98=EA=B4=80=20=ED=94=BD=20=EB=A9=94?= =?UTF-8?q?=EC=84=9C=EB=93=9C=20=EC=9D=B4=EB=A6=84=20=EB=B3=80=EA=B2=BD=20?= =?UTF-8?q?=EC=A0=81=EC=9A=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../org/yapp/domain/match/application/MatchService.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/api/src/main/java/org/yapp/domain/match/application/MatchService.java b/api/src/main/java/org/yapp/domain/match/application/MatchService.java index 5eed84f..a4d84a6 100644 --- a/api/src/main/java/org/yapp/domain/match/application/MatchService.java +++ b/api/src/main/java/org/yapp/domain/match/application/MatchService.java @@ -184,8 +184,8 @@ public MatchValuePickResponse getMatchedUserValuePicks() { private List getMatchValuePickInnerResponses(Long fromProfileId, Long toProfileId) { List profileValuePicksOfFrom = - profileValuePickService.getAllProfileValuesByProfileId(fromProfileId); - List profileValuePicksOfTo = profileValuePickService.getAllProfileValuesByProfileId( + profileValuePickService.getAllProfileValuePicksByProfileId(fromProfileId); + List profileValuePicksOfTo = profileValuePickService.getAllProfileValuePicksByProfileId( toProfileId); List talkInnerResponses = new ArrayList<>(); @@ -220,8 +220,8 @@ public String getMatchedUserImageUrl() { private List getMatchedValues(Long fromProfileId, Long toProfileId) { List profileValuePicksOfFrom = - profileValuePickService.getAllProfileValuesByProfileId(fromProfileId); - List profileValuePicksOfTo = profileValuePickService.getAllProfileValuesByProfileId( + profileValuePickService.getAllProfileValuePicksByProfileId(fromProfileId); + List profileValuePicksOfTo = profileValuePickService.getAllProfileValuePicksByProfileId( toProfileId); int valueListSize = profileValuePicksOfFrom.size(); From aa43124a48d0463fcb1d95ae8efb8b8c3c5acd4f Mon Sep 17 00:00:00 2001 From: Chanho Lee Date: Mon, 27 Jan 2025 21:18:22 +0900 Subject: [PATCH 09/10] =?UTF-8?q?[PC-440]=20fix:=20=ED=8C=A8=ED=82=A4?= =?UTF-8?q?=EC=A7=80=20=EC=9C=84=EC=B9=98=20=EB=B3=80=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../oauth/service/OauthService.java | 124 +++++++++--------- .../org/yapp/domain/block/DirectBlock.java | 0 .../yapp/domain/match/enums/MatchStatus.java | 0 3 files changed, 62 insertions(+), 62 deletions(-) rename common/{ => domain}/src/main/java/org/yapp/domain/block/DirectBlock.java (100%) rename common/{ => domain}/src/main/java/org/yapp/domain/match/enums/MatchStatus.java (100%) diff --git a/api/src/main/java/org/yapp/domain/auth/application/oauth/service/OauthService.java b/api/src/main/java/org/yapp/domain/auth/application/oauth/service/OauthService.java index 0c0277d..9571652 100644 --- a/api/src/main/java/org/yapp/domain/auth/application/oauth/service/OauthService.java +++ b/api/src/main/java/org/yapp/domain/auth/application/oauth/service/OauthService.java @@ -16,73 +16,73 @@ @RequiredArgsConstructor public class OauthService { - private final OauthProviderResolver oauthProviderResolver; - private final JwtUtil jwtUtil; - private final UserRepository userRepository; - - public OauthLoginResponse login(OauthLoginRequest request) { - OauthProvider oauthProvider = oauthProviderResolver.find(request.getProviderName()); - String oauthId = - request.getProviderName() + oauthProvider.getOAuthProviderUserId(request.getToken()); - - //이미 가입된 유저인지 확인하고 가입되어 있지 않으면 회원가입 처리 - Optional userOptional = userRepository.findByOauthId(oauthId); - if (userOptional.isEmpty()) { - User newUser = User.builder().oauthId(oauthId).role(RoleStatus.NONE.getStatus()) - .build(); - User savedUser = userRepository.save(newUser); - Long userId = savedUser.getId(); - String accessToken = jwtUtil.createJwt("access_token", userId, oauthId, "NONE", - 600000L); - String refreshToken = jwtUtil.createJwt("refresh_token", userId, oauthId, "NONE", - 864000000L); - return new OauthLoginResponse(RoleStatus.NONE.getStatus(), accessToken, refreshToken); - } - - //이미 가입한 유저인 경우 로그인 처리 - Long userId = userOptional.get().getId(); - final User user = userOptional.get(); - - String accessToken = jwtUtil.createJwt("access_token", userId, oauthId, user.getRole(), - 600000L); - String refreshToken = jwtUtil.createJwt("refresh_token", userId, oauthId, user.getRole(), - 864000000L); - - //아직 SMS 인증이 완료되지 않음 - if (user.getRole().equals("NONE")) { - return new OauthLoginResponse(RoleStatus.NONE.getStatus(), accessToken, refreshToken); - } - - // SMS 인증은 완료되었으나, 프로필 등록을 안함 - if (user.getRole().equals("REGISTER")) { - return new OauthLoginResponse(RoleStatus.REGISTER.getStatus(), accessToken, - refreshToken); - } - - //프로필 등록은 했지만, 심사중 - if (user.getRole().equals("PENDING")) { - return new OauthLoginResponse(RoleStatus.PENDING.getStatus(), accessToken, - refreshToken); - } - - // 가입과 프로필 등록까지 완료된 유저 - return new OauthLoginResponse(user.getRole(), accessToken, refreshToken); + private final OauthProviderResolver oauthProviderResolver; + private final JwtUtil jwtUtil; + private final UserRepository userRepository; + + public OauthLoginResponse login(OauthLoginRequest request) { + OauthProvider oauthProvider = oauthProviderResolver.find(request.getProviderName()); + String oauthId = + request.getProviderName() + oauthProvider.getOAuthProviderUserId(request.getToken()); + + //이미 가입된 유저인지 확인하고 가입되어 있지 않으면 회원가입 처리 + Optional userOptional = userRepository.findByOauthId(oauthId); + if (userOptional.isEmpty()) { + User newUser = User.builder().oauthId(oauthId).role(RoleStatus.NONE.getStatus()) + .build(); + User savedUser = userRepository.save(newUser); + Long userId = savedUser.getId(); + String accessToken = jwtUtil.createJwt("access_token", userId, oauthId, "NONE", + 600000L); + String refreshToken = jwtUtil.createJwt("refresh_token", userId, oauthId, "NONE", + 864000000L); + return new OauthLoginResponse(RoleStatus.NONE.getStatus(), accessToken, refreshToken); } + //이미 가입한 유저인 경우 로그인 처리 + Long userId = userOptional.get().getId(); + final User user = userOptional.get(); - public OauthLoginResponse tmpTokenGet(Long userId) { - //이미 가입된 유저인지 확인하고 가입되어 있지 않으면 회원가입 처리 - Optional userOptional = userRepository.findById(userId); + String accessToken = jwtUtil.createJwt("access_token", userId, oauthId, user.getRole(), + 600000L); + String refreshToken = jwtUtil.createJwt("refresh_token", userId, oauthId, user.getRole(), + 864000000L); - System.out.println("userOptional = " + userOptional); - - User user = userOptional.get(); + //아직 SMS 인증이 완료되지 않음 + if (user.getRole().equals("NONE")) { + return new OauthLoginResponse(RoleStatus.NONE.getStatus(), accessToken, refreshToken); + } - String accessToken = jwtUtil.createJwt("access_token", userId, user.getOauthId(), - user.getRole(), 600000L); - String refreshToken = jwtUtil.createJwt("refresh_token", userId, user.getOauthId(), - user.getRole(), 864000000L); + // SMS 인증은 완료되었으나, 프로필 등록을 안함 + if (user.getRole().equals("REGISTER")) { + return new OauthLoginResponse(RoleStatus.REGISTER.getStatus(), accessToken, + refreshToken); + } - return new OauthLoginResponse(RoleStatus.NONE.getStatus(), accessToken, refreshToken); + //프로필 등록은 했지만, 심사중 + if (user.getRole().equals("PENDING")) { + return new OauthLoginResponse(RoleStatus.PENDING.getStatus(), accessToken, + refreshToken); } + + // 가입과 프로필 등록까지 완료된 유저 + return new OauthLoginResponse(user.getRole(), accessToken, refreshToken); + } + + + public OauthLoginResponse tmpTokenGet(Long userId) { + //이미 가입된 유저인지 확인하고 가입되어 있지 않으면 회원가입 처리 + Optional userOptional = userRepository.findById(userId); + + System.out.println("userOptional = " + userOptional); + + User user = userOptional.get(); + + String accessToken = jwtUtil.createJwt("access_token", userId, user.getOauthId(), + user.getRole(), 600000L); + String refreshToken = jwtUtil.createJwt("refresh_token", userId, user.getOauthId(), + user.getRole(), 864000000L); + + return new OauthLoginResponse(RoleStatus.NONE.getStatus(), accessToken, refreshToken); + } } diff --git a/common/src/main/java/org/yapp/domain/block/DirectBlock.java b/common/domain/src/main/java/org/yapp/domain/block/DirectBlock.java similarity index 100% rename from common/src/main/java/org/yapp/domain/block/DirectBlock.java rename to common/domain/src/main/java/org/yapp/domain/block/DirectBlock.java diff --git a/common/src/main/java/org/yapp/domain/match/enums/MatchStatus.java b/common/domain/src/main/java/org/yapp/domain/match/enums/MatchStatus.java similarity index 100% rename from common/src/main/java/org/yapp/domain/match/enums/MatchStatus.java rename to common/domain/src/main/java/org/yapp/domain/match/enums/MatchStatus.java From ce1e0869f2931419eb4c728473beae8cfcf9adf2 Mon Sep 17 00:00:00 2001 From: Chanho Lee Date: Mon, 27 Jan 2025 22:36:20 +0900 Subject: [PATCH 10/10] =?UTF-8?q?[PC-440]=20fix:=20=EB=8F=84=EC=BB=A4=20?= =?UTF-8?q?=EB=84=A4=ED=8A=B8=EC=9B=8C=ED=81=AC=20=EC=84=A4=EC=A0=95,=20?= =?UTF-8?q?=EA=B6=8C=ED=95=9C=20=EC=84=A4=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/cicd.yml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/.github/workflows/cicd.yml b/.github/workflows/cicd.yml index d5a4a62..c890b88 100644 --- a/.github/workflows/cicd.yml +++ b/.github/workflows/cicd.yml @@ -42,7 +42,9 @@ jobs: # gradle build - name: Build with Gradle - run: ./gradlew build -x test + run: | + chmod u+x ./gradlew + ./gradlew build -x test # docker build & push to develop - name: Docker build & push to dev @@ -66,5 +68,5 @@ jobs: script: | sudo docker ps sudo docker pull ${{ secrets.DOCKER_USERNAME }}/docker-test-dev - sudo docker run -d -p 8080:8080 --add-host=localhost:host-gateway ${{ secrets.DOCKER_USERNAME }}/docker-test-dev + sudo docker run -d -p 8080:8080 --network piece-nw ${{ secrets.DOCKER_USERNAME }}/docker-test-dev sudo docker image prune -f \ No newline at end of file