Skip to content

Commit

Permalink
[Fix] 모든 슬랙 메세지가 선 행동 후 보내게 수정
Browse files Browse the repository at this point in the history
  • Loading branch information
AreSain committed Aug 26, 2024
1 parent f8f91f5 commit 0d264ac
Show file tree
Hide file tree
Showing 6 changed files with 17 additions and 11 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -58,9 +58,9 @@ public String cancelTeamMessage(Agenda agenda, AgendaTeam agendaTeam) {
+ "\n" + agenda.getTitle() + "의" + agendaTeam.getName() + "팀이 취소되었습니다.";
}

public String failTeamMessage(Agenda agenda, AgendaTeam agendaTeam) {
public String failTeamMessage(Agenda agenda) {
return SUBJECT
+ "\n" + agenda.getTitle() + "의" + agendaTeam.getName() + "팀이 취소되었습니다."
+ "\n" + agenda.getTitle() + "의 팀이 취소되었습니다."
+ "\n" + "행사가 확정되어 확정되지 않은 팀은 취소됩니다.";
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -32,9 +32,11 @@
import gg.agenda.api.user.agenda.controller.response.AgendaSimpleResDto;
import gg.agenda.api.user.agenda.service.AgendaService;
import gg.agenda.api.user.agendaannouncement.service.AgendaAnnouncementService;
import gg.agenda.api.user.agendateam.service.AgendaTeamService;
import gg.auth.UserDto;
import gg.auth.argumentresolver.Login;
import gg.data.agenda.Agenda;
import gg.data.agenda.AgendaTeam;
import gg.utils.dto.PageRequestDto;
import gg.utils.dto.PageResponseDto;
import gg.utils.exception.custom.InvalidParameterException;
Expand All @@ -47,7 +49,7 @@
public class AgendaController {

private final AgendaService agendaService;

private final AgendaTeamService agendaTeamService;
private final AgendaAnnouncementService agendaAnnouncementService;

@GetMapping
Expand Down Expand Up @@ -115,8 +117,9 @@ public ResponseEntity<Void> agendaConfirm(@RequestParam("agenda_key") UUID agend
@Login @Parameter(hidden = true) UserDto user) {
Agenda agenda = agendaService.findAgendaByAgendaKey(agendaKey);
agenda.mustModifiedByHost(user.getIntraId());
agendaService.confirmAgendaAndRefundTicketForOpenTeam(agenda);
List<AgendaTeam> failTeam = agendaService.confirmAgendaAndRefundTicketForOpenTeam(agenda);
agendaService.slackConfirmAgenda(agenda);
agendaTeamService.slackCancelByAgendaConfirm(agenda, failTeam);
return ResponseEntity.status(HttpStatus.NO_CONTENT).build();
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -114,17 +114,17 @@ public void awardAgenda(AgendaAwardsReqDto agendaAwardsReqDto, Agenda agenda) {
}

@Transactional
public void confirmAgendaAndRefundTicketForOpenTeam(Agenda agenda) {
public List<AgendaTeam> confirmAgendaAndRefundTicketForOpenTeam(Agenda agenda) {
if (agenda.getCurrentTeam() < agenda.getMinTeam()) {
throw new ForbiddenException("팀이 모두 구성되지 않았습니다.");
}

List<AgendaTeam> openTeams = agendaTeamRepository.findAllByAgendaAndStatus(agenda, AgendaTeamStatus.OPEN);
for (AgendaTeam openTeam : openTeams) {
agendaTeamService.slackCancelByAgendaConfirm(openTeam.getAgenda(), openTeam);
agendaTeamService.leaveTeamAll(openTeam);
}
agenda.confirmAgenda();
return openTeams;
}

@Transactional
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -114,8 +114,8 @@ public ResponseEntity<Void> leaveAgendaTeam(@Parameter(hidden = true) @Login Use
agendaTeam.getAgenda().agendaStatusMustBeOpen();
if (agendaTeam.getLeaderIntraId().equals(user.getIntraId())) {
agendaTeam.agendaTeamStatusMustBeOpenAndConfirm();
agendaTeamService.slackCancelAgendaTeam(agendaTeam.getAgenda(), agendaTeam);
agendaTeamService.leaveTeamAll(agendaTeam);
agendaTeamService.slackCancelAgendaTeam(agendaTeam.getAgenda(), agendaTeam);
} else {
agendaTeam.agendaTeamStatusMustBeOpen();
agendaTeamService.leaveTeamMate(agendaTeam, user);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -317,10 +317,10 @@ public void slackCancelAgendaTeam(Agenda agenda, AgendaTeam newTeam) {
.forEach(intraId -> messageSender.send(intraId, message));
}

public void slackCancelByAgendaConfirm(Agenda agenda, AgendaTeam newTeam) {
List<AgendaTeamProfile> agendaTeamProfiles = agendaTeamProfileRepository.findByAgendaTeamAndIsExistTrue(
newTeam);
String message = snsMessageUtil.failTeamMessage(agenda, newTeam);
public void slackCancelByAgendaConfirm(Agenda agenda, List<AgendaTeam> failTeam) {
List<AgendaTeamProfile> agendaTeamProfiles = agendaTeamProfileRepository.findByAgendaTeamInAndIsExistTrue(
failTeam);
String message = snsMessageUtil.failTeamMessage(agenda);
agendaTeamProfiles.stream()
.map(atp -> atp.getProfile().getIntraId())
.forEach(intraId -> messageSender.send(intraId, message));
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -49,4 +49,7 @@ Page<AgendaTeamProfile> findByProfileAndIsExistTrueAndAgendaStatus(
@Param("status") AgendaStatus status, Pageable pageable);

List<AgendaTeamProfile> findAllByAgendaAndIsExistTrue(Agenda agenda);

@Query("SELECT atp FROM AgendaTeamProfile atp WHERE atp.agendaTeam IN :agendaTeams AND atp.isExist = true")
List<AgendaTeamProfile> findByAgendaTeamInAndIsExistTrue(List<AgendaTeam> agendaTeams);
}

0 comments on commit 0d264ac

Please sign in to comment.