지대한
11 months ago
4 changed files with 176 additions and 97 deletions
@ -1,111 +1,110 @@
|
||||
package com.palnet.biz.jpa.repository.cns; |
||||
|
||||
import java.util.List; |
||||
|
||||
import org.springframework.stereotype.Repository; |
||||
|
||||
import com.palnet.biz.api.cns.faq.model.FaqListModel; |
||||
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; |
||||
import org.springframework.stereotype.Repository; |
||||
|
||||
import java.util.List; |
||||
|
||||
@Slf4j |
||||
@Repository |
||||
@RequiredArgsConstructor |
||||
public class CnsFaqQueryRepository { |
||||
|
||||
private final JPAQueryFactory query; |
||||
|
||||
public List<FaqListModel> 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<FaqListModel> r = query |
||||
.select(Projections.bean( |
||||
FaqListModel.class, |
||||
bas.faqSno, |
||||
bas.category, |
||||
bas.title, |
||||
bas.content, |
||||
bas.viewCnt, |
||||
bas.expsrYn, |
||||
bas.createUserId, |
||||
bas.createDt, |
||||
bas.updateUserId, |
||||
bas.updateDt |
||||
)) |
||||
.from(bas) |
||||
.where(builder) |
||||
.fetch(); |
||||
|
||||
|
||||
return r; |
||||
} |
||||
|
||||
public FaqListModel getFaqDetail(int sno) { |
||||
|
||||
QCnsFaqBas bas = QCnsFaqBas.cnsFaqBas; |
||||
|
||||
BooleanBuilder builder = new BooleanBuilder(); |
||||
builder.and(bas.faqSno.eq(sno)); |
||||
builder.and(bas.expsrYn.eq("Y")); |
||||
builder.and(bas.delYn.eq("N")); |
||||
|
||||
FaqListModel r = query |
||||
.select(Projections.bean( |
||||
FaqListModel.class, |
||||
bas.faqSno, |
||||
bas.category, |
||||
bas.title, |
||||
bas.content, |
||||
bas.viewCnt, |
||||
bas.expsrYn, |
||||
bas.createUserId, |
||||
bas.createDt, |
||||
bas.updateUserId, |
||||
bas.updateDt |
||||
)) |
||||
.from(bas) |
||||
.where(builder) |
||||
.fetchOne(); |
||||
|
||||
|
||||
return r; |
||||
} |
||||
|
||||
public void updateFaq(FaqListModel model) { |
||||
QCnsFaqBas bas = QCnsFaqBas.cnsFaqBas; |
||||
|
||||
BooleanBuilder builder = new BooleanBuilder(); |
||||
builder.and(bas.faqSno.eq(model.getFaqSno())); |
||||
|
||||
query.update(bas) |
||||
.set(bas.category, model.getCategory()) |
||||
.set(bas.title, model.getTitle()) |
||||
.set(bas.content, model.getContent()) |
||||
.set(bas.viewCnt, model.getViewCnt()) |
||||
.set(bas.expsrYn, model.getExpsrYn()) |
||||
.set(bas.updateUserId, model.getUpdateUserId()) |
||||
.set(bas.updateDt, model.getUpdateDt()) |
||||
.where(builder) |
||||
.execute(); |
||||
|
||||
} |
||||
|
||||
|
||||
private final JPAQueryFactory query; |
||||
|
||||
public List<FaqListModel> 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<FaqListModel> r = query |
||||
.select(Projections.bean( |
||||
FaqListModel.class, |
||||
bas.faqSno, |
||||
bas.category, |
||||
bas.title, |
||||
bas.content, |
||||
bas.viewCnt, |
||||
bas.expsrYn, |
||||
bas.createUserId, |
||||
bas.createDt, |
||||
bas.updateUserId, |
||||
bas.updateDt |
||||
)) |
||||
.from(bas) |
||||
.where(builder) |
||||
.orderBy(bas.createDt.desc()) |
||||
.fetch(); |
||||
|
||||
|
||||
return r; |
||||
} |
||||
|
||||
public FaqListModel getFaqDetail(int sno) { |
||||
|
||||
QCnsFaqBas bas = QCnsFaqBas.cnsFaqBas; |
||||
|
||||
BooleanBuilder builder = new BooleanBuilder(); |
||||
builder.and(bas.faqSno.eq(sno)); |
||||
builder.and(bas.expsrYn.eq("Y")); |
||||
builder.and(bas.delYn.eq("N")); |
||||
|
||||
FaqListModel r = query |
||||
.select(Projections.bean( |
||||
FaqListModel.class, |
||||
bas.faqSno, |
||||
bas.category, |
||||
bas.title, |
||||
bas.content, |
||||
bas.viewCnt, |
||||
bas.expsrYn, |
||||
bas.createUserId, |
||||
bas.createDt, |
||||
bas.updateUserId, |
||||
bas.updateDt |
||||
)) |
||||
.from(bas) |
||||
.where(builder) |
||||
.fetchOne(); |
||||
|
||||
|
||||
return r; |
||||
} |
||||
|
||||
public void updateFaq(FaqListModel model) { |
||||
QCnsFaqBas bas = QCnsFaqBas.cnsFaqBas; |
||||
|
||||
BooleanBuilder builder = new BooleanBuilder(); |
||||
builder.and(bas.faqSno.eq(model.getFaqSno())); |
||||
|
||||
query.update(bas) |
||||
.set(bas.category, model.getCategory()) |
||||
.set(bas.title, model.getTitle()) |
||||
.set(bas.content, model.getContent()) |
||||
.set(bas.viewCnt, model.getViewCnt()) |
||||
.set(bas.expsrYn, model.getExpsrYn()) |
||||
.set(bas.updateUserId, model.getUpdateUserId()) |
||||
.set(bas.updateDt, model.getUpdateDt()) |
||||
.where(builder) |
||||
.execute(); |
||||
|
||||
} |
||||
|
||||
} |
Loading…
Reference in new issue