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