From dce245ab713ae0ae473f4816b12371e2e13af8e4 Mon Sep 17 00:00:00 2001 From: dyhj625 Date: Fri, 24 Jan 2025 14:44:47 +0900 Subject: [PATCH] =?UTF-8?q?=ED=8C=8C=EC=9D=BC=EC=9A=A9=EB=9F=89=EC=A0=9C?= =?UTF-8?q?=ED=95=9C=EA=B2=80=EC=82=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../localhost/service/localbordService.java | 22 ++++++++++++++++--- 1 file changed, 19 insertions(+), 3 deletions(-) diff --git a/src/main/java/io/company/localhost/service/localbordService.java b/src/main/java/io/company/localhost/service/localbordService.java index a06495d..71e4b77 100644 --- a/src/main/java/io/company/localhost/service/localbordService.java +++ b/src/main/java/io/company/localhost/service/localbordService.java @@ -23,6 +23,7 @@ import lombok.RequiredArgsConstructor; @RequiredArgsConstructor public class localbordService { private final localbordMapper boardMapper; + private static final long MAX_FILE_SIZE = 5 * 1024 * 1024; // 5MB public List getNotices(MapDto map) { List posts = boardMapper.getNotices(map); @@ -55,13 +56,28 @@ public class localbordService { boardMapper.createBoard(map); return (BigInteger) map.get("LOCBRDSEQ"); } + + public void addAttachment(MapDto map) { + String boardSeqStr = (String) map.get("CMNBRDSEQ"); + Long boardSeq = Long.parseLong(boardSeqStr); + map.put("CMNBRDSEQ", boardSeq); + + String newFilename = UUID.randomUUID().toString(); + map.put("CMNFLENAM", newFilename); - public void addAttachment(MapDto map) { - String newFilename = UUID.randomUUID().toString(); - map.put("CMNFLENAM", newFilename); boardMapper.addAttachment(map); } + public void validateAttachmentsSize(List attachments) { + long totalSize = attachments.stream() + .mapToLong(attachment -> (Long) attachment.get("size")) + .sum(); + + if (totalSize > MAX_FILE_SIZE) { + throw new IllegalArgumentException("첨부파일의 총 용량이 5MB를 초과합니다."); + } + } + public MapDto getBoardDetail(Long boardId) { incrementViewCount(boardId); MapDto boardDetail = boardMapper.selectBoardDetail(boardId);