Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,6 @@ public UUID exec(RequestFaqSaveDTO requestFaqSaveDTO) {
saveFaqDAOBean.exec(faqDAO);

// 키값 반환
return faqDAO.getFAQId();
return faqDAO.getFaqId();
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
package HalfFifty.HalfFifty_BE.FAQ.bean;

import HalfFifty.HalfFifty_BE.FAQ.bean.small.CreateFaqsDTOBean;
import HalfFifty.HalfFifty_BE.FAQ.bean.small.GetFaqsDAOBean;
import HalfFifty.HalfFifty_BE.FAQ.domain.DTO.ResponseFaqGetDTO;
import HalfFifty.HalfFifty_BE.FAQ.domain.FaqDAO;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;

import java.util.ArrayList;
import java.util.List;

@Component
public class GetFaqsBean {
CreateFaqsDTOBean createFaqsDTOBean;
GetFaqsDAOBean getFaqsDAOBean;

@Autowired
public GetFaqsBean(CreateFaqsDTOBean createFaqsDTOBean, GetFaqsDAOBean getFaqsDAOBean) {
this.createFaqsDTOBean = createFaqsDTOBean;
this.getFaqsDAOBean = getFaqsDAOBean;
}

// FAQ 리스트 조회
public List<ResponseFaqGetDTO> exec() {
// FAQ 객체들 전부 가져오기
List<FaqDAO> faqDAOS = getFaqsDAOBean.exec();
if(faqDAOS == null) return new ArrayList<>();

// 객체들 DTO로 변환
return createFaqsDTOBean.exec(faqDAOS);
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
package HalfFifty.HalfFifty_BE.FAQ.bean.small;

import HalfFifty.HalfFifty_BE.FAQ.domain.DTO.ResponseFaqGetDTO;
import HalfFifty.HalfFifty_BE.FAQ.domain.FaqDAO;
import org.springframework.stereotype.Component;

import java.util.ArrayList;
import java.util.List;

@Component
public class CreateFaqsDTOBean {

// FAQ 객체 리스트를 DTO 리스트로 변환
public List<ResponseFaqGetDTO> exec(List<FaqDAO> faqDAOS) {
// DTO 빈 리스트 생성
List<ResponseFaqGetDTO> responseFaqGetDTOS = new ArrayList<>();

// 각 객체 DTO로 변환
for(FaqDAO faqDAO : faqDAOS) {
ResponseFaqGetDTO responseFaqGetDTO = ResponseFaqGetDTO.builder()
.faqId(faqDAO.getFaqId())
.question(faqDAO.getQuestion())
.answer(faqDAO.getAnswer())
.build();

responseFaqGetDTOS.add(responseFaqGetDTO);
}

// DTO 리스트 반환
return responseFaqGetDTOS;
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
package HalfFifty.HalfFifty_BE.FAQ.bean.small;

import HalfFifty.HalfFifty_BE.FAQ.domain.FaqDAO;
import HalfFifty.HalfFifty_BE.FAQ.repository.FaqRepositoryJPA;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;

import java.util.List;

@Component
public class GetFaqsDAOBean {
FaqRepositoryJPA faqRepositoryJPA;

@Autowired
public GetFaqsDAOBean(FaqRepositoryJPA faqRepositoryJPA) {
this.faqRepositoryJPA = faqRepositoryJPA;
}

// FAQ 객체들 가져오기
public List<FaqDAO> exec() {
return faqRepositoryJPA.findAll();
}
}
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package HalfFifty.HalfFifty_BE.FAQ.controller;

import HalfFifty.HalfFifty_BE.FAQ.domain.DTO.RequestFaqSaveDTO;
import HalfFifty.HalfFifty_BE.FAQ.domain.DTO.ResponseFaqGetDTO;
import HalfFifty.HalfFifty_BE.FAQ.service.FaqService;
import HalfFifty.HalfFifty_BE.keyword.domain.DTO.ResponseKeywordGetDTO;
import org.springframework.beans.factory.annotation.Autowired;
Expand All @@ -9,6 +10,7 @@
import org.springframework.web.bind.annotation.*;

import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.UUID;

Expand All @@ -23,19 +25,37 @@ public FaqController(FaqService faqService) {
this.faqService = faqService;
}

@GetMapping
public ResponseEntity<Map<String, Object>> getFaqAll() {
// Faq 전체조회 service
List<ResponseFaqGetDTO> responseFaqGetDTOS = faqService.getFaqAll();

// Faq 전체조회 여부
boolean success = responseFaqGetDTOS != null;

// Map을 통해 메시지와 list 값 json 데이터로 변환
Map<String, Object> requestMap = new HashMap<>();
requestMap.put("success", success);
requestMap.put("message", success ? "FAQ 전체조회 성공" : "FAQ 전체조회 실패");
requestMap.put("FAQList", responseFaqGetDTOS);

// status, body 설정해서 응답 리턴
return ResponseEntity.status(HttpStatus.OK).body(requestMap);
}

@PostMapping
public ResponseEntity<Map<String, Object>> saveFaq(@RequestBody RequestFaqSaveDTO requestFaqSaveDTO) {
// Faq 저장 service
UUID FaqId = faqService.saveFaq(requestFaqSaveDTO);
UUID faqId = faqService.saveFaq(requestFaqSaveDTO);

// Faq 저장 여부
boolean success = FaqId != null;
boolean success = faqId != null;

// Map을 통해 메시지와 list 값 json 데이터로 변환
Map<String, Object> requestMap = new HashMap<>();
requestMap.put("success", success);
requestMap.put("message", success ? "FAQ 저장 성공" : "FAQ 저장 실패");
requestMap.put("FAQId", FaqId);
requestMap.put("FAQId", faqId);

// status, body 설정해서 응답 리턴
return ResponseEntity.status(HttpStatus.OK).body(requestMap);
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
package HalfFifty.HalfFifty_BE.FAQ.domain.DTO;

import lombok.Builder;
import lombok.Data;

import java.util.UUID;

@Data
@Builder
public class ResponseFaqGetDTO {
UUID faqId;
String question;
String answer;
}
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@
public class FaqDAO {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
UUID FAQId;
UUID faqId;
String question;
String answer;
LocalDateTime createdAt;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,19 +1,29 @@
package HalfFifty.HalfFifty_BE.FAQ.service;

import HalfFifty.HalfFifty_BE.FAQ.bean.FaqSaveBean;
import HalfFifty.HalfFifty_BE.FAQ.bean.GetFaqsBean;
import HalfFifty.HalfFifty_BE.FAQ.domain.DTO.RequestFaqSaveDTO;
import HalfFifty.HalfFifty_BE.FAQ.domain.DTO.ResponseFaqGetDTO;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;
import java.util.UUID;

@Service
public class FaqService {
FaqSaveBean faqSaveBean;
GetFaqsBean getFaqsBean;

@Autowired
public FaqService(FaqSaveBean faqSaveBean) {
public FaqService(FaqSaveBean faqSaveBean, GetFaqsBean getFaqsBean) {
this.faqSaveBean = faqSaveBean;
this.getFaqsBean = getFaqsBean;
}

// Faq 전체조회
public List<ResponseFaqGetDTO> getFaqAll() {
return getFaqsBean.exec();
}

// Faq 저장 (관리자용)
Expand Down
Loading