diff --git a/pav-server/src/main/java/com/palnet/biz/api/cns/faq/controller/CnsFaqController.java b/pav-server/src/main/java/com/palnet/biz/api/cns/faq/controller/CnsFaqController.java index 94ba5d16..c546ff78 100644 --- a/pav-server/src/main/java/com/palnet/biz/api/cns/faq/controller/CnsFaqController.java +++ b/pav-server/src/main/java/com/palnet/biz/api/cns/faq/controller/CnsFaqController.java @@ -1,29 +1,45 @@ package com.palnet.biz.api.cns.faq.controller; -import org.springframework.http.ResponseEntity; +import java.util.List; + import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; -import com.palnet.biz.api.cns.qna.model.QnaBasModel; -import com.palnet.biz.api.cns.qna.model.QnaInsertRQModel; -import com.palnet.biz.api.cns.qna.service.CnsQnaService; +import com.palnet.biz.api.cns.faq.model.FaqListRQModel; +import com.palnet.biz.api.cns.faq.model.FaqListRSModel; +import com.palnet.biz.api.cns.faq.service.CnsFaqService; -import io.swagger.annotations.ApiOperation; -import io.swagger.v3.oas.annotations.tags.Tag; +import io.swagger.v3.oas.annotations.parameters.RequestBody; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; -@Slf4j @RestController +@Slf4j @RequiredArgsConstructor -@Tag(name = "QNA", description = "QNA 관련 API") +@RequestMapping(value = "/api/bas/cns") public class CnsFaqController { - - - - -} + private final CnsFaqService service; + + @PostMapping("/list") + public List getFaqList(@RequestBody FaqListRQModel model) { + + List result = null; + + result = service.getFaqList(model); + + return result; + } + + @GetMapping("/detail") + public FaqListRSModel getFaqDetail(int sno) { + + FaqListRSModel result = null; + + result = service.getFaqDetail(sno); + + return result; + } +} \ No newline at end of file diff --git a/pav-server/src/main/java/com/palnet/biz/api/cns/faq/model/FaqListRQModel.java b/pav-server/src/main/java/com/palnet/biz/api/cns/faq/model/FaqListRQModel.java index 1c8c7b63..1be952de 100644 --- a/pav-server/src/main/java/com/palnet/biz/api/cns/faq/model/FaqListRQModel.java +++ b/pav-server/src/main/java/com/palnet/biz/api/cns/faq/model/FaqListRQModel.java @@ -4,5 +4,9 @@ import lombok.Data; @Data public class FaqListRQModel { - -} + + private String category; + + private String word; + +} \ No newline at end of file diff --git a/pav-server/src/main/java/com/palnet/biz/api/cns/faq/model/FaqListRSModel.java b/pav-server/src/main/java/com/palnet/biz/api/cns/faq/model/FaqListRSModel.java index 1f6ae797..579b9e10 100644 --- a/pav-server/src/main/java/com/palnet/biz/api/cns/faq/model/FaqListRSModel.java +++ b/pav-server/src/main/java/com/palnet/biz/api/cns/faq/model/FaqListRSModel.java @@ -1,8 +1,32 @@ package com.palnet.biz.api.cns.faq.model; +import java.time.Instant; + import lombok.Data; @Data public class FaqListRSModel { + + private int qnaSno; + + private String category; + + private String title; + + private String content; + + private int viewCnt; + + private String expsrYn; + + private String delYn; + + private String createUserId; + + private Instant createDt; + + private String updateUserId; + + private Instant updateDt; -} +} \ No newline at end of file diff --git a/pav-server/src/main/java/com/palnet/biz/api/cns/faq/service/CnsFaqService.java b/pav-server/src/main/java/com/palnet/biz/api/cns/faq/service/CnsFaqService.java index 5ebb1a69..cffac595 100644 --- a/pav-server/src/main/java/com/palnet/biz/api/cns/faq/service/CnsFaqService.java +++ b/pav-server/src/main/java/com/palnet/biz/api/cns/faq/service/CnsFaqService.java @@ -1,7 +1,13 @@ package com.palnet.biz.api.cns.faq.service; +import java.util.List; + import org.springframework.stereotype.Service; +import com.palnet.biz.api.cns.faq.model.FaqListRQModel; +import com.palnet.biz.api.cns.faq.model.FaqListRSModel; +import com.palnet.biz.jpa.repository.cns.CnsFaqQueryRepository; + import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; @@ -9,7 +15,23 @@ import lombok.extern.slf4j.Slf4j; @Service @RequiredArgsConstructor public class CnsFaqService { - - - -} + + private final CnsFaqQueryRepository query; + + public List getFaqList(FaqListRQModel model){ + + List result = query.getFaqList(model.getCategory(), model.getWord()); + + return result; + + } + + public FaqListRSModel getFaqDetail(int sno){ + + FaqListRSModel result = query.getFaqDetail(sno); + + return result; + + } + +} \ No newline at end of file diff --git a/pav-server/src/main/java/com/palnet/biz/jpa/repository/cns/CnsFaqQueryRepository.java b/pav-server/src/main/java/com/palnet/biz/jpa/repository/cns/CnsFaqQueryRepository.java index c270585a..f2ce6360 100644 --- a/pav-server/src/main/java/com/palnet/biz/jpa/repository/cns/CnsFaqQueryRepository.java +++ b/pav-server/src/main/java/com/palnet/biz/jpa/repository/cns/CnsFaqQueryRepository.java @@ -1,5 +1,102 @@ package com.palnet.biz.jpa.repository.cns; +import java.util.List; + +import org.springframework.stereotype.Repository; + +import com.palnet.biz.api.bas.flight.model.BasFlightPlanPilotModel; +import com.palnet.biz.api.cns.faq.model.FaqListRSModel; +import com.palnet.biz.jpa.entity.QCnsFaqBas; +import com.querydsl.core.BooleanBuilder; +import com.querydsl.core.types.Projections; +import com.querydsl.jpa.impl.JPAQueryFactory; + +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; + +@Slf4j +@Repository +@RequiredArgsConstructor public class CnsFaqQueryRepository { + + private final JPAQueryFactory query; + + public List getFaqList(String category, String word) { + + QCnsFaqBas bas = QCnsFaqBas.cnsFaqBas; + + BooleanBuilder builder = new BooleanBuilder(); + builder.and(bas.delYn.eq("N")); + builder.and(bas.expsrYn.eq("Y")); + + if(category != null) { + builder.and(bas.category.eq(category)); + } + + if(word != null) { + builder.and(bas.title.contains(word)); + } + + List r = query + .select(Projections.bean( + FaqListRSModel.class, + bas.faqSno, + bas.category, + bas.title, + bas.content, + bas.viewCnt, + bas.expsrYn, + bas.delYn, + bas.createUserId, + bas.createDt, + bas.updateUserId, + bas.updateDt + )) + .from(bas) + .where(builder) + .fetch(); + + + return r; + } + + public FaqListRSModel getFaqDetail(int sno) { -} + QCnsFaqBas bas = QCnsFaqBas.cnsFaqBas; + + BooleanBuilder builder = new BooleanBuilder(); + builder.and(bas.delYn.eq("N")); + builder.and(bas.expsrYn.eq("Y")); + +// if(category != null) { +// builder.and(bas.category.eq(category)); +// } +// +// if(word != null) { +// builder.and(bas.title.contains(word)); +// } + + FaqListRSModel r = query + .select(Projections.bean( + FaqListRSModel.class, + bas.faqSno, + bas.category, + bas.title, + bas.content, + bas.viewCnt, + bas.expsrYn, + bas.delYn, + bas.createUserId, + bas.createDt, + bas.updateUserId, + bas.updateDt + )) + .from(bas) + .where(builder) + .fetchOne(); + + + return r; + } + +} \ No newline at end of file diff --git a/pav-server/src/main/resources/config/log/logback-spring.xml b/pav-server/src/main/resources/config/log/logback-spring.xml index ddc62354..abb43cd0 100644 --- a/pav-server/src/main/resources/config/log/logback-spring.xml +++ b/pav-server/src/main/resources/config/log/logback-spring.xml @@ -37,11 +37,11 @@ - + @@ -62,7 +62,7 @@ - +