Browse Source

Qna 추가 기능

pull/9/head
lkd9125 11 months ago
parent
commit
69e44f00d8
  1. 4
      pav-server/src/main/java/com/palnet/biz/api/cns/qna/controller/CnsQnaController.java
  2. 2
      pav-server/src/main/java/com/palnet/biz/api/cns/qna/model/QnaInsertRQModel.java
  3. 31
      pav-server/src/main/java/com/palnet/biz/api/cns/qna/service/CnsQnaService.java
  4. 38
      pav-server/src/main/java/com/palnet/biz/api/comn/file/service/ComnFileService.java
  5. 1
      pav-server/src/main/java/com/palnet/biz/jpa/entity/CnsQnaBas.java
  6. 8
      pav-server/src/main/java/com/palnet/biz/jpa/repository/cns/CnsQnaBasRepository.java

4
pav-server/src/main/java/com/palnet/biz/api/cns/qna/controller/CnsQnaController.java

@ -33,9 +33,9 @@ public class CnsQnaController {
public ResponseEntity<Object> insertQna(QnaInsertRQModel rq){ public ResponseEntity<Object> insertQna(QnaInsertRQModel rq){
log.warn("CnsFaqController - insertQna()"); log.warn("CnsFaqController - insertQna()");
cnsQnaService.insertQna(rq); boolean success = cnsQnaService.insertQna(rq);
return ResponseEntity.ok().body(null); return ResponseEntity.ok().body(success);
} }
@GetMapping("/select") @GetMapping("/select")

2
pav-server/src/main/java/com/palnet/biz/api/cns/qna/model/QnaInsertRQModel.java

@ -9,7 +9,7 @@ import lombok.Data;
@Data @Data
public class QnaInsertRQModel { public class QnaInsertRQModel {
private int targetSno; // 상위 파일 번호 private Integer targetSno; // 상위 파일 번호
private String category; private String category;

31
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; package com.palnet.biz.api.cns.qna.service;
import java.time.Instant;
import java.util.List; import java.util.List;
import org.springframework.core.io.ClassPathResource;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.web.multipart.MultipartFile; 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.cns.qna.model.QnaInsertRQModel;
import com.palnet.biz.api.comn.file.service.ComnFileService; import com.palnet.biz.api.comn.file.service.ComnFileService;
import com.palnet.comn.code.ErrorCode; import com.palnet.biz.jpa.entity.CnsQnaBas;
import com.palnet.comn.exception.CustomException; import com.palnet.biz.jpa.repository.cns.CnsQnaBasRepository;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
@ -21,14 +22,34 @@ public class CnsQnaService {
private final ComnFileService comnFileService; private final ComnFileService comnFileService;
private final CnsQnaBasRepository cnsQnaBasRepository;
private final JwtTokenUtil jwtTokenUtil;
public boolean insertQna(QnaInsertRQModel rq){ public boolean insertQna(QnaInsertRQModel rq){
log.warn("CnsQnaService - insertQna()"); log.warn("CnsQnaService - insertQna()");
List<MultipartFile> files = rq.getFiles(); List<MultipartFile> files = rq.getFiles();
int fileGroupNo = comnFileService.fileUpload(files);
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; return true;
} }

38
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.List;
import java.util.Objects; import java.util.Objects;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import javax.transaction.Transactional; import javax.transaction.Transactional;
@ -47,7 +46,6 @@ public class ComnFileService {
private final PdfUtils pdfUtils; private final PdfUtils pdfUtils;
private final JwtTokenUtil jwtTokenUtil; private final JwtTokenUtil jwtTokenUtil;
private final ComFileBasRepository comFileBasRepository; private final ComFileBasRepository comFileBasRepository;
private final HttpServletRequest request;
private final HttpServletResponse response; private final HttpServletResponse response;
@ -202,7 +200,7 @@ public class ComnFileService {
} }
public boolean fileUpload(List<MultipartFile> files){ public Integer fileUpload(List<MultipartFile> files){
if(!this.validCheck(files)) throw new CustomException(ErrorCode.NON_VALID_PARAMETER); 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 etc = String.valueOf(System.currentTimeMillis()); // 동명이인 방지
String fileName = this.getLaancSaveName(ExtensionConstant.fromExtension(extension), fileGroupNo.toString(), "qna", etc); 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 { try {
Path directoryPath = Paths.get(fileUrl); Path directoryPath = Paths.get(fileUrl);
if (!Files.exists(directoryPath)) { if (!Files.exists(directoryPath)) {
@ -245,22 +235,30 @@ public class ComnFileService {
File saveFile = new File(filePath); File saveFile = new File(filePath);
file.transferTo(saveFile); 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)); node.setFileSize(String.valueOf(fileSize));
comFileBas.add(node);
} catch (IOException e) { } catch (IOException e) {
e.printStackTrace(); e.printStackTrace();
} }
String userId = jwtTokenUtil.getUserIdByToken();
if (userId == null) userId = "NONE";
node.setCreateUserId(userId);
comFileBas.add(node);
} }
this.saveAll(comFileBas); this.saveAll(comFileBas);
return true; return fileGroupNo;
} }
/** /**

1
pav-server/src/main/java/com/palnet/biz/jpa/entity/CnsQnaBas.java

@ -5,6 +5,7 @@ import java.time.Instant;
import javax.persistence.*; import javax.persistence.*;
import lombok.Builder;
import lombok.Data; import lombok.Data;
@Entity @Entity

8
pav-server/src/main/java/com/palnet/biz/jpa/repository/cns/CnsQnaBasRepository.java

@ -1,5 +1,11 @@
package com.palnet.biz.jpa.repository.cns; 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<CnsQnaBas, Integer>{
} }

Loading…
Cancel
Save