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);