[ 작업한 내용 ]
1. 공지 수정
1-1) 요청, 응답 DTO 생성
- AdminNoticeUpdateReqDTO.java
- AdminNoticeUpdateResDTO.java
1-2) messages.properties
- success.notice.updated=공지사항 수정이 완료되었습니다.
- error.notice.update_failed=공지 수정 중 오류가 발생했습니다.
- error.notice.not_found=해당 공지사항을 찾을 수 없습니다.
1-3) NoticeSuccessCode
- NOTICE_UPDATED(HttpStatus.OK, "NOTICE_202", "success.notice.updated");
1-4) NoticeErrorCode
- NOTICE_UPDATE_FAILED(HttpStatus.BAD_REQUEST, "NOTICE_004", "error.notice.update_failed");
1-5) Controller 작업
- @RequestBody로 AdminNoiceUpdateReqDTO 타입으로 요청 받고 요청받은 데이터(title, content)와 인증객체 User, @PathVariable로 받은 noticeId를 service 계층으로 전달해 비즈니스 로직 처리하고 필요한 데이터 가져오기.
- 응답받은 데이터는 id(notice), writer, updatedDate
1-6) Service 작업
- controller로 전달받은 noticeId로 레포지토리에서 해당 공지글을 찾아서 Notice객체에 담는다.
- user 권한 체크하고 title, content 각각 null 체크하기.
- notice 업데이트하기 (Notice 엔티티에 생성한 update 메서드 사용)
- notice 데이터를 AdminNoticeUpdateResDTO로 새로 생성하여 반환.
1-7) Notice 엔티티
- 업데이트를 위한 update 메서드 생성.
- title, content, updatedDate, writer.
2. 공지사항 삭제
2-1) messages.properties
- success.notice.deleted=공지사항이 삭제되었습니다.
2-2) NoticeSuccessCode
- NOTICE_DELETED(HttpStatus.OK, "NOTICE_203", "success.notice.deleted");
2-3) AdminNoticeController
- @PathVariable로 noticeId와 @AuthenticationPrincipal user를 요청 받아 serivce 계층으로 전달해 비즈니스 로직을 처리하기.
2-4) AdminNoticeService
- 전달받은 noticeId를 repository를 통해 공지를 조회하여 Notice 객체 생성.
- 전달받은 user를 사용하여 Role이 MANAGER, ADMIN인지 체크.
- repository.delete()를 사용하여 notice 삭제.
'개발 기록 > 도서관 관리 시스템' 카테고리의 다른 글
[Library Management System] 25.09.04 (37일) (0) | 2025.09.04 |
---|---|
[Library Management System] 25.09.03 (36일) (0) | 2025.09.03 |
[Library Management System] 25.09.01 (34일) (0) | 2025.09.01 |
[Library Management System] 25.08.31 (33일) (0) | 2025.08.31 |
[Library Management System] 25.08.30 (32일) (0) | 2025.08.31 |