Skip to content

feat: 추천 미션 지출 추정 정보 추가 - #39

Open
hoooonshub wants to merge 1 commit into
mainfrom
feat/35-mission-expense-estimate
Open

feat: 추천 미션 지출 추정 정보 추가#39
hoooonshub wants to merge 1 commit into
mainfrom
feat/35-mission-expense-estimate

Conversation

@hoooonshub

Copy link
Copy Markdown
Collaborator

연결 이슈

작업 내용

  1. 정책 기반 지출 추정과 LLM 절감 안내문 생성·검증·폴백을 추가했습니다.
  2. 초안·확정·목록 API에 expenseEstimate, savingsDescription, savingsCopyVersion을 추가했습니다.

DB 스키마 변경

  1. mission_draft_template: 기준/대안 지출 라벨·금액, expense_unit, estimate_basis를 nullable로 추가하고 금액 관계 CHECK 제약을 추가했습니다.
  2. mission_draft, mission: 정책값 스냅샷, 단위당 절감액, 안내문, 문구 source/version 컬럼을 nullable로 추가했습니다.
  3. 배달음식→집밥 정책값은 13,000원 / 8,000원 / 5,000원이며, 기존 행은 null로 보존합니다.

검증

  • MissionSavingsDescriptionGeneratorTest: 통과
  • MissionGenerationAcceptanceTest: 통과
  • MissionSurveyAcceptanceTest: 통과 (V12 기대값 갱신)

리스크 및 후속 작업

  • 다른 소비 유형과 4주 단위 미션의 정책값·기간 환산은 별도 정책 확정 후 확장합니다.

@coderabbitai

coderabbitai Bot commented Jul 24, 2026

Copy link
Copy Markdown

Warning

Review limit reached

@hoooonshub, you've reached your PR review limit, so we couldn't start this review.

Next review available in: 40 minutes

Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available.
You're only billed for reviews past your plan's rate limits ($0.25/file).

How can I continue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews.

How do review limits work?

CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability.

For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window.

Please refer docs for additional details.

Review details
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: ea247032-e6d1-4797-a557-48dbf6b16c3d

📥 Commits

Reviewing files that changed from the base of the PR and between 3edaa6d and 57f5ca1.

📒 Files selected for processing (20)
  • api/src/main/kotlin/backend/yapp/api/mission/generation/dto/MissionGenerationResponses.kt
  • api/src/main/kotlin/backend/yapp/api/mission/lifecycle/dto/MissionLifecycleDtos.kt
  • api/src/test/kotlin/backend/yapp/api/mission/generation/MissionGenerationAcceptanceTest.kt
  • api/src/test/kotlin/backend/yapp/api/mission/survey/MissionSurveyAcceptanceTest.kt
  • core/src/main/kotlin/backend/yapp/core/mission/generation/domain/Mission.kt
  • core/src/main/kotlin/backend/yapp/core/mission/generation/domain/MissionDraft.kt
  • core/src/main/kotlin/backend/yapp/core/mission/generation/domain/MissionDraftTemplate.kt
  • core/src/main/kotlin/backend/yapp/core/mission/generation/port/MissionDraftGenerationPorts.kt
  • core/src/main/kotlin/backend/yapp/core/mission/generation/service/DatabaseMissionDraftCandidateProvider.kt
  • core/src/main/kotlin/backend/yapp/core/mission/generation/service/MissionGenerationExecutor.kt
  • core/src/main/kotlin/backend/yapp/core/mission/generation/service/MissionGenerationModels.kt
  • core/src/main/kotlin/backend/yapp/core/mission/generation/service/MissionGenerationService.kt
  • core/src/main/kotlin/backend/yapp/core/mission/generation/service/MissionLifecycleService.kt
  • core/src/main/kotlin/backend/yapp/core/mission/generation/service/PersonalizedMissionDraftCandidateProvider.kt
  • core/src/test/kotlin/backend/yapp/core/mission/generation/service/MissionGenerationExecutorTest.kt
  • infra/src/main/kotlin/backend/yapp/infra/mission/generation/MissionAiInfrastructureConfig.kt
  • infra/src/main/kotlin/backend/yapp/infra/mission/generation/MissionGenerationProperties.kt
  • infra/src/main/kotlin/backend/yapp/infra/mission/generation/MissionSavingsDescriptionGenerator.kt
  • infra/src/main/resources/db/migration/V12__add_mission_expense_estimate_policy.sql
  • infra/src/test/kotlin/backend/yapp/infra/mission/generation/MissionSavingsDescriptionGeneratorTest.kt
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feat/35-mission-expense-estimate

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.

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: 추천 미션의 기준 지출액·예상 절약액 정책 및 정보 제공

1 participant