diff --git a/pav-server/src/main/java/com/palnet/biz/api/cns/qna/controller/CnsQnaController.java b/pav-server/src/main/java/com/palnet/biz/api/cns/qna/controller/CnsQnaController.java index a49b42a..0782b19 100644 --- a/pav-server/src/main/java/com/palnet/biz/api/cns/qna/controller/CnsQnaController.java +++ b/pav-server/src/main/java/com/palnet/biz/api/cns/qna/controller/CnsQnaController.java @@ -33,9 +33,9 @@ public class CnsQnaController { public ResponseEntity insertQna(QnaInsertRQModel rq){ log.warn("CnsFaqController - insertQna()"); - cnsQnaService.insertQna(rq); + boolean success = cnsQnaService.insertQna(rq); - return ResponseEntity.ok().body(null); + return ResponseEntity.ok().body(success); } @GetMapping("/select") diff --git a/pav-server/src/main/java/com/palnet/biz/api/cns/qna/model/QnaInsertRQModel.java b/pav-server/src/main/java/com/palnet/biz/api/cns/qna/model/QnaInsertRQModel.java index 22eb243..086f2ba 100644 --- a/pav-server/src/main/java/com/palnet/biz/api/cns/qna/model/QnaInsertRQModel.java +++ b/pav-server/src/main/java/com/palnet/biz/api/cns/qna/model/QnaInsertRQModel.java @@ -9,7 +9,7 @@ import lombok.Data; @Data public class QnaInsertRQModel { - private int targetSno; // 상위 파일 번호 + private Integer targetSno; // 상위 파일 번호 private String category; diff --git a/pav-server/src/main/java/com/palnet/biz/api/cns/qna/service/CnsQnaService.java b/pav-server/src/main/java/com/palnet/biz/api/cns/qna/service/CnsQnaService.java index d62186c..7c874dc 100644 --- a/pav-server/src/main/java/com/palnet/biz/api/cns/qna/service/CnsQnaService.java +++ b/pav-server/src/main/java/com/palnet/biz/api/cns/qna/service/CnsQnaService.java @@ -1,15 +1,16 @@ package com.palnet.biz.api.cns.qna.service; +import java.time.Instant; import java.util.List; -import org.springframework.core.io.ClassPathResource; import org.springframework.stereotype.Service; import org.springframework.web.multipart.MultipartFile; +import com.palnet.biz.api.acnt.jwt.utils.JwtTokenUtil; import com.palnet.biz.api.cns.qna.model.QnaInsertRQModel; import com.palnet.biz.api.comn.file.service.ComnFileService; -import com.palnet.comn.code.ErrorCode; -import com.palnet.comn.exception.CustomException; +import com.palnet.biz.jpa.entity.CnsQnaBas; +import com.palnet.biz.jpa.repository.cns.CnsQnaBasRepository; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; @@ -21,14 +22,34 @@ public class CnsQnaService { private final ComnFileService comnFileService; + + private final CnsQnaBasRepository cnsQnaBasRepository; + + private final JwtTokenUtil jwtTokenUtil; public boolean insertQna(QnaInsertRQModel rq){ log.warn("CnsQnaService - insertQna()"); List files = rq.getFiles(); - - comnFileService.fileUpload(files); + int fileGroupNo = comnFileService.fileUpload(files); + String userId = jwtTokenUtil.getUserIdByToken(); + + if (userId == null) userId = "NONE"; + + CnsQnaBas cnsQnaBas = new CnsQnaBas(); + cnsQnaBas.setCategory(rq.getCategory()); + cnsQnaBas.setTitle(rq.getTitle()); + cnsQnaBas.setContent(rq.getContent()); + cnsQnaBas.setFileGroupNo(fileGroupNo); + cnsQnaBas.setCreateDt(Instant.now()); + cnsQnaBas.setCreateUserId(userId); + cnsQnaBas.setUpdateDt(Instant.now()); + cnsQnaBas.setUpdateUserId(userId); + + if(rq.getTargetSno() != null) cnsQnaBas.setTargetSno(rq.getTargetSno()); + + cnsQnaBasRepository.save(cnsQnaBas); return true; } diff --git a/pav-server/src/main/java/com/palnet/biz/api/comn/file/service/ComnFileService.java b/pav-server/src/main/java/com/palnet/biz/api/comn/file/service/ComnFileService.java index da0631e..bc5d1b9 100644 --- a/pav-server/src/main/java/com/palnet/biz/api/comn/file/service/ComnFileService.java +++ b/pav-server/src/main/java/com/palnet/biz/api/comn/file/service/ComnFileService.java @@ -16,7 +16,6 @@ import java.util.ArrayList; import java.util.List; import java.util.Objects; -import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.transaction.Transactional; @@ -47,7 +46,6 @@ public class ComnFileService { private final PdfUtils pdfUtils; private final JwtTokenUtil jwtTokenUtil; private final ComFileBasRepository comFileBasRepository; - private final HttpServletRequest request; private final HttpServletResponse response; @@ -202,7 +200,7 @@ public class ComnFileService { } - public boolean fileUpload(List files){ + public Integer fileUpload(List files){ if(!this.validCheck(files)) throw new CustomException(ErrorCode.NON_VALID_PARAMETER); @@ -226,14 +224,6 @@ public class ComnFileService { String etc = String.valueOf(System.currentTimeMillis()); // 동명이인 방지 String fileName = this.getLaancSaveName(ExtensionConstant.fromExtension(extension), fileGroupNo.toString(), "qna", etc); - ComFileBas node = new ComFileBas(); - node.setFileGroupNo(fileGroupNo); - node.setFilePath(fileUrl); - node.setFileExt(extension); - node.setCreateDt(Instant.now()); - node.setFileSaveNm(fileName); - node.setFileOriNm(oriNm); - try { Path directoryPath = Paths.get(fileUrl); if (!Files.exists(directoryPath)) { @@ -245,22 +235,30 @@ public class ComnFileService { File saveFile = new File(filePath); file.transferTo(saveFile); - long fileSize = Files.size(Paths.get(filePath)) / 1024; - + long fileSize = Files.size(Paths.get(filePath)) / 1024; + + String userId = jwtTokenUtil.getUserIdByToken(); + if (userId == null) userId = "NONE"; + + ComFileBas node = new ComFileBas(); + node.setFileGroupNo(fileGroupNo); + node.setFilePath(fileUrl); + node.setFileExt(extension); + node.setCreateDt(Instant.now()); + node.setCreateUserId(userId); + node.setFileSaveNm(fileName); + node.setFileOriNm(oriNm); node.setFileSize(String.valueOf(fileSize)); + + comFileBas.add(node); } catch (IOException e) { e.printStackTrace(); - } - String userId = jwtTokenUtil.getUserIdByToken(); - if (userId == null) userId = "NONE"; - node.setCreateUserId(userId); - - comFileBas.add(node); + } } this.saveAll(comFileBas); - return true; + return fileGroupNo; } /** diff --git a/pav-server/src/main/java/com/palnet/biz/jpa/entity/CnsQnaBas.java b/pav-server/src/main/java/com/palnet/biz/jpa/entity/CnsQnaBas.java index d5e5166..57ebd1f 100644 --- a/pav-server/src/main/java/com/palnet/biz/jpa/entity/CnsQnaBas.java +++ b/pav-server/src/main/java/com/palnet/biz/jpa/entity/CnsQnaBas.java @@ -5,6 +5,7 @@ import java.time.Instant; import javax.persistence.*; +import lombok.Builder; import lombok.Data; @Entity diff --git a/pav-server/src/main/java/com/palnet/biz/jpa/repository/cns/CnsQnaBasRepository.java b/pav-server/src/main/java/com/palnet/biz/jpa/repository/cns/CnsQnaBasRepository.java index 33c0751..d8406d9 100644 --- a/pav-server/src/main/java/com/palnet/biz/jpa/repository/cns/CnsQnaBasRepository.java +++ b/pav-server/src/main/java/com/palnet/biz/jpa/repository/cns/CnsQnaBasRepository.java @@ -1,5 +1,11 @@ package com.palnet.biz.jpa.repository.cns; -public class CnsQnaBasRepository { +import org.springframework.data.jpa.repository.JpaRepository; +import org.springframework.stereotype.Repository; + +import com.palnet.biz.jpa.entity.CnsQnaBas; + +@Repository +public interface CnsQnaBasRepository extends JpaRepository{ }