From 35af47f4b4c5c99519992a2fee6a83a76423a424 Mon Sep 17 00:00:00 2001 From: yoosuhyeon Date: Fri, 14 Feb 2025 02:37:03 +0900 Subject: [PATCH 1/5] =?UTF-8?q?Feat=20:=20FAQ=20=EC=A0=84=EC=B2=B4?= =?UTF-8?q?=EC=A1=B0=ED=9A=8C=20response=20=EC=84=A4=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../FAQ/domain/DTO/ResponseFaqGetDTO.java | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 HalfFifty_BE/src/main/java/HalfFifty/HalfFifty_BE/FAQ/domain/DTO/ResponseFaqGetDTO.java diff --git a/HalfFifty_BE/src/main/java/HalfFifty/HalfFifty_BE/FAQ/domain/DTO/ResponseFaqGetDTO.java b/HalfFifty_BE/src/main/java/HalfFifty/HalfFifty_BE/FAQ/domain/DTO/ResponseFaqGetDTO.java new file mode 100644 index 0000000..57940e5 --- /dev/null +++ b/HalfFifty_BE/src/main/java/HalfFifty/HalfFifty_BE/FAQ/domain/DTO/ResponseFaqGetDTO.java @@ -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; +} From cdea99ba2dd212af3cf9142785b453d4a246db87 Mon Sep 17 00:00:00 2001 From: yoosuhyeon Date: Fri, 14 Feb 2025 02:37:22 +0900 Subject: [PATCH 2/5] =?UTF-8?q?Feat=20:=20FAQ=20=EC=A0=84=EC=B2=B4?= =?UTF-8?q?=EC=A1=B0=ED=9A=8C=20API=20=EB=A1=9C=EC=A7=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../HalfFifty_BE/FAQ/bean/GetFaqsBean.java | 33 +++++++++++++++++++ .../FAQ/bean/small/CreateFaqsDTOBean.java | 32 ++++++++++++++++++ .../FAQ/bean/small/GetFaqsDAOBean.java | 23 +++++++++++++ 3 files changed, 88 insertions(+) create mode 100644 HalfFifty_BE/src/main/java/HalfFifty/HalfFifty_BE/FAQ/bean/GetFaqsBean.java create mode 100644 HalfFifty_BE/src/main/java/HalfFifty/HalfFifty_BE/FAQ/bean/small/CreateFaqsDTOBean.java create mode 100644 HalfFifty_BE/src/main/java/HalfFifty/HalfFifty_BE/FAQ/bean/small/GetFaqsDAOBean.java diff --git a/HalfFifty_BE/src/main/java/HalfFifty/HalfFifty_BE/FAQ/bean/GetFaqsBean.java b/HalfFifty_BE/src/main/java/HalfFifty/HalfFifty_BE/FAQ/bean/GetFaqsBean.java new file mode 100644 index 0000000..c0a5ac8 --- /dev/null +++ b/HalfFifty_BE/src/main/java/HalfFifty/HalfFifty_BE/FAQ/bean/GetFaqsBean.java @@ -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 exec() { + // FAQ 객체들 전부 가져오기 + List faqDAOS = getFaqsDAOBean.exec(); + if(faqDAOS == null) return new ArrayList<>(); + + // 객체들 DTO로 변환 + return createFaqsDTOBean.exec(faqDAOS); + } +} diff --git a/HalfFifty_BE/src/main/java/HalfFifty/HalfFifty_BE/FAQ/bean/small/CreateFaqsDTOBean.java b/HalfFifty_BE/src/main/java/HalfFifty/HalfFifty_BE/FAQ/bean/small/CreateFaqsDTOBean.java new file mode 100644 index 0000000..fcbac98 --- /dev/null +++ b/HalfFifty_BE/src/main/java/HalfFifty/HalfFifty_BE/FAQ/bean/small/CreateFaqsDTOBean.java @@ -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 exec(List faqDAOS) { + // DTO 빈 리스트 생성 + List 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; + } +} diff --git a/HalfFifty_BE/src/main/java/HalfFifty/HalfFifty_BE/FAQ/bean/small/GetFaqsDAOBean.java b/HalfFifty_BE/src/main/java/HalfFifty/HalfFifty_BE/FAQ/bean/small/GetFaqsDAOBean.java new file mode 100644 index 0000000..7a421bd --- /dev/null +++ b/HalfFifty_BE/src/main/java/HalfFifty/HalfFifty_BE/FAQ/bean/small/GetFaqsDAOBean.java @@ -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 exec() { + return faqRepositoryJPA.findAll(); + } +} From 2e7a36ed6f7ffa7e5a174384d8cb907183eff425 Mon Sep 17 00:00:00 2001 From: yoosuhyeon Date: Fri, 14 Feb 2025 02:37:34 +0900 Subject: [PATCH 3/5] =?UTF-8?q?Feat=20:=20FAQ=20=EC=A0=84=EC=B2=B4?= =?UTF-8?q?=EC=A1=B0=ED=9A=8C=20service?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../HalfFifty_BE/FAQ/service/FaqService.java | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/HalfFifty_BE/src/main/java/HalfFifty/HalfFifty_BE/FAQ/service/FaqService.java b/HalfFifty_BE/src/main/java/HalfFifty/HalfFifty_BE/FAQ/service/FaqService.java index 1c1faa4..e6f7441 100644 --- a/HalfFifty_BE/src/main/java/HalfFifty/HalfFifty_BE/FAQ/service/FaqService.java +++ b/HalfFifty_BE/src/main/java/HalfFifty/HalfFifty_BE/FAQ/service/FaqService.java @@ -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 getFaqAll() { + return getFaqsBean.exec(); } // Faq 저장 (관리자용) From e81c2b460f9397be3f22485acc1673dd8d6b8e24 Mon Sep 17 00:00:00 2001 From: yoosuhyeon Date: Fri, 14 Feb 2025 02:37:48 +0900 Subject: [PATCH 4/5] =?UTF-8?q?Feat=20:=20FAQ=20=EC=A0=84=EC=B2=B4?= =?UTF-8?q?=EC=A1=B0=ED=9A=8C=20controller?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../FAQ/controller/FaqController.java | 26 ++++++++++++++++--- 1 file changed, 23 insertions(+), 3 deletions(-) diff --git a/HalfFifty_BE/src/main/java/HalfFifty/HalfFifty_BE/FAQ/controller/FaqController.java b/HalfFifty_BE/src/main/java/HalfFifty/HalfFifty_BE/FAQ/controller/FaqController.java index 2143cfb..30df00a 100644 --- a/HalfFifty_BE/src/main/java/HalfFifty/HalfFifty_BE/FAQ/controller/FaqController.java +++ b/HalfFifty_BE/src/main/java/HalfFifty/HalfFifty_BE/FAQ/controller/FaqController.java @@ -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; @@ -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; @@ -23,19 +25,37 @@ public FaqController(FaqService faqService) { this.faqService = faqService; } + @GetMapping + public ResponseEntity> getFaqAll() { + // Faq 전체조회 service + List responseFaqGetDTOS = faqService.getFaqAll(); + + // Faq 전체조회 여부 + boolean success = responseFaqGetDTOS != null; + + // Map을 통해 메시지와 list 값 json 데이터로 변환 + Map 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> 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 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); From c1bd4de7d9b61d77135b29489e3021362710e396 Mon Sep 17 00:00:00 2001 From: yoosuhyeon Date: Fri, 14 Feb 2025 02:39:48 +0900 Subject: [PATCH 5/5] =?UTF-8?q?Style=20:=20FAQ=20=ED=82=A4=EA=B0=92=20?= =?UTF-8?q?=EB=B3=80=EC=88=98=EB=AA=85=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/HalfFifty/HalfFifty_BE/FAQ/bean/FaqSaveBean.java | 2 +- .../HalfFifty_BE/FAQ/bean/small/CreateFaqsDTOBean.java | 2 +- .../HalfFifty_BE/FAQ/controller/FaqController.java | 6 +++--- .../main/java/HalfFifty/HalfFifty_BE/FAQ/domain/FaqDAO.java | 2 +- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/HalfFifty_BE/src/main/java/HalfFifty/HalfFifty_BE/FAQ/bean/FaqSaveBean.java b/HalfFifty_BE/src/main/java/HalfFifty/HalfFifty_BE/FAQ/bean/FaqSaveBean.java index 1cd00ad..a689900 100644 --- a/HalfFifty_BE/src/main/java/HalfFifty/HalfFifty_BE/FAQ/bean/FaqSaveBean.java +++ b/HalfFifty_BE/src/main/java/HalfFifty/HalfFifty_BE/FAQ/bean/FaqSaveBean.java @@ -30,6 +30,6 @@ public UUID exec(RequestFaqSaveDTO requestFaqSaveDTO) { saveFaqDAOBean.exec(faqDAO); // 키값 반환 - return faqDAO.getFAQId(); + return faqDAO.getFaqId(); } } diff --git a/HalfFifty_BE/src/main/java/HalfFifty/HalfFifty_BE/FAQ/bean/small/CreateFaqsDTOBean.java b/HalfFifty_BE/src/main/java/HalfFifty/HalfFifty_BE/FAQ/bean/small/CreateFaqsDTOBean.java index fcbac98..adf26cd 100644 --- a/HalfFifty_BE/src/main/java/HalfFifty/HalfFifty_BE/FAQ/bean/small/CreateFaqsDTOBean.java +++ b/HalfFifty_BE/src/main/java/HalfFifty/HalfFifty_BE/FAQ/bean/small/CreateFaqsDTOBean.java @@ -18,7 +18,7 @@ public List exec(List faqDAOS) { // 각 객체 DTO로 변환 for(FaqDAO faqDAO : faqDAOS) { ResponseFaqGetDTO responseFaqGetDTO = ResponseFaqGetDTO.builder() - .faqId(faqDAO.getFAQId()) + .faqId(faqDAO.getFaqId()) .question(faqDAO.getQuestion()) .answer(faqDAO.getAnswer()) .build(); diff --git a/HalfFifty_BE/src/main/java/HalfFifty/HalfFifty_BE/FAQ/controller/FaqController.java b/HalfFifty_BE/src/main/java/HalfFifty/HalfFifty_BE/FAQ/controller/FaqController.java index 30df00a..88424ec 100644 --- a/HalfFifty_BE/src/main/java/HalfFifty/HalfFifty_BE/FAQ/controller/FaqController.java +++ b/HalfFifty_BE/src/main/java/HalfFifty/HalfFifty_BE/FAQ/controller/FaqController.java @@ -46,16 +46,16 @@ public ResponseEntity> getFaqAll() { @PostMapping public ResponseEntity> 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 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); diff --git a/HalfFifty_BE/src/main/java/HalfFifty/HalfFifty_BE/FAQ/domain/FaqDAO.java b/HalfFifty_BE/src/main/java/HalfFifty/HalfFifty_BE/FAQ/domain/FaqDAO.java index 76270ce..1b9c455 100644 --- a/HalfFifty_BE/src/main/java/HalfFifty/HalfFifty_BE/FAQ/domain/FaqDAO.java +++ b/HalfFifty_BE/src/main/java/HalfFifty/HalfFifty_BE/FAQ/domain/FaqDAO.java @@ -18,7 +18,7 @@ public class FaqDAO { @Id @GeneratedValue(strategy = GenerationType.AUTO) - UUID FAQId; + UUID faqId; String question; String answer; LocalDateTime createdAt;