hgzero/design/backend/sequence/outer/Todo완료및회의록반영.puml
kimjh abb2f8c280 PlantUML 문법 오류 수정 (외부 시퀀스 설계)
- 7개 외부 시퀀스 설계서 PlantUML 문법 오류 수정 완료

**주요 수정 사항**:
1. 비동기 화살표 수정
   - `->>` → `->` (동기 메시지)
   - `-->>` → `-->` (응답 메시지)

2. 캐시 호출 화살표 수정
   - `-.->` → `-->` (응답 화살표)

3. note 블록 수정
   - 단일 라인 `note right:` → 블록 형태로 변경

4. activate/deactivate 최적화
   - 비동기 이벤트 처리에서 불필요한 activate/deactivate 제거

**수정된 파일**:
- Todo완료및회의록반영.puml
- 대시보드조회.puml
- 회의록공유.puml
- 회의록상세조회및수정.puml
- 회의시작및실시간회의록작성.puml
- 회의예약및참석자초대.puml
- 회의종료및최종확정.puml

**검증 결과**:
 모든 화살표가 PlantUML 표준 문법 준수 (`->`, `-->`)
 잘못된 화살표 문법 모두 제거 (`->>`, `-->>`, `-.->`)
 activate/deactivate 쌍 정상 매칭
 PlantUML 렌더링 오류 해결

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-22 15:09:18 +09:00

62 lines
1.9 KiB
Plaintext

@startuml Todo완료및회의록반영
!theme mono
title Todo 완료 및 회의록 반영 플로우
actor "담당자" as User
participant "Web App" as Web
participant "API Gateway" as Gateway
participant "Meeting Service" as Meeting
participant "Redis Cache" as Redis
participant "Notification Service" as Notification
autonumber
== Todo 완료 처리 ==
User -> Web: Todo 완료 버튼 클릭
activate Web
Web -> Gateway: PUT /api/todos/{todoId}/complete\n(userId, userName, completedAt)
activate Gateway
Gateway -> Meeting: PUT /todos/{todoId}/complete\n(userId, userName, completedAt)
activate Meeting
Meeting -> Meeting: Todo 상태 업데이트\n- 완료 시간 기록\n- 완료자 정보 저장\n- 상태: COMPLETED
Meeting -> Meeting: 관련 회의록에 완료 상태 반영\n- 회의록 섹션 업데이트\n- 완료 표시 (체크 아이콘)\n- 완료 시간 및 완료자 기록
Meeting -> Meeting: DB에 저장
== 캐시 무효화 ==
Meeting --> Redis: DELETE meeting:info:{meetingId}
note right
회의 정보 캐시 무효화
end note
Meeting --> Redis: DELETE todo:user:{userId}
note right
Todo 목록 캐시 무효화
end note
== 이벤트 발행 ==
Meeting -> Notification: TodoCompleted 이벤트 발행\n(todoId, meetingId, completedBy,\ncompletedAt, meetingCreatorId)
note right
Azure Event Hubs를 통한
비동기 이벤트 발행
end note
Meeting --> Gateway: 200 OK\n{todoId, status: COMPLETED,\ncompletedAt, completedBy}
deactivate Meeting
Gateway --> Web: 200 OK\n(Todo 완료 정보)
deactivate Gateway
Web --> User: Todo 완료 표시
deactivate Web
== 알림 발송 ==
activate Notification
Notification -> Notification: TodoCompleted 이벤트 구독
Notification -> Notification: 알림 메시지 생성\n- 수신자: 회의록 작성자\n- 내용: "Todo 완료됨"
Notification --> Notification: 이메일 발송\n(회의록 작성자에게)
note right
외부 Email Service 연동
end note
deactivate Notification
@enduml