Skip to content

Commit 50fbaef

Browse files
authored
Merge pull request #355 from HaRu-Developers/dev
deploy 4.16
2 parents d6f122d + 786556f commit 50fbaef

File tree

1 file changed

+21
-3
lines changed

1 file changed

+21
-3
lines changed

src/main/java/com/haru/api/domain/snsEvent/service/SnsEventCommandServiceImpl.java

Lines changed: 21 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -97,7 +97,14 @@ public SnsEventResponseDTO.CreateSnsEventResponse createSnsEvent(
9797
List<Participant> filteredCommentList = new ArrayList<>();
9898
Set<String> filteredCommentSet = new HashSet<>();
9999
List<Winner> winnerList = new ArrayList<>();
100+
int cnt = 0;
100101
for (SnsEventResponseDTO.Media media : instagramMediaResponse.getData()) {
102+
System.out.println("리스트 Instagram Media shortCode: " + media.getShortcode());
103+
System.out.println("리스트 Instagram Media id: " + media.getId()); // 응답이 null이거나 게시물이 아예 없으면 예외 발생
104+
}
105+
for (SnsEventResponseDTO.Media media : instagramMediaResponse.getData()) {
106+
System.out.println("리스트 중 하나 Instagram Media shortCode: " + media.getShortcode());
107+
System.out.println("리스트 중 하나 Instagram Media id: " + media.getId());
101108
if (requestShortCode.equals(media.getShortcode())) {
102109
System.out.println("Instagram Media shortCode: " + media.getShortcode());
103110
System.out.println("Instagram Media id: " + media.getId());
@@ -113,7 +120,15 @@ public SnsEventResponseDTO.CreateSnsEventResponse createSnsEvent(
113120
}
114121
// 조건 2: 키워드 필터
115122
if (pass && request.getSnsCondition().getIsKeyword()) {
116-
if (comment.getText() == null || !comment.getText().contains(request.getSnsCondition().getKeyword())) {
123+
Boolean hasKeyword = false;
124+
String[] keywords = request.getSnsCondition().getKeyword().trim().split(" ");
125+
for (String keyword : keywords) {
126+
System.out.println("키워드: " + keyword);
127+
if (comment.getText() == null || !comment.getText().contains(keyword)) {
128+
hasKeyword = true;
129+
}
130+
}
131+
if (!hasKeyword) {
117132
pass = false;
118133
}
119134
}
@@ -131,7 +146,9 @@ public SnsEventResponseDTO.CreateSnsEventResponse createSnsEvent(
131146
break;
132147
}
133148
// 마지막까지 돌았는데 shortcode파싱해둔것과 일치하는게 없다면 error처리해야됨.
134-
throw new SnsEventHandler(SNS_EVENT_LINK_NOT_FOUND);
149+
if (cnt == instagramMediaResponse.getData().size() - 1) {
150+
throw new SnsEventHandler(SNS_EVENT_LINK_NOT_FOUND);
151+
}
135152
}
136153
// 참여자 저장
137154
for (String nickname : filteredCommentSet) {
@@ -414,7 +431,6 @@ private SnsEventResponseDTO.InstagramMediaResponse fetchInstagramMedia(
414431
// 가져오는 값 없거나 error뜨면 error처리해야됨.
415432
try {
416433
SnsEventResponseDTO.InstagramMediaResponse response = restTemplate.getForObject(url, SnsEventResponseDTO.InstagramMediaResponse.class);
417-
// 응답이 null이거나 게시물이 아예 없으면 예외 발생
418434
if (response == null || response.getData() == null || response.getData().isEmpty()) {
419435
throw new SnsEventHandler(SNS_EVENT_INSTAGRAM_API_NO_MEDIA);
420436
}
@@ -439,6 +455,7 @@ private List<SnsEventResponseDTO.Comment> getComments(
439455
String url = UriComponentsBuilder
440456
.fromHttpUrl(baseUrl)
441457
.queryParam("fields", "from,text,timestamp")
458+
.queryParam("limit", 50)
442459
.queryParam("access_token", accessToken)
443460
.toUriString();
444461

@@ -447,6 +464,7 @@ private List<SnsEventResponseDTO.Comment> getComments(
447464
SnsEventResponseDTO.InstagramCommentResponse response = restTemplate.getForObject(url, SnsEventResponseDTO.InstagramCommentResponse.class);
448465

449466
if (response == null || response.getData() == null || response.getData().isEmpty()) {
467+
System.out.println("게시물에 댓글이 없습니다.");
450468
throw new SnsEventHandler(SNS_EVENT_INSTAGRAM_API_NO_COMMENT);
451469
}
452470
return response.getData();

0 commit comments

Comments
 (0)