본문 바로가기

springboot24

[에러] swagger로 테스트 시 LocalDateTime typeMisMatch 포인트 내역을 조회할 때 LocalDateTime 타입인 날짜를 받아오는 요청이 있다. 이렇게 두고 테스트를 하면 자꾸 LocalDateTime typeMisMatch 에러가 뜨면서 조회가 안되는 현상이 있었다. DB에는 날짜가 어떻게 저장되는지 확인해 보았다.이렇게 저장되어 있길래 swagger에서도 저 날짜 형식으로 요청값을 넣고 테스트를 했지만 똑같은 에러가 발생하였다. 그래서 해결한 방법은public class BasicGetListRequest { @DateTimeFormat(iso = DateTimeFormat.ISO.DATE_TIME) private LocalDateTime startDate; @DateTimeFormat(iso = DateTimeFormat.ISO.DATE_.. 2024. 6. 26.
[개발] 내 포인트 내역 조회 지난 번에 포인트 만료 기능까지 구현했으니 오늘은 나의 포인트 내역 조회 기능을 구현해보려고 한다.이 코드는 비교적 간단하다. JPA를 사용하여 간단하게 리스트를 추출할 수 있다. PointHistoryRepopublic interface PointHistoryRepo extends JpaRepository { List findAllByUserIdOrderByCreatedDateDesc(Long userId);} createdDate를 기준으로 내림차순하여 userId를 가지고 PointHistory의 모든 필드들을 가져오는 것이다. PointHistoryServicepublic List getMyPointList(Long userId) { List list = pointHistoryR.. 2024. 6. 4.
[개발] 포인트 만료 포인트 테이블에는 endDt 라는 만료일이 지정되어 있다.스케줄러를 사용하여 만료일이 지나면 포인트를 만료 시키는 기능을 구현하려고 한다. 우선 point_history 테이블에는 사용자별 만료되어야 할 총 포인트가 들어가야하며 point_history_detail에는 accumulateId와 userId를 가지고 amount의 합이 0보다 큰 리스트가 쌓여야 한다. 나는 사용자별 만료 총 포인트를 구하기 위하여 서브쿼리를 사용하였다. ExpiredPoints@Entity@Subselect( "select " + " a.user_id " + " , sum(a.amount) as expired_point " + .. 2024. 6. 3.
[개발] 포인트 차감 저번에 게시글을 등록하면 포인트가 적립되는 기능을 구현하였다.이번에는 게시글을 수정하거나 삭제할 때 포인트가 차감되도록 구현 해보았다. 포인트 관련 테이블로는 PointHistory랑 PointHistoryDetail이 있는데 PointHistory에는 단순하게 몇 포인트가 적립되었고 사용되었는지에 대한 기록을 보여준다.PointHistoryDetail에서는 더 세부적으로 보여지게 만들었는데, 예를 들어 게시글 등록을 2번 해서 3포인트씩 2번 6포인트가 쌓였고, 게시글 수정이나 삭제를 통해 2포인트씩 차감한다고 가정해보자.그러면 게시글 수정이나 삭제를 할 때 첫 번째 게시글 등록에서 쌓인 2포인트와 첫 번째 게시글 등록 포인트 1 + 두 번째 게시글 등록 포인트 1 이렇게 차감 해야 한다.따라서 Poi.. 2024. 5. 30.