Skip to content

Feat/#60 todo reminder#77

Open
tjgustjr30723 wants to merge 15 commits intodevelopfrom
feat/#60-todo-reminder
Open

Feat/#60 todo reminder#77
tjgustjr30723 wants to merge 15 commits intodevelopfrom
feat/#60-todo-reminder

Conversation

@tjgustjr30723
Copy link
Collaborator

@tjgustjr30723 tjgustjr30723 commented Feb 15, 2026

☝️Issue Number

Close #60

📌 개요

aee0ed7

  • ♻️refactor: 일정 상세 조회, 수정, 삭제 API - 태생적 localDateTime를 RequestParam으로 받도록 리팩토링

3447df3

  • ♻️refactor: CRUD에 따른 리마인더 생성,수정,삭제 처리 로직을 Common 디렉토리로 분리 및 공통화

9e63c2b

  • ✨feat: 할 일 CUD 에 따른 리마인더 생성, 삭제, 수정 로직

5df3070

  • 📝docs: ALL_TODOS 관련 내용 제거

365dd1c

  • ♻️refactor: 오늘의 브리핑 예외처리 및 반환 시점 조정, TTIME_NOW_REACHED 추가

🔁 변경 사항

aee0ed7

  • 사전에 논의한대로 일정 상세조회, 수정, 삭제시 occurrenceDate(태생적 날짜)를 받습니다.
  • LocalDate - > LocalDateTime으로 타입 변경
  • 일정 수정은 requestBody가 아닌 RequestParam으로 태생적 날짜를 입력합니다.

3447df3

  • 일정 CRD에 따른 리스너 처리 로직이 일정 디렉토리에 종속되어있었는데, common 도메인 하나 생성해서 TODO도 쓸 수 있도록 공통화 시켯습니다.

9e63c2b

  • 할 일 CUD에 따른 리마인더 생성, 삭제, 수정 로직 처리했습니다

  • UPDATE 로직
    THIS_AND_FOLLOWING 수정 시,

    • 원본 할 일을 수정 할 때는 할일과 반복 삭제, 삭제하려는 날짜를 포함한 그 이후에 있는 todoRecurrenceException도 전부 삭제 로직 추가
    • 삭제하려는 할 일에 대해 skip 상태의 Exception이 있다면(즉, 삭제된 todo라면) 예외처리 로직 추가
  • DELETE 로직
    THIS_TODO 삭제 시,

    • 기존 로직은 todo에 대한 반복 예외가 있다면 delete하고, skip 상태의 반복예외를 생성 했는데, 이 로직에 TodoRecurrenceException에 따른 리마인더 처리 로직을 추가했을때, jpa flush 과정에서 반복예외 delete보다 skip상태의 반복예외 insert가 먼저 실행되어 반복예외 db에서 exceptionDate 유니크 에러 발생.
    • 따라서, 기존 반복예외가 존재하는 todo 삭제 시도시 skip으로 업데이트하고, 아닌 경우 skip 타입의 반복예외 생성으로 리팩토링 진행

    THIS_AND_FOLLOWING 삭제 시,

    • 원본 할 일을 삭제 할 때는 할일과 반복 삭제, 삭제하려는 날짜를 포함한 그 이후에 있는 todoRecurrenceException도 전부 삭제 로직 추가
    • 삭제하려는 할 일에 대해 skip 상태의 Exception이 있다면(즉, 삭제된 todo라면) 예외처리 로직 추가

📸 스크린샷

👀 기타 더 이야기해볼 점

일정 할일 관련해서 수정사항 정리 - https://www.notion.so/CRUD-3038f1b5499880338386fab767b8f013?source=copy_link

할 일 관련 로직은 기존의 코드 최대한 유지하면서 리마인더 로직 입혀봤습니다...!

추가적으로
투두 로직 보다가 발견한 이상한 점인데,

  1. todo 수정 api 예시에 시작일 수정(startDate, dueTime) 이 있는데, startDate 수정에 대한 정보에 대해 TodoRecurrenceException에 저장되는 필드가 없습니다.
image image image

따라서 startDate를 변경해도 변경 사항이 적용되지 않습니다!

제가 업데이트 처리할까했는데 혹시 자연어 API 로직 부분에서 많이 엮일까봐 일단 PR올렷습니다.

@tjgustjr30723 tjgustjr30723 self-assigned this Feb 15, 2026
@tjgustjr30723 tjgustjr30723 linked an issue Feb 15, 2026 that may be closed by this pull request
2 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

✨ feat: TODO 리마인더

1 participant