edit all sequence

This commit is contained in:
cherry2250
2025-10-22 20:13:56 +09:00
parent a8c6397edf
commit 9192e1e453
25 changed files with 106 additions and 106 deletions
@@ -20,7 +20,7 @@ participant "배포 채널 APIs" as ChannelApis
User -> FE: 이벤트 목적 선택
FE -> Gateway: POST /events/purposes\n{목적, 매장정보}
Gateway -> Event: 이벤트 목적 저장 요청
Event -> EventDB: 이벤트 목적 저장
Event -> EventDB: 이벤트 목적 정보 저장\n(목적, 매장정보 저장)
EventDB --> Event: 저장 완료
Event --> Gateway: 저장 완료\n{eventDraftId}
Gateway --> FE: 200 OK
@@ -38,20 +38,20 @@ FE --> User: "AI가 분석 중입니다..." (로딩)
note over AI: Kafka Consumer\nai 이벤트 생성 topic 구독
Kafka --> AI: Consume Job Message\n{jobId, eventDraftId, ...}
AI -> EventDB: 과거 이벤트 데이터 조회
AI -> EventDB: 과거 이벤트 데이터 조회\n(업종, 지역 기반 통계 조회)
EventDB --> AI: 이벤트 통계 데이터
AI -> AIApi: 트렌드 분석 및 이벤트 추천 요청\n{목적, 업종, 지역, 과거데이터, 매장정보}
AIApi --> AI: 3가지 추천안 + 트렌드 요약\n(예: "여름철 시원한 음료 선호도 증가")
AI -> EventDB: 추천 결과 트렌드 요약 저장
AI -> EventDB: 추천 결과 저장\n(3가지 추천안, 트렌드 요약 저장)
EventDB --> AI: 저장 완료
AI -> EventDB: Job 상태 업데이트\nstatus: COMPLETED
AI -> EventDB: Job 상태 업데이트\n(상태를 COMPLETED로 변경)
AI -> Kafka: Publish to event-topic\nEventRecommended\n{jobId, eventDraftId, recommendations, trendSummary}
group Polling으로 상태 확인
loop 상태 확인 (최대 30초)
FE -> Gateway: GET /jobs/{jobId}/status
Gateway -> Event: Job 상태 조회
Event -> EventDB: Job 상태 및 결과 조회
Event -> EventDB: Job 상태 조회\n(jobId로 상태 및 결과 조회)
EventDB --> Event: {status, result}
alt Job 완료
@@ -69,7 +69,7 @@ end
User -> FE: 추천안 선택\n(제목/경품 커스텀)
FE -> Gateway: PUT /events/drafts/{eventDraftId}\n{선택한 추천안, 커스텀 정보}
Gateway -> Event: 선택 저장
Event -> EventDB: 이벤트 초안 업데이트
Event -> EventDB: 선택한 추천안 저장\n(이벤트 초안 업데이트)
EventDB --> Event: 업데이트 완료
Event --> Gateway: 200 OK
Gateway --> FE: 저장 완료
@@ -98,16 +98,16 @@ else 트렌디 스타일
ImageApi --> Content: 트렌디 이미지 URL
end
Content -> EventDB: 이미지 URL 저장
Content -> EventDB: 생성된 이미지 URL 저장\n(3가지 스타일 이미지 URL 저장)
EventDB --> Content: 저장 완료
Content -> EventDB: Job 상태 업데이트\nstatus: COMPLETED
Content -> EventDB: Job 상태 업데이트\n(상태를 COMPLETED로 변경)
Content -> Kafka: Publish to event-topic\nContentCreated\n{jobId, eventDraftId, imageUrls}
group Polling으로 상태 확인
loop 상태 확인 (최대 30초)
FE -> Gateway: GET /jobs/{jobId}/status
Gateway -> Event: Job 상태 조회
Event -> EventDB: Job 상태 및 결과 조회
Event -> EventDB: Job 상태 조회\n(jobId로 상태 및 이미지 URL 조회)
EventDB --> Event: {status, imageUrls}
alt Job 완료
@@ -125,7 +125,7 @@ end
User -> FE: 스타일 선택 및 편집
FE -> Gateway: PUT /events/drafts/{eventDraftId}/content\n{선택한 이미지, 편집내용}
Gateway -> Event: 콘텐츠 선택 저장
Event -> EventDB: 이벤트 초안 업데이트
Event -> EventDB: 선택한 콘텐츠 저장\n(이벤트 초안 업데이트)
EventDB --> Event: 업데이트 완료
Event --> Gateway: 200 OK
Gateway --> FE: 저장 완료
@@ -135,7 +135,7 @@ FE --> User: 배포 채널 선택 화면으로 이동
User -> FE: 배포 채널 선택\n최종 승인 요청
FE -> Gateway: POST /api/events/{eventDraftId}/publish\n{선택 채널 목록}
Gateway -> Event: 최종 승인 및 배포 처리
Event -> EventDB: 이벤트 상태 변경\nDRAFT → APPROVED
Event -> EventDB: 이벤트 상태 변경\n(DRAFT → APPROVED로 업데이트)
EventDB --> Event: 상태 변경 완료
Event -> Kafka: Publish to event-topic\nEventCreated\n{eventId, 이벤트정보}
@@ -176,13 +176,13 @@ else Kakao Channel
end
end
Dist -> EventDB: 배포 이력 저장
Dist -> EventDB: 배포 이력 저장\n(채널별 배포 결과 저장)
EventDB --> Dist: 저장 완료
Dist -> Kafka: Publish to event-topic\nDistributionCompleted\n{eventId, 배포결과}
Dist --> Event: REST API 응답\n200 OK\n{배포결과, 채널별 상태}
Event -> EventDB: 이벤트 상태 업데이트\nAPPROVED → ACTIVE
Event -> EventDB: 이벤트 상태 업데이트\n(APPROVED → ACTIVE로 변경)
EventDB --> Event: 업데이트 완료
Event --> Gateway: 200 OK\n{eventId, 배포결과}