Minseo-Jo 6770dd4ad9 Merge feat/meeting-ai into main
회의 종료 API 및 AI 회의록 통합 기능을 main 브랜치에 병합

주요 기능:
- 회의 종료 시 AI 자동 요약 생성
- 안건별 논의사항/결정사항 자동 정리
- 주요 키워드 추출
- Todo 및 보류사항 자동 식별

충돌 해결:
- MinutesSectionEntity: id 필드명으로 통일
- AgendaSection 관련 파일들: feat/meeting-ai 버전 사용
- application.yml: AI Service 포트 8086 설정 유지

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-29 14:49:37 +09:00
..
2025-10-29 14:49:37 +09:00
2025-10-29 14:49:37 +09:00
2025-10-27 13:31:58 +09:00

notification 메일 알림발송

아래와 같이 메일발송 Email List를 loop돌려서 event 객체를 생성한 후에 publishNotificationRequest 메소드를 통해 Event 메세지 발행하시면 됩니다.

        // 각 참석자에게 개별 알림 이벤트 발행
        for (String participantEmail : participants) {
            NotificationRequestEvent event = NotificationRequestEvent.builder()
                    .notificationType("MEETING_INVITATION")
                    .recipientEmail(participantEmail)
                    .recipientId(participantEmail)
                    .recipientName(participantEmail)
                    .title("회의 초대")
                    .message(String.format("'%s' 회의에 초대되었습니다. 일시: %s, 장소: %s",
                            title, startTime, location))
                    .relatedEntityId(meetingId)
                    .relatedEntityType("MEETING")
                    .requestedBy(organizerId)
                    .requestedByName(organizerName)
                    .eventTime(LocalDateTime.now())
                    .build();

            publishNotificationRequest(event);
        }