[리퍼럴 PR3] 컨트롤러 — ref 파라미터 추적 + 크레딧 차감 + 보상 트리거

ID: 27577d3c-8130-4b37-bc5b-dae17d939a43

높음 완료

## 설명
컨트롤러 레이어에서 리퍼럴 추적, 진단 크레딧 차감, 보상 트리거 연결.

### 변경 사항
1. **ApplicationController**: `before_action :track_referral_code` — ?ref= 파라미터 → 쿠키(30일) 저장
2. **DiagnosesController#start**: Big5/성장/행복도 진단 시작 시 진단 크레딧 1개 차감, 부족 시 에러
3. **DiagnosisSessionsController#complete**: 강점 진단 완료 시 Referrals::RewardService 호출
4. **회원가입 흐름**: OAuth/매직링크 가입 시 쿠키의 ref로 Referrals::TrackingService 호출
5. **공유 URL**: result.html.erb, _tab_summary.html.erb에서 공유 URL에 ?ref=current_user.referral_code 추가

## 완료 기준
- [ ] ref 파라미터 쿠키 저장 동작
- [ ] Big5/성장/행복도 진단 시작 시 크레딧 차감
- [ ] 크레딧 부족 시 진단 시작 불가 + 안내
- [ ] 강점 진단 완료 시 리퍼럴 보상 트리거
- [ ] 신규 가입 시 리퍼럴 추적 기록
- [ ] 공유 URL에 ref 파라미터 포함
- [ ] 테스트 통과

## 의존성
PR#2 완료 후

첨부 이미지

이미지 추가 (Ctrl+V로 붙여넣기 또는 클릭)

JPEG, PNG, GIF, WebP / 최대 10MB

담당자: 팀리드
생성일: 2026년 03월 26일 05:27

활동 로그

  • 팀리드 상태 변경: 리뷰 → 완료

    2026년 03월 26일 06:35:34

  • 팀리드 팀 작업 완료 - [리퍼럴 PR3] 컨트롤러 연동

    2026년 03월 26일 05:56:05

    상세 보기

    ## 수정된 기능
    - ApplicationController: ref 파라미터 → 쿠키 저장 (30일)
    - DiagnosesController: Big5/성장/행복도 진단 시작 시 크레딧 차감
    - DiagnosisSessionsController: 강점 진단 완료 시 리퍼럴 보상 트리거
    - OAuth/매직링크 가입: 리퍼럴 추적 기록 + 쿠키 삭제
    - 공유 URL: referral_url 헬퍼로 ?ref= 파라미터 자동 추가
    - i18n: 크레딧 부족 메시지 4개 언어

    ## 테스트 결과
    - 22 runs 통과 (신규 10 + 기존 12)

    ## 수정 파일
    - 컨트롤러 5개, 모델 1개, 헬퍼 1개, 뷰 2개, i18n 4개, 테스트 1개

  • 팀리드 상태 변경: 진행 중 → 리뷰

    2026년 03월 26일 05:55:59

  • 팀리드 위임: developer-1에게 '컨트롤러 연동: ref 추적 + 크레딧 차감 + 보상 트리거 + 공유 URL' 작업 배정

    2026년 03월 26일 05:46:11

  • 팀리드 티켓 클레임 완료

    2026년 03월 26일 05:45:49

  • 팀리드 상태 변경: 할 일 → 백로그

    2026년 03월 26일 05:28:20