mirror of
https://github.com/hwanny1128/HGZero.git
synced 2026-06-13 17:39:09 +00:00
내외부 시퀀스 - 불필요 이벤트 제거
This commit is contained in:
@@ -41,10 +41,20 @@ note right
|
||||
Partition Key: {meetingId}
|
||||
Consumer Group:
|
||||
- stt-service-group
|
||||
- ai-service-group
|
||||
- notification-service-group
|
||||
end note
|
||||
|
||||
Meeting -> EventHub: NotificationRequest 이벤트 발행\n(회의 종료 알림)
|
||||
activate EventHub
|
||||
note right
|
||||
이벤트 데이터:
|
||||
- 발송수단: EMAIL
|
||||
- 대상자: 참석자 전원
|
||||
- 메시지: 회의 종료 안내
|
||||
- 메타데이터: 회의 통계, 회의록 링크
|
||||
end note
|
||||
EventHub --> Meeting: 발행 완료
|
||||
deactivate EventHub
|
||||
|
||||
Meeting -> Gateway: 202 Accepted\n(회의 종료 완료)
|
||||
Gateway -> WebApp: 회의 종료 완료 응답
|
||||
WebApp -> User: 회의 통계 표시\n(총 시간, 참석자, 발언 횟수 등)
|
||||
@@ -54,40 +64,9 @@ EventHub --> STT: MeetingEnded 이벤트 수신
|
||||
STT -> STT: 음성 녹음 중지
|
||||
STT -> STT: 최종 STT 변환 완료 확인
|
||||
|
||||
== 비동기 처리 - AI Todo 추출 ==
|
||||
EventHub --> AI: MeetingEnded 이벤트 수신
|
||||
AI -> AI: 최종 회의록 분석
|
||||
AI -> AI: Todo 자동 추출\n- 액션 아이템 식별\n- 담당자 자동 식별\n- 마감일 추출
|
||||
AI -> AI: DB 저장 (AiTaskStatus)
|
||||
|
||||
AI -> Meeting: POST /meetings/{meetingId}/todos\n(Todo 정보 전송)
|
||||
note right
|
||||
Todo 정보:
|
||||
- Todo 내용
|
||||
- 담당자 (자동 식별)
|
||||
- 마감일 (언급된 경우)
|
||||
- 우선순위
|
||||
- 관련 회의록 섹션 링크
|
||||
end note
|
||||
|
||||
Meeting -> Meeting: Todo 생성 및 할당\n(내부 처리)
|
||||
Meeting -> Meeting: 회의록 섹션 링크 연결
|
||||
Meeting -> Meeting: DB 저장 (Todo 테이블)
|
||||
Meeting -> Meeting: Redis 캐시 무효화\n(todo:user:{userId})
|
||||
|
||||
Meeting -> EventHub: TodoCreated 이벤트 발행\n(todoId, assignee, dueDate)
|
||||
note right
|
||||
Partition Key: {userId}
|
||||
Consumer Group:
|
||||
- notification-service-group
|
||||
end note
|
||||
|
||||
Meeting -> AI: 200 OK (Todo 생성 완료)
|
||||
|
||||
== 비동기 처리 - 회의 종료 알림 ==
|
||||
EventHub --> Notification: MeetingEnded 이벤트 수신
|
||||
Notification -> Notification: 회의 종료 알림 준비\n(참석자 전원)
|
||||
Notification -> Notification: 이메일 발송
|
||||
EventHub --> Notification: NotificationRequest 이벤트 수신
|
||||
Notification -> Notification: 회의 종료 알림 발송\n(참석자 전원)
|
||||
note right
|
||||
알림 내용:
|
||||
- 회의 제목
|
||||
@@ -96,18 +75,6 @@ note right
|
||||
- 회의록 링크
|
||||
end note
|
||||
|
||||
== 비동기 처리 - Todo 할당 알림 ==
|
||||
EventHub --> Notification: TodoCreated 이벤트 수신
|
||||
Notification -> Notification: Todo 할당 알림 준비
|
||||
Notification -> Notification: 담당자에게 이메일 발송
|
||||
note right
|
||||
알림 내용:
|
||||
- Todo 내용
|
||||
- 마감일
|
||||
- 우선순위
|
||||
- 회의록 링크 (해당 섹션)
|
||||
end note
|
||||
|
||||
== 최종 회의록 확정 ==
|
||||
User -> WebApp: 최종 회의록 확정 버튼 클릭
|
||||
WebApp -> Gateway: POST /api/minutes/{minutesId}/finalize
|
||||
@@ -128,18 +95,23 @@ else 필수 항목 작성 완료
|
||||
Meeting -> Meeting: DB 저장 (MinutesVersion)
|
||||
Meeting -> Meeting: Redis 캐시 무효화
|
||||
|
||||
Meeting -> EventHub: MinutesFinalized 이벤트 발행\n(meetingId, version, finalizedAt)
|
||||
Meeting -> EventHub: NotificationRequest 이벤트 발행\n(회의록 확정 알림)
|
||||
activate EventHub
|
||||
note right
|
||||
Partition Key: {meetingId}
|
||||
Consumer Group:
|
||||
- notification-service-group
|
||||
이벤트 데이터:
|
||||
- 발송수단: EMAIL
|
||||
- 대상자: 참석자 전원
|
||||
- 메시지: 회의록 확정 안내
|
||||
- 메타데이터: 버전 번호, 확정 시간
|
||||
end note
|
||||
EventHub --> Meeting: 발행 완료
|
||||
deactivate EventHub
|
||||
|
||||
Meeting -> Gateway: 200 OK\n(확정 버전 정보)
|
||||
Gateway -> WebApp: 회의록 확정 완료
|
||||
WebApp -> User: 확정 완료 안내\n(버전 번호, 확정 시간)
|
||||
|
||||
EventHub --> Notification: MinutesFinalized 이벤트 수신
|
||||
EventHub --> Notification: NotificationRequest 이벤트 수신
|
||||
Notification -> Notification: 회의록 확정 알림 발송\n(참석자 전원)
|
||||
end
|
||||
|
||||
|
||||
Reference in New Issue
Block a user