feat(point): 월별 포인트 내역 조회 API — year/month 파라미터 추가
Deploy / deploy (push) Failing after 14m43s

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
ByungCheol
2026-07-09 23:46:24 +09:00
parent 22c492c1d2
commit 75d5c9fa9b
4 changed files with 24 additions and 2 deletions
@@ -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<com.sb.web.point.PointHistoryResponse> 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());
}
@@ -167,8 +167,13 @@ public class PointService {
return p == null ? 0L : p;
}
/** 최근 포인트 적립/차감 내역 (최신순) */
/** 최근 포인트 적립/차감 내역 (최신순, 최대 100건) */
public java.util.List<PointHistoryResponse> getHistory(Long memberId) {
return pointMapper.findHistory(memberId, 100);
}
/** 특정 연월 포인트 적립/차감 내역 (최신순, 전건) */
public java.util.List<PointHistoryResponse> getHistory(Long memberId, int year, int month) {
return pointMapper.findHistoryByMonth(memberId, year, month);
}
}
@@ -26,4 +26,7 @@ public interface PointMapper {
/** 최근 적립/차감 내역 (최신순, 최대 limit건) */
List<PointHistoryResponse> findHistory(@Param("memberId") Long memberId, @Param("limit") int limit);
/** 특정 연월 적립/차감 내역 (최신순, 전건) */
List<PointHistoryResponse> findHistoryByMonth(@Param("memberId") Long memberId, @Param("year") int year, @Param("month") int month);
}
@@ -34,4 +34,13 @@
LIMIT #{limit}
</select>
<select id="findHistoryByMonth" resultType="com.sb.web.point.PointHistoryResponse">
SELECT amount, reason, created_at
FROM point_history
WHERE member_id = #{memberId}
AND YEAR(created_at) = #{year}
AND MONTH(created_at) = #{month}
ORDER BY id DESC
</select>
</mapper>