package com.jeff.tianti.cms.dao;
import com.jeff.tianti.common.dao.CustomBaseSqlDaoImpl;
import com.jeff.tianti.common.entity.PageModel;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.apache.commons.lang3.StringUtils;
import com.jeff.tianti.cms.entity.ColumnInfo;
import com.jeff.tianti.cms.dto.ColumnInfoQueryDTO;
/**
* @author xujianfang
* @desc ColumnInfoDaoImpl类
* @date 2017-03-16
*/
public class ColumnInfoDaoImpl extends CustomBaseSqlDaoImpl implements ColumnInfoDaoCustom {
public PageModel<ColumnInfo> queryColumnInfoPage(ColumnInfoQueryDTO columnInfoQueryDTO){
Map<String,Object> map = new HashMap<String,Object>();
StringBuilder hql = new StringBuilder();
hql.append("select t from ColumnInfo t where 1=1 ");
if(columnInfoQueryDTO != null){
if(StringUtils.isNotBlank(columnInfoQueryDTO.getCode())){
hql.append(" and t.code like :code ");
map.put("code", "%"+columnInfoQueryDTO.getCode()+"%");
}
if(StringUtils.isNotBlank(columnInfoQueryDTO.getName())){
hql.append(" and t.name like :name ");
map.put("name", "%"+columnInfoQueryDTO.getName()+"%");
}
if(columnInfoQueryDTO.getLevel() != null){
hql.append(" and t.level = :level ");
map.put("level", columnInfoQueryDTO.getLevel());
}
}
hql.append(" order by t.orderNo asc ");
return this.queryForPageWithParams(hql.toString(),map,columnInfoQueryDTO.getCurrentPage(),columnInfoQueryDTO.getPageSize());
}
public List<ColumnInfo> queryColumnInfoList(ColumnInfoQueryDTO columnInfoQueryDTO){
Map<String,Object> map = new HashMap<String,Object>();
StringBuilder hql = new StringBuilder();
hql.append("select t from ColumnInfo t where 1=1 and t.deleteFlag = 0 ");
if(columnInfoQueryDTO != null){
if(columnInfoQueryDTO.getIsRootColumnLike() != null && !columnInfoQueryDTO.getIsRootColumnLike()){
if(StringUtils.isNotBlank(columnInfoQueryDTO.getRootColumnId())){
hql.append(" and t.parent.id = :rootColumnId ");
map.put("rootColumnId", columnInfoQueryDTO.getRootColumnId());
}
}else{
if(StringUtils.isNotBlank(columnInfoQueryDTO.getRootColumnId())){
hql.append(" and t.path like :rootColumnId ");
map.put("rootColumnId", "%"+columnInfoQueryDTO.getRootColumnId()+"%");
}
}
if(StringUtils.isNotBlank(columnInfoQueryDTO.getCode())){
if(columnInfoQueryDTO.getIsCodeLike() != null && columnInfoQueryDTO.getIsCodeLike().equals(false)){
hql.append(" and t.code = :code ");
map.put("code", columnInfoQueryDTO.getCode());
}else{
hql.append(" and t.code like :code ");
map.put("code", "%"+columnInfoQueryDTO.getCode()+"%");
}
}
if(StringUtils.isNotBlank(columnInfoQueryDTO.getName())){
hql.append(" and t.name like :name ");
map.put("name", "%"+columnInfoQueryDTO.getName()+"%");
}
if(columnInfoQueryDTO.getLevel() != null){
hql.append(" and t.level = :level ");
map.put("level", columnInfoQueryDTO.getLevel());
}
}
hql.append(" order by t.orderNo asc ");
return this.queryByMapParams(hql.toString(),map);
}
}