package com.hongqiang.shop.modules.content.dao;
import java.util.ArrayList;
import java.util.List;
import org.springframework.stereotype.Repository;
import com.hongqiang.shop.common.base.persistence.BaseDaoImpl;
import com.hongqiang.shop.common.base.persistence.Page;
import com.hongqiang.shop.common.utils.Filter;
import com.hongqiang.shop.common.utils.Order;
import com.hongqiang.shop.common.utils.Pageable;
import com.hongqiang.shop.modules.entity.Consultation;
import com.hongqiang.shop.modules.entity.Member;
import com.hongqiang.shop.modules.entity.Product;
@Repository
public class ConsultationDaoImpl extends BaseDaoImpl<Consultation,Long> implements
ConsultationDaoCustom {
@Override
public List<Consultation> findList(Member member, Product product,
Boolean isShow, Integer count, List<Filter> filters,
List<Order> orders) {
String sqlString = " select consultation from Consultation consultation where 1=1 ";
List<Object> params = new ArrayList<Object>();
sqlString += " and consultation.forConsultation != null ";
if (member != null) {
sqlString += " and consultation.member = ? ";
params.add(member);
}
if (product != null) {
sqlString += " and consultation.product = ? ";
params.add(product);
}
if (isShow != null) {
sqlString += " and consultation.isShow = ? ";
params.add(isShow);
}
return super.findList(sqlString, params, null, count, filters, orders);
}
@Override
public Page<Consultation> findPage(Member member, Product product,
Boolean isShow, Pageable pageable) {
String sqlString = "select consultation from Consultation consultation where 1=1 ";
List<Object> params = new ArrayList<Object>();
sqlString += " and consultation.forConsultation != null ";
if (member != null) {
sqlString += " and consultation.member = ? ";
params.add(member);
}
if (product != null) {
sqlString += " and consultation.product = ? ";
params.add(product);
}
if (isShow != null) {
sqlString += " and consultation.isShow = ? ";
params.add(isShow);
}
return super.findPage(sqlString, params, pageable);
}
@Override
public Long count(Member member, Product product, Boolean isShow) {
String sqlString = "select consultation from Consultation consultation where 1=1 ";
List<Object> params = new ArrayList<Object>();
sqlString += " and consultation.forConsultation != null ";
if (member != null) {
sqlString += " and consultation.member = ? ";
params.add(member);
}
if (product != null) {
sqlString += " and consultation.product = ? ";
params.add(product);
}
if (isShow != null) {
sqlString += " and consultation.isShow = ? ";
params.add(isShow);
}
StringBuilder sBuilder = new StringBuilder(sqlString);
return super.count(sBuilder, null, params);
}
@Override
public List<Consultation> findList(Integer first, Integer count,
List<Filter> filters, List<Order> orders) {
String qlString = "select consultation from Consultation consultation where 1=1 ";
List<Object> parameter = new ArrayList<Object>();
return super.findList(qlString, parameter, first, count, filters,
orders);
}
@Override
public Page<Consultation> findPage(Pageable pageable) {
String qlString = "select consultation from Consultation consultation where 1=1 ";
List<Object> parameter = new ArrayList<Object>();
return super.findPage(qlString, parameter, pageable);
}
}