Support 도메인 비즈니스 규칙
개요
Support 도메인의 비즈니스 규칙은 아웃바운드 콜 관리, 메모/이슈 관리, 메시지 송출 등 각 서브도메인별 불변식, 유효성 규칙, 상태 전이 규칙을 정의합니다.
1. 아웃바운드 콜 관리 (Outbound Management Context) 규칙
1.1 UserOutboundPlan
- 콜 계획은 회원가입시에 생성된다.
- 콜은 Plan 별로 달라질 수 있다.
- 모든 콜은 다음 상태 중 하나여야 한다 (PENDING, ACTIVE, COMPLETED, SKIPPED)
- ACTIVE 상태에서 COMPLETED, SKIPPED 로 전환 될 수 있다.
- (COMPLETED, SKIPPED) 상태는 철회 될 수 있다.
- 콜 활성화는 (PENDING + 사용일차)일 때 활성화(ACTIVE) 된다.
- 이전 콜이 처리 되어야 다음 콜이 활성화 된다.
- 이미 완료된 콜을 다시 완료 처리 할 수 없다.
- 운영자만 콜을 완료 처리 할 수 있다.
- 콜 상태 변경시 처리자 정보를 기록해야한다.
- 운영자는 콜 예정일을 설정할 수 있다.
- 마지막 콜은 42일차 설문 완료 이벤트 수신 시 자동으로 완료 처리 한다.
2. 사용자 지원 (Support User Context) 규칙
2.1 UserSupport
- 사용자의 처방 병원을 수정할 수 있다.
- 사용자의 처방의를 수정할 수 있다.
- 사용자 정보 변경시 이력을 기록한다.
- 사용자 목록을 조회할 수 있다.
- 사용자 목록은 콜 일정 기준으로 우선 정렬 되어야한다.
- 1순위: 활성화된 미처리 콜이 있는 사용자
- 2순위: 처방 날짜 빠른 순 (활성화된 콜 없는 경우)
- 3순위: 이름 가나다 순
- 사용자를 검색할 수 있다.
2.2 UserSupportMemo
- 메모는 사용자 별로 생성되어야 한다.
- 메모는 시스템 또는 운영자에 의해서만 생성된다.
- 메모는 삭제할 수 없다.
- 운영자는 자신이 작성한 메모만 24시간 이내에 수정할 수 있다.
- 자신이 작성하지 않은 메모도 조회 가능하다.
- 메모 작성시 이력을 기록한다.
2.3 UserSupportIssue
- 이슈는 사용자 별로 생성되어야 한다.
- 이슈는 시스템 또는 운영자에 의해서만 생성된다.
- 이슈는 삭제할 수 없다.
- 운영자는 자신이 작성한 이슈만 24시간 이내에 수정할 수 있다.
- 자신이 작성하지 않은 이슈도 조회 가능하다.
- 이슈의 상태는 두가지만 가능하다 (ACTIVE, RESOLVED)
- 이슈 작성시 이력을 기록한다.
- 이슈 상태 변경시 이력을 기록한다.
3. 메시지 컨텍스트 (Messaging Context)
3.1 UserSupportMessage
- 템플릿 메시지는 정해진 템플릿으로만 메시지를 보낼 수 있다.
- 자유 텍스트 메시지는 운영자가 작성한 임의의 텍스트를 송출 할 수 있다.
- 자유 텍스트 메시지는 텍스트 길이 제한이 있다.
- 모든 메시지 송출 내용은 기록한다.
- 동일 메시지 전송에 대해 설정된 쿨다운 시간 내 중복 발송할 수 없다.