diff --git a/src/main/java/com/sb/web/auth/controller/AuthController.java b/src/main/java/com/sb/web/auth/controller/AuthController.java index ac9ebea..94ef128 100644 --- a/src/main/java/com/sb/web/auth/controller/AuthController.java +++ b/src/main/java/com/sb/web/auth/controller/AuthController.java @@ -102,10 +102,15 @@ public class AuthController { return java.util.Map.of("points", pointService.getPoints(current.getId())); } - /** 포인트 적립/차감 내역 (최신순) */ + /** 포인트 적립/차감 내역 — year+month 지정 시 해당 월 전건, 미지정 시 최근 100건 */ @GetMapping("/point-history") public java.util.List pointHistory( + @RequestParam(required = false) Integer year, + @RequestParam(required = false) Integer month, @RequestAttribute(AuthInterceptor.CURRENT_MEMBER) SessionUser current) { + if (year != null && month != null) { + return pointService.getHistory(current.getId(), year, month); + } return pointService.getHistory(current.getId()); } diff --git a/src/main/java/com/sb/web/point/PointService.java b/src/main/java/com/sb/web/point/PointService.java index 3ae2931..fa4a8d4 100644 --- a/src/main/java/com/sb/web/point/PointService.java +++ b/src/main/java/com/sb/web/point/PointService.java @@ -167,8 +167,13 @@ public class PointService { return p == null ? 0L : p; } - /** 최근 포인트 적립/차감 내역 (최신순) */ + /** 최근 포인트 적립/차감 내역 (최신순, 최대 100건) */ public java.util.List getHistory(Long memberId) { return pointMapper.findHistory(memberId, 100); } + + /** 특정 연월 포인트 적립/차감 내역 (최신순, 전건) */ + public java.util.List getHistory(Long memberId, int year, int month) { + return pointMapper.findHistoryByMonth(memberId, year, month); + } } diff --git a/src/main/java/com/sb/web/point/mapper/PointMapper.java b/src/main/java/com/sb/web/point/mapper/PointMapper.java index bc483c0..4f83621 100644 --- a/src/main/java/com/sb/web/point/mapper/PointMapper.java +++ b/src/main/java/com/sb/web/point/mapper/PointMapper.java @@ -26,4 +26,7 @@ public interface PointMapper { /** 최근 적립/차감 내역 (최신순, 최대 limit건) */ List findHistory(@Param("memberId") Long memberId, @Param("limit") int limit); + + /** 특정 연월 적립/차감 내역 (최신순, 전건) */ + List findHistoryByMonth(@Param("memberId") Long memberId, @Param("year") int year, @Param("month") int month); } diff --git a/src/main/resources/mapper/PointMapper.xml b/src/main/resources/mapper/PointMapper.xml index 6eba1c4..7d0c2e3 100644 --- a/src/main/resources/mapper/PointMapper.xml +++ b/src/main/resources/mapper/PointMapper.xml @@ -34,4 +34,13 @@ LIMIT #{limit} + +