Skip to content

Commit

Permalink
feat(#81) : execute 메서드 추가 및 개선
Browse files Browse the repository at this point in the history
- 전형별 메시지 보내기 메서드를 만들었어요.
- 비즈니스 로직을 private 메서드로 바꾸었어요.
- 겹치는 로직을 하나의 메서드로 개선했어요
  • Loading branch information
jyj1289 committed May 30, 2024
1 parent d6e12fd commit 13a9a70
Showing 1 changed file with 38 additions and 4 deletions.
Original file line number Diff line number Diff line change
@@ -1,9 +1,11 @@
package com.bamdoliro.maru.application.message;

import com.bamdoliro.maru.domain.form.domain.Form;
import com.bamdoliro.maru.domain.form.domain.type.FormType;
import com.bamdoliro.maru.infrastructure.message.SendMessageService;
import com.bamdoliro.maru.infrastructure.persistence.form.FormRepository;
import com.bamdoliro.maru.presentation.message.dto.request.SendMessageRequest;
import com.bamdoliro.maru.presentation.message.dto.request.SendMessageByStatusRequest;
import com.bamdoliro.maru.presentation.message.dto.request.SendMessageByTypeRequest;
import com.bamdoliro.maru.shared.annotation.UseCase;
import lombok.RequiredArgsConstructor;

Expand All @@ -16,11 +18,43 @@ public class SendMessageUseCase {
private final FormRepository formRepository;
private final SendMessageService sendMessageService;

public void execute(SendMessageRequest request) {
public void execute(SendMessageByStatusRequest request) {
List<Form> formList = formRepository.findByStatus(request.getStatus());
List<String> phoneNumberList = formList.stream()
List<String> phoneNumberList = phoneNumberListConvert(formList);

sendMessageService.execute(phoneNumberList, request.getText(), request.getTitle());
}

public void execute(SendMessageByTypeRequest request) {
List<Form> formList = formListFilter(request.getFormType(), request.isChangeToRegular());
List<String> phoneNumberList = phoneNumberListConvert(formList);

sendMessageService.execute(phoneNumberList, request.getText(), request.getTitle());
}

private List<Form> formListFilter(FormType formType, boolean isChangeToRegular) {
List<Form> formList;
if (formType.isMeister()) {
formList = formRepository.findMeisterTalentFirstRoundForm();
} else {
formList = formRepository.findNotExistsMeisterTalentFirstRoundForm();
if (isChangeToRegular) {
formList = formList.stream()
.filter(Form::getChangedToRegular)
.toList();
} else {
formList = formList.stream()
.filter(form -> !form.getChangedToRegular())
.toList();
}
}

return formList;
}

private List<String> phoneNumberListConvert(List<Form> formList) {
return formList.stream()
.map(form -> form.getUser().getPhoneNumber())
.toList();
sendMessageService.execute(phoneNumberList, request.getText(), request.getTitle());
}
}

0 comments on commit 13a9a70

Please sign in to comment.