feat: 최근활동 기록 기반 정비 - #103
Conversation
📝 WalkthroughWalkthrough활동 로그가 Changes활동 로그 행위자 및 메시지 처리
Estimated code review effort: 3 (Moderate) | ~25 minutes Possibly related issues
Possibly related PRs
Suggested reviewers: 🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✨ Finishing Touches 💡 1📝 Generate docstrings 💡
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. Comment |
There was a problem hiding this comment.
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (1)
src/main/java/com/slatto/domain/notification/service/ActivityLogService.java (1)
205-228: 🎯 Functional Correctness | 🟠 Major | 🏗️ Heavy lift게스트 피드백 등록 경로에서
createGuestVideoFeedbackCommentedLog를 호출하세요.
FeedbackService.createFeedback가 게스트 피드백을 저장하지만, 운영 코드에는createGuestVideoFeedbackCommentedLog호출이 없습니다. 성공 트랜잭션 안에서 저장된 피드백의 영상 제목과 검증된Guest, 영상 ID를 사용한 로그 생성을 추가하세요. 실제 피드백 등록 유스케이스 테스트도 추가해 이 경로가 최근활동 레코드를 저장하도록 검증하세요.🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@src/main/java/com/slatto/domain/notification/service/ActivityLogService.java` around lines 205 - 228, 게스트 피드백 저장 성공 경로인 FeedbackService.createFeedback에 createGuestVideoFeedbackCommentedLog 호출을 추가하세요. 저장된 피드백에서 영상 제목을 가져오고, 검증된 Guest와 영상 ID를 전달해 동일한 성공 트랜잭션 안에서 최근활동 로그를 생성하도록 연결하세요. 실제 게스트 피드백 등록 유스케이스 테스트를 추가해 해당 로그 레코드가 저장되는지 검증하세요.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Outside diff comments:
In
`@src/main/java/com/slatto/domain/notification/service/ActivityLogService.java`:
- Around line 205-228: 게스트 피드백 저장 성공 경로인 FeedbackService.createFeedback에
createGuestVideoFeedbackCommentedLog 호출을 추가하세요. 저장된 피드백에서 영상 제목을 가져오고, 검증된
Guest와 영상 ID를 전달해 동일한 성공 트랜잭션 안에서 최근활동 로그를 생성하도록 연결하세요. 실제 게스트 피드백 등록 유스케이스 테스트를
추가해 해당 로그 레코드가 저장되는지 검증하세요.
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro Plus
Run ID: 5b212e44-ea92-4b36-9b54-2b3e56117d4e
📒 Files selected for processing (7)
src/main/java/com/slatto/domain/notification/entity/ActivityLog.javasrc/main/java/com/slatto/domain/notification/model/ActivityActor.javasrc/main/java/com/slatto/domain/notification/service/ActivityLogService.javasrc/main/java/com/slatto/domain/notification/service/ActivityMessageFactory.javasrc/test/java/com/slatto/domain/notification/model/ActivityActorTest.javasrc/test/java/com/slatto/domain/notification/service/ActivityLogServiceIntegrationTest.javasrc/test/java/com/slatto/domain/notification/service/ActivityMessageFactoryTest.java
🔗 관련 이슈 (Related Issue)
📝 작업 내용
최근활동 로그가 회원과 게스트 행위자를 같은 모델로 기록할 수 있도록 정비했습니다.
이후 프로젝트, 일정, 파일, 피드백 도메인에서 공통 서비스를 호출해 활동을 남길 수 있는 기반을 마련했기에 다음 pr에서 각도메인에 연결 및 테스트를 진행할 것 같습니다.
주요 검토 파일
최근활동 모델 및 생성 흐름
src/main/java/com/slatto/domain/notification/model/ActivityActor.java- 회원, 게스트, 시스템 행위자 모델 추가src/main/java/com/slatto/domain/notification/service/ActivityMessageFactory.java- 활동 유형별 표시 문구 생성 분리src/main/java/com/slatto/domain/notification/service/ActivityLogService.java- 공통 활동 로그 저장 흐름 및 게스트 피드백 기록 추가src/main/java/com/slatto/domain/feedback/service/FeedbackService.java- 게스트 피드백 등록 시 최근활동 생성 연결검증 코드
src/test/java/com/slatto/domain/notification/model/ActivityActorTest.java- 행위자 타입과 ID 조합 검증src/test/java/com/slatto/domain/notification/service/ActivityMessageFactoryTest.java- 활동 문구 생성 검증src/test/java/com/slatto/domain/notification/service/ActivityLogServiceIntegrationTest.java- 회원 파일 활동과 게스트 피드백 활동 저장 검증1. 회원과 게스트 행위자 기록 통합
ActivityActor모델을 통해 회원, 게스트, 시스템 이벤트의 행위자 정보를 한 방식으로 전달합니다.actorUserId만 저장actorGuestId만 저장2. 최근활동 문구 생성 분리
도메인 서비스가 화면 표시 문구를 직접 조합하지 않도록
ActivityMessageFactory로 분리했습니다.후속 도메인 연결 시에는 활동 타입과 필요한 값만 전달하면 같은 형식의 문구를 생성할 수 있게 분리했다고 보면 될 것 같습니다.
3. 게스트 피드백 최근활동 기록
공유 링크를 통해 작성된 게스트 피드백도
CLIENT_REVIEWER행위자로 기록되도록 연결했습니다.프로젝트 파일, 영상 CRUD, 최근활동 조회 API는 이 작업 범위에 포함하지 않았습니다.
4. 테스트 및 검증
단위 테스트
통합 테스트
activity_log에 사용자 행위자, 대상 파일, 문구가 저장되는지 검증아직 실제 도메인에서 연결하는 흐름을 테스트한것은 아니기에 테스트 내용이 많지 않습니다.
./gradlew compileJava ./gradlew test두 명령 모두 통과했습니다.
✅ PR 체크리스트
./gradlew compileJava와./gradlew test를 통과했습니다.Summary by CodeRabbit
새 기능
버그 수정