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. 29
      pav-server/src/main/java/com/palnet/biz/api/cns/qna/service/CnsQnaService.java
  4. 30
      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){
log.warn("CnsFaqController - insertQna()");
cnsQnaService.insertQna(rq);
boolean success = cnsQnaService.insertQna(rq);
return ResponseEntity.ok().body(null);
return ResponseEntity.ok().body(success);
}
@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
public class QnaInsertRQModel {
private int targetSno; // 상위 파일 번호
private Integer targetSno; // 상위 파일 번호
private String category;

29
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;
@ -22,13 +23,33 @@ 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<MultipartFile> files = rq.getFiles();
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());
comnFileService.fileUpload(files);
cnsQnaBasRepository.save(cnsQnaBas);
return true;
}

30
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<MultipartFile> files){
public Integer fileUpload(List<MultipartFile> 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)) {
@ -247,20 +237,28 @@ public class ComnFileService {
long fileSize = Files.size(Paths.get(filePath)) / 1024;
node.setFileSize(String.valueOf(fileSize));
} catch (IOException e) {
e.printStackTrace();
}
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();
}
}
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 lombok.Builder;
import lombok.Data;
@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;
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