feat(point): 한 달 개근(모든 날 기록) 랜덤 보너스 1~100P

내역 저장 시 현재 월 모든 날에 기록이 있으면 월 1회 랜덤 1~100P 지급.
전월 소급 입력 파밍 방지(현재 월만 인정), 화면 안내 없음(포인트 내역에만).
- AccountEntryMapper.countDistinctEntryDays, PointMapper.countByReason
- PointService.awardMonthComplete(reason=MONTH_COMPLETE_yyyyMM 로 월 1회)

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
sb
2026-07-05 16:56:48 +09:00
co-authored by Claude Opus 4.8
parent a0509099f7
commit 45bb025247
6 changed files with 60 additions and 0 deletions
@@ -96,4 +96,9 @@ public interface AccountEntryMapper {
/** 복수 항목의 태그를 한 번에 조회 — {entryId, tagName} 맵 반환 */
List<Map<String, Object>> findTagsByEntryIds(@Param("entryIds") List<Long> entryIds);
/** 특정 연·월에 기록이 있는 서로 다른 날짜 수 (한 달 개근 판정용) */
int countDistinctEntryDays(@Param("memberId") Long memberId,
@Param("year") int year,
@Param("month") int month);
}