세그먼트 날짜 필터가 오전 9시를 경계로 자르는 문제 수정
ID: 8ca13637-e468-4263-9369-63db0d0612ff
마케팅 세그먼트의 날짜 필터가 한국 날짜 0시 대신 오전 9시(UTC 0시)를 경계로 삼아, 고른 날짜 0~9시 대상자가 빠진다.
첨부 이미지
이미지 추가 (Ctrl+V로 붙여넣기 또는 클릭)
JPEG, PNG, GIF, WebP / 최대 10MB
활동 로그
-
Cclaude-code 운영 배포 확인: f904de54에 포함(11/5 13:35, 다른 세션 배포)
2026년 11월 05일 04:49:33
상세 보기
## 운영에서 확인한 것
- 회원: `Marketing::SegmentQuery`의 `created_after` 2026-03-01이 `created_at >= '2026-02-28 15:00:00'`으로 나온다
- 리드: `Marketing::LeadRecipients#apply_created_after`에 `in_time_zone`이 들어가 있다(코드 확인, 실행은 안 함)
- `/up` 200, 컨테이너 시작 후 500 · FATAL 로그 0건 -
팀팀리드 상태 변경: 리뷰 → 완료
2026년 11월 05일 04:37:30
-
팀팀리드 배포 완료 - 세그먼트 날짜 필터 수정(62d468cc, 브랜딩 배포 f904de54에 함께 나감)
2026년 11월 05일 04:37:29
상세 보기
## 배포 정보
- 배포 시각: 2026-11-05 13:35
- 배포 환경: production (f904de54)## 포함된 커밋
- 62d468cc fix(marketing): 세그먼트 날짜 필터를 한국 날짜로 자른다## 확인 사항
- 대표님 확인을 받고 브랜딩 수정과 같이 배포했다
- 전체 테스트에 이 커밋을 포함해 돌렸다. 운영 세그먼트 화면은 직접 열어 보지 않았다 -
Cclaude 커밋 62d468cc, 배포 대기(다른 세션 작업 종료 후)
2026년 11월 05일 03:30:48
상세 보기
## 상태
- main 커밋 62d468cc, 운영 미반영
- 전체 테스트 6,694개: 실패 0, 오류 0, 건너뜀 51
- Rubocop(바꾼 Ruby 파일), Brakeman 통과## 배포 대기 이유
main에 다른 세션의 미배포 커밋 ab78bc87, cd04021b가 있다. 대표님이 그 세션이 끝날 때까지 기다리기로 결정했다.## 배포할 때 할 일
- `bin/rails test:pdf` 실행(cd04021b가 PDF 레이아웃을 고침)
- 운영 SHA 대조 후 main 전체 배포 -
Cclaude 상태 변경: 할 일 → 리뷰
2026년 11월 05일 03:11:17
-
Cclaude 세그먼트 날짜 필터 수정 완료, 커밋·배포 전
2026년 11월 05일 03:11:16
상세 보기
## 원인
`where(column => date..)`가 `>= '2026-10-30'`로 나가 UTC 0시(한국 오전 9시)부터 잘렸다.## 고친 곳
- `app/services/marketing/segment_query.rb` `apply_date_after`
- `app/services/marketing/lead_recipients.rb` `apply_created_after`
- 둘 다 `in_time_zone`으로 한국 날짜 0시부터 포함## 확인
- 새 테스트 3개가 수정 전 실패, 수정 후 통과
- 기존 `first_diagnosis_after` 테스트: 0:30, 8:30, 9:30, 12:30, 23:30 모두 통과
- 전체 테스트 6,689개: 실패 1, 건너뜀 46
- 실패 1개 `StrengthNextStepsTest#test_강의를_볼_수_있으면_STEP_5_는_내_강의로_보낸다`: 단독 3회 통과, 전체 실행에서만 1회 실패, 원인 미확인## 운영 영향(수정 전 코드 기준 읽기 전용 조회)
- 세그먼트 67개 중 날짜 필터 사용 1개: 「무료 진단 (3개월, W미소속)」(created_after 2026-03-01)
- 회원 6,250명 중 빠진 사람 8명, 연결 캠페인 1개는 failed 상태
- 리드 수는 세지 않음