본문 바로가기

개발30

[개발] 사이드 프로젝트 시작 저번에 개인 프로젝트를 하나 끝내고 어떤 기능을 개발을 해볼까 고민을 하다가 설문 작성 기능을 만들어보는게 어떨까 생각이 들었다.온라인 만족도 조사는 워낙 많이 하기 때문에 설문지를 등록하고 설문 결과를 통해 통계를 만들어보면 좋을 것 같았다. 여러 가지 서비스를 가지고 있는 회사가 설문을 등록하는 방식으로 구현을 할 것이기 때문에 회원가입 및 로그인 기능도 구현할 예정이다.우선 설문지는 여러개를 등록할 수 있기 때문에 대표 설문지를 하나 지정하려 한다.사용자가 입력한 설문결과를 테이블에 저장할 것이다. 서비스- 어떤 서비스에 관한 설문인지 알기 위하여 서비스 관리 기능을 구현 (등록, 수정, 조회, 삭제 등) 설문지- 대표 설문지로 지정된 설문지는 삭제 불가능- 설문결과가 하나라도 있다면 수정 불가능-.. 2024. 10. 10.
[에러] 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.