수정기능 작업 완료
parent
06df11d99d
commit
360d079ca9
|
|
@ -58,8 +58,7 @@ public class BoardController {
|
|||
@PostMapping("/updateContent")
|
||||
public Integer updateContent(Board content, @RequestParam(value = "fileSeq") List<Integer> deleteFileSeq, MultipartHttpServletRequest request, @AuthenticationPrincipal UserInfo loginUser){
|
||||
content.setFileList(request.getMultiFileMap().get("uploadFiles"));
|
||||
return 0;
|
||||
// return boardService.updateContent(content, loginUser);
|
||||
return boardService.updateContent(content, deleteFileSeq, loginUser);
|
||||
}
|
||||
|
||||
@GetMapping("/contentList")
|
||||
|
|
|
|||
|
|
@ -34,18 +34,22 @@ public class BoardService {
|
|||
Integer contentSeq = boardRepository.save(content).getContentSeq();
|
||||
saveBoardLog(content.getContentSeq(), LogStatus.WRITE, null, content.getCreateId());
|
||||
saveHashTagLink(contentSeq, content.getHashTagStr());
|
||||
saveUploadFiles(content);
|
||||
saveUploadFiles(content, content.getCreateId());
|
||||
return contentSeq;
|
||||
}
|
||||
|
||||
@Transactional
|
||||
public Integer updateContent(Board updateContent, UserInfo userInfo) {
|
||||
public Integer updateContent(Board updateContent, List<Integer> fileSeqList, UserInfo userInfo) {
|
||||
int contentSeq = updateContent.getContentSeq();
|
||||
Board savedContent = boardRepository.findById(contentSeq).orElse(null);
|
||||
savedContent.setCategorySeq(updateContent.getCategorySeq());
|
||||
savedContent.setTitle(updateContent.getTitle());
|
||||
savedContent.setDescription(updateContent.getDescription());
|
||||
saveBoardLog(contentSeq, LogStatus.MODIFY, null, userInfo.getUserId());
|
||||
deleteHashTagLink(contentSeq);
|
||||
saveHashTagLink(contentSeq, updateContent.getHashTagStr());
|
||||
deleteFileInfo(contentSeq, fileSeqList, userInfo.getUserId());
|
||||
saveUploadFiles(updateContent, userInfo.getUserId());
|
||||
return contentSeq;
|
||||
}
|
||||
|
||||
|
|
@ -81,7 +85,7 @@ public class BoardService {
|
|||
}
|
||||
}
|
||||
}
|
||||
private void saveUploadFiles(Board content){
|
||||
private void saveUploadFiles(Board content, String userId){
|
||||
FileInfo lastFileInfo = fileInfoRepository.findTopByContentSeqOrderByFileSeqDesc(content.getContentSeq()).orElse(null);
|
||||
int fileSeq = lastFileInfo==null?1:(lastFileInfo.getFileSeq()+1);
|
||||
for(MultipartFile file : content.getFileList()){
|
||||
|
|
@ -116,7 +120,7 @@ public class BoardService {
|
|||
fileInfo.setFileSize(calculationFileSize(file.getSize()));
|
||||
fileInfo.setSavePath(path);
|
||||
fileInfoRepository.save(fileInfo);
|
||||
saveBoardLog(content.getContentSeq(), LogStatus.FILE_ADD, fileInfo.getFullName(), content.getCreateId());
|
||||
saveBoardLog(content.getContentSeq(), LogStatus.FILE_ADD, fileInfo.getFullName(), userId);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -197,7 +201,7 @@ public class BoardService {
|
|||
content.setStatus("D");
|
||||
saveBoardLog(contentSeq, LogStatus.DELETE, null, user.getUserId());
|
||||
deleteHashTagLink(contentSeq);
|
||||
deleteFileInfo(contentSeq);
|
||||
deleteFileInfoAll(contentSeq);
|
||||
return contentSeq;
|
||||
}
|
||||
|
||||
|
|
@ -205,15 +209,29 @@ public class BoardService {
|
|||
List<HashTagLink> tagLinkList = hashTagLinkRepository.findByContentSeq(contentSeq);
|
||||
hashTagLinkRepository.deleteAll(tagLinkList);
|
||||
}
|
||||
private void deleteFileInfo(int contentSeq){
|
||||
private void deleteFileInfoAll(int contentSeq){
|
||||
List<FileInfo> fileInfoList = fileInfoRepository.findByContentSeqOrderByFileSeqAsc(contentSeq);
|
||||
for(FileInfo fileInfo: fileInfoList){
|
||||
File file = new File(fileInfo.getSavePath(), fileInfo.getConversionName());
|
||||
file.delete();
|
||||
deleteStoredFile(fileInfo.getSavePath(), fileInfo.getConversionName());
|
||||
}
|
||||
fileInfoRepository.deleteAll(fileInfoList);
|
||||
}
|
||||
|
||||
private void deleteFileInfo(Integer contentSeq, List<Integer> fileSeqList, String userId){
|
||||
List<FileInfo> fileInfoList = fileInfoRepository.findByContentSeqOrderByFileSeqAsc(contentSeq);
|
||||
for(FileInfo fileInfo: fileInfoList){
|
||||
if(fileSeqList.contains(fileInfo.getFileSeq())){
|
||||
deleteStoredFile(fileInfo.getSavePath(), fileInfo.getConversionName());
|
||||
saveBoardLog(contentSeq, LogStatus.FILE_REMOVE, fileInfo.getFullName(), userId);
|
||||
fileInfoRepository.delete(fileInfo);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void deleteStoredFile(String savePath, String conversionName){
|
||||
File deleteFile = new File(savePath, conversionName);
|
||||
deleteFile.delete();
|
||||
}
|
||||
private String makeFilePath(Integer categorySeq){
|
||||
BoardCategory category = boardCategoryRepository.findById(categorySeq).orElse(null);
|
||||
if(category.getParentSeq()==null){
|
||||
|
|
|
|||
|
|
@ -150,7 +150,7 @@ function setParentCategory(depth, parentSeq){
|
|||
|
||||
function setFileDiv(file, idx){
|
||||
const uploadDiv = $("#uploadDiv");
|
||||
if(files.length===1){
|
||||
if($(".uploadedFileDelete").length===0 && $(".fileDelete").length === 0){
|
||||
uploadDiv.empty();
|
||||
}
|
||||
let fileInfo = "<div class='row-col-6'>";
|
||||
|
|
|
|||
|
|
@ -55,7 +55,7 @@
|
|||
<body class="d-flex flex-column h-100">
|
||||
<header th:replace="fragments/header :: headerFragment"></header>
|
||||
<div class="h-100" sec:authorize="isAnonymous()" layout:fragment="content"></div>
|
||||
<div sec:authorize="isAuthenticated()" class="row mx-0 h-100">
|
||||
<div sec:authorize="isAuthenticated()" class="row mx-0">
|
||||
<div class="col-2 centerDiv border-end">
|
||||
<div th:replace="fragments/leftMenu :: leftMenuFragment"></div>
|
||||
</div>
|
||||
|
|
|
|||
Loading…
Reference in New Issue