mirror of
https://github.com/hwanny1128/HGZero.git
synced 2025-12-06 07:56:24 +00:00
주요 변경사항:
- 회의 종료 API 구현 (POST /api/meetings/{meetingId}/end)
- AI 회의록 통합 요약 기능 구현
- Claude API 연동 및 프롬프트 최적화
- 안건별 요약, 키워드 추출, 결정사항 자동 정리
AI Service (Python):
- Claude 모델 설정: claude-sonnet-4-5-20250929
- 회의록 통합 프롬프트 개선
- AgendaSummary 모델 summary 필드 매핑 수정
- decisions 필드 추가 및 응답 구조 정리
- 입력 데이터 로깅 추가
Meeting Service (Java):
- EndMeetingService AI 통합 로직 구현
- MeetingAnalysis 엔티티 decisions 필드 추가
- AgendaSection opinions 필드 제거
- AI Service 포트 8086으로 설정
- DB 마이그레이션 스크립트 추가 (V7)
테스트 결과:
✅ 회의 종료 API 정상 동작
✅ AI 응답 검증 (keywords, summary, decisions)
✅ 안건별 요약 및 보류사항 추출
✅ 처리 시간: ~11초, 토큰: ~2,600
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
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);
}