From 61bbeb55335d36cb299db62f123383fc5182da64 Mon Sep 17 00:00:00 2001 From: coehgns Date: Thu, 9 Oct 2025 18:38:38 +0900 Subject: [PATCH 1/2] =?UTF-8?q?fix=20(=20#36=20)=20:=20UpdateNoticeService?= =?UTF-8?q?=20500=20=ED=95=B4=EA=B2=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/UpdateNoticeService.kt | 28 +++++++++++-------- 1 file changed, 17 insertions(+), 11 deletions(-) diff --git a/casper-feed/src/main/kotlin/hs/kr/entrydsm/feed/domain/notice/application/service/UpdateNoticeService.kt b/casper-feed/src/main/kotlin/hs/kr/entrydsm/feed/domain/notice/application/service/UpdateNoticeService.kt index 2c0a5b1..561ad4d 100644 --- a/casper-feed/src/main/kotlin/hs/kr/entrydsm/feed/domain/notice/application/service/UpdateNoticeService.kt +++ b/casper-feed/src/main/kotlin/hs/kr/entrydsm/feed/domain/notice/application/service/UpdateNoticeService.kt @@ -10,9 +10,11 @@ import hs.kr.entrydsm.feed.infrastructure.s3.util.FileUtil import hs.kr.entrydsm.feed.domain.attachFile.model.AttachFile import hs.kr.entrydsm.feed.domain.notice.application.port.`in`.UpdateNoticeUseCase import hs.kr.entrydsm.feed.domain.notice.application.port.out.FindNoticePort +import hs.kr.entrydsm.feed.domain.notice.application.port.out.SaveNoticePort import org.springframework.http.HttpStatus import org.springframework.http.ResponseEntity import org.springframework.stereotype.Service +import org.springframework.transaction.annotation.Transactional import java.util.UUID /** @@ -29,6 +31,7 @@ class UpdateNoticeService( private val fileUtil: FileUtil, private val adminUtils: AdminUtils, private val findAttachFilePort: FindAttachFilePort, + private val saveNoticePort: SaveNoticePort ) : UpdateNoticeUseCase { /** * 공지사항을 수정합니다. @@ -40,6 +43,7 @@ class UpdateNoticeService( * @throws AttachFileNotFoundException 첨부 파일을 찾을 수 없는 경우 * @throws hs.kr.entrydsm.feed.global.exception.UnauthorizedException 관리자 인증에 실패한 경우 */ + @Transactional override fun execute( noticeId: UUID, request: UpdateNoticeRequest, @@ -50,17 +54,19 @@ class UpdateNoticeService( val fileName = request.fileName val attachFiles = findAttachFiles(request.attachFileName) - request.run { - notice.updateNotice( - newTitle = title, - newContent = content, - newIsPinned = isPinned, - newType = type, - newFileName = fileName, - newAdminId = adminId, - newAttachFile = attachFiles, - ) - } + saveNoticePort.saveNotice( + request.run { + notice.updateNotice( + newTitle = title, + newContent = content, + newIsPinned = isPinned, + newType = type, + newFileName = fileName, + newAdminId = adminId, + newAttachFile = attachFiles, + ) + } + ) return fileName?.let { ResponseEntity.ok(fileUtil.generateObjectUrl(it, PathList.NOTICE)) From d3d323c59032b54034216037572d518be118cc51 Mon Sep 17 00:00:00 2001 From: coehgns Date: Thu, 9 Oct 2025 18:40:16 +0900 Subject: [PATCH 2/2] =?UTF-8?q?fix=20(=20#36=20)=20:=20DeleteNoticeService?= =?UTF-8?q?=20@Transactional=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../domain/notice/application/service/DeleteNoticeService.kt | 2 ++ 1 file changed, 2 insertions(+) diff --git a/casper-feed/src/main/kotlin/hs/kr/entrydsm/feed/domain/notice/application/service/DeleteNoticeService.kt b/casper-feed/src/main/kotlin/hs/kr/entrydsm/feed/domain/notice/application/service/DeleteNoticeService.kt index 308831e..f9aff78 100644 --- a/casper-feed/src/main/kotlin/hs/kr/entrydsm/feed/domain/notice/application/service/DeleteNoticeService.kt +++ b/casper-feed/src/main/kotlin/hs/kr/entrydsm/feed/domain/notice/application/service/DeleteNoticeService.kt @@ -5,6 +5,7 @@ import hs.kr.entrydsm.feed.domain.notice.application.port.`in`.DeleteNoticeUseCa import hs.kr.entrydsm.feed.domain.notice.application.port.out.DeleteNoticePort import hs.kr.entrydsm.feed.domain.notice.application.port.out.FindNoticePort import org.springframework.stereotype.Service +import org.springframework.transaction.annotation.Transactional import java.util.UUID /** @@ -24,6 +25,7 @@ class DeleteNoticeService( * @param noticeId 삭제할 공지사항의 고유 식별자 * @throws NoticeNotFoundException 지정된 ID의 공지사항을 찾을 수 없는 경우 */ + @Transactional override fun execute(noticeId: UUID) { val notice = findNoticePort.findByIdOrNull(noticeId) ?: throw NoticeNotFoundException deleteNoticePort.deleteNotice(notice)