1. 사용자 인증 및 기본 정보
1-1. 로그인 및 자동 회원가입
- 설명: 사용자가 아이디를 입력하면, 기존 사용자인 경우 그대로 로그인 처리, 존재하지 않으면 자동으로 회원가입 처리됨.
- 주요 메서드:
AuthService.login(String username)
- 특징:
- 별도 비밀번호 없이 ID만으로 로그인 (간소화된 인증)
- 새로운 사용자는
username
+ createdAt
기반으로 생성
1-2. 사용자 정보 조회
- 설명: 사용자 ID로 유저 객체를 조회
- 메서드:
AuthService.getUserById(Long userId)
2. 제보 게시글 관리
2-1. 게시글 등록 + AI 요약 + 알림 발송
- 설명: 사용자가 게시글 등록 시, AI 요약 및 관심지역 유저에게 알림 자동 전송
- 메서드:
PostService.createPost(...)
- 세부 로직:
- RegionCode로 지역코드 매핑
- Post 저장
- 관심지역 유저에게 Notification 발송
- OpenAI API를 통해 제목/본문 요약 및 PostSummary 저장
2-2. 게시글 전체 조회
- 설명: 정렬/검색/카테고리 필터/지역 필터 기반으로 게시글 조회
- 메서드:
PostService.getPosts(...)
- 특징:
- 사용자의 공감 여부(liked) 포함
- RegionCode로 지역명 역매핑 포함
- AI 요약 존재 시 요약된 제목/본문 제공
2-3. 게시글 상세 조회
- 설명: 게시글 ID + 사용자 ID 기반 상세 정보 조회