Skip to content

Feat/#60#61

Merged
hyeonky0w0 merged 26 commits into
developfrom
feat/#60
Jul 24, 2026
Merged

Feat/#60#61
hyeonky0w0 merged 26 commits into
developfrom
feat/#60

Conversation

@hyeonky0w0

@hyeonky0w0 hyeonky0w0 commented Jul 24, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • 스케줄링 로직 구현

Related Issue

Describe your code

  • 작업 내용 (What I Did) : 구현한 기능의 요약 설명 작성
    선제 연락 스케줄 엔티티
    캐릭터 생성·수정 연동
    스케줄 Worker
    AI 서버 연동
    Swagger 테스트 API (로컬에서만)
    기존 데이터 backfill

  • 스크린샷/결과 (Optional) : API 테스트 결과 첨부

  • 논의사항/질문 (To Reviewers) : 리뷰어들이 집중해서 봐주었으면 하는 부분 기술

Checklist

  • 리뷰어 등록

@coderabbitai

coderabbitai Bot commented Jul 24, 2026

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro Plus

Run ID: efc1f1c8-25db-4283-85dc-55f57bf720ef

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feat/#60

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@github-actions

Copy link
Copy Markdown

💡 개선 사항

  • CharacterAiProfile에서 attachment 점수를 추출하는 반복 로직을 coordinator 및 debug 서비스 전반에 걸쳐 중앙 집중화하십시오.
  • 하드코딩된 폴백 값과 매직 넘버(예: 일일 제한 3)를 전용 상수 필드 또는 구성 속성으로 이동하십시오.
  • 인라인 문자열 연결 대신 중앙 집중식 헬퍼 메서드를 사용하여 요청 ID 접두사 생성을 표준화하십시오.

@hyeonky0w0 hyeonky0w0 closed this Jul 24, 2026
@hyeonky0w0 hyeonky0w0 reopened this Jul 24, 2026
@hyeonky0w0
hyeonky0w0 requested review from oofrog and removed request for oofrog July 24, 2026 08:03
@hyeonky0w0
hyeonky0w0 requested review from oofrog, philbae0 and seokMini-2 and removed request for philbae0 July 24, 2026 08:03
@hyeonky0w0

Copy link
Copy Markdown
Collaborator Author

아 이거 어제 준우님꺼 확인해본다고 준우님꺼 커밋 pull 받았다가 꼬인것 같은데 merge conflict 안나니까 그냥 PR 해도 될 것 같은데.. 어떻게 생각하시나요?

@oofrog oofrog left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

수고하셨습니다.

Comment on lines +69 to +70
.onStatus(HttpStatusCode::isError, (httpRequest, httpResponse) -> {
throw new AiServerException(AiErrorCode.AI_SERVER_ERROR);

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

AI 성공 후 complete() 커밋 전에 끊기면 pendingRequestId가 안 지워져, 재시도가 같은 requestId로 재전송합니다. 이때 AI가 중복을 409로 반환하면 onStatus(isError)가 이를 실패로 처리해 다시 재시도 → 무한루프에 빠질 수 있습니다.
문서엔 중복 방지(멱등성)가 적혀 있는데, 중복 requestId에 200+원래 답장을 주는지 409를 주는지가 없어서요. AI 서버 응답 스펙 확인 부탁드립니다. 409면 케이스 분기가 필요할 거 같습니다.

@github-actions

Copy link
Copy Markdown

🛡️ 문제점

  • ChatRoom.touch() 메서드에 닫는 중괄호 }가 누락되어 컴파일 오류가 발생합니다.

💡 개선 사항

  • ChatRoom에서 중복된 touch 메서드를 정의하는 대신 기존의 updateLastMessageAt 메서드를 사용하세요.
  • ChatMessageRepository에서 ORDER BY id ASC를 사용하여 최신 메시지를 쿼리하여 메모리에서 수동으로 목록을 뒤집는 작업을 제거하세요.
  • ProactiveDebugService에서 반복되는 스케줄 조회 및 초기화 로직을 단일 헬퍼 메서드로 통합하세요.

@hyeonky0w0
hyeonky0w0 merged commit 628b712 into develop Jul 24, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

✨ [FEAT] 스케줄링 구현

2 participants