lkd9125
11 months ago
6 changed files with 188 additions and 25 deletions
@ -1,29 +1,45 @@ |
|||||||
package com.palnet.biz.api.cns.faq.controller; |
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.GetMapping; |
||||||
import org.springframework.web.bind.annotation.PostMapping; |
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.RequestMapping; |
||||||
import org.springframework.web.bind.annotation.RestController; |
import org.springframework.web.bind.annotation.RestController; |
||||||
|
|
||||||
import com.palnet.biz.api.cns.qna.model.QnaBasModel; |
import com.palnet.biz.api.cns.faq.model.FaqListRQModel; |
||||||
import com.palnet.biz.api.cns.qna.model.QnaInsertRQModel; |
import com.palnet.biz.api.cns.faq.model.FaqListRSModel; |
||||||
import com.palnet.biz.api.cns.qna.service.CnsQnaService; |
import com.palnet.biz.api.cns.faq.service.CnsFaqService; |
||||||
|
|
||||||
import io.swagger.annotations.ApiOperation; |
import io.swagger.v3.oas.annotations.parameters.RequestBody; |
||||||
import io.swagger.v3.oas.annotations.tags.Tag; |
|
||||||
import lombok.RequiredArgsConstructor; |
import lombok.RequiredArgsConstructor; |
||||||
import lombok.extern.slf4j.Slf4j; |
import lombok.extern.slf4j.Slf4j; |
||||||
|
|
||||||
@Slf4j |
|
||||||
@RestController |
@RestController |
||||||
|
@Slf4j |
||||||
@RequiredArgsConstructor |
@RequiredArgsConstructor |
||||||
@Tag(name = "QNA", description = "QNA 관련 API") |
@RequestMapping(value = "/api/bas/cns") |
||||||
public class CnsFaqController { |
public class CnsFaqController { |
||||||
|
|
||||||
|
|
||||||
|
private final CnsFaqService service; |
||||||
|
|
||||||
|
@PostMapping("/list") |
||||||
} |
public List<FaqListRSModel> getFaqList(@RequestBody FaqListRQModel model) { |
||||||
|
|
||||||
|
List<FaqListRSModel> result = null; |
||||||
|
|
||||||
|
result = service.getFaqList(model); |
||||||
|
|
||||||
|
return result; |
||||||
|
} |
||||||
|
|
||||||
|
@GetMapping("/detail") |
||||||
|
public FaqListRSModel getFaqDetail(int sno) { |
||||||
|
|
||||||
|
FaqListRSModel result = null; |
||||||
|
|
||||||
|
result = service.getFaqDetail(sno); |
||||||
|
|
||||||
|
return result; |
||||||
|
} |
||||||
|
} |
@ -1,8 +1,32 @@ |
|||||||
package com.palnet.biz.api.cns.faq.model; |
package com.palnet.biz.api.cns.faq.model; |
||||||
|
|
||||||
|
import java.time.Instant; |
||||||
|
|
||||||
import lombok.Data; |
import lombok.Data; |
||||||
|
|
||||||
@Data |
@Data |
||||||
public class FaqListRSModel { |
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; |
||||||
|
|
||||||
} |
} |
@ -1,5 +1,102 @@ |
|||||||
package com.palnet.biz.jpa.repository.cns; |
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 { |
public class CnsFaqQueryRepository { |
||||||
|
|
||||||
|
private final JPAQueryFactory query; |
||||||
|
|
||||||
|
public List<FaqListRSModel> 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<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) |
||||||
|
.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; |
||||||
|
} |
||||||
|
|
||||||
|
} |
Loading…
Reference in new issue