package com.jeff.tianti.org.dao;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.apache.commons.lang3.StringUtils;
import com.jeff.tianti.common.dao.CustomBaseSqlDaoImpl;
import com.jeff.tianti.common.entity.PageModel;
import com.jeff.tianti.org.dto.RoleQueryDTO;
import com.jeff.tianti.org.entity.Role;
public class RoleDaoImpl extends CustomBaseSqlDaoImpl implements RoleCustomDao{
@SuppressWarnings("unchecked")
@Override
public List<Role> findRoles(Map<String, Object> params) {
StringBuilder sb = new StringBuilder();
sb.append("select r from Role r ");
if(params != null){
StringBuilder sbWhere = new StringBuilder();
Object name = params.get("name");
if(name != null){
sbWhere.append(" and r.name like :name ");
}
Object deleteFlag = params.get("deleteFlag");
if(deleteFlag != null){
sbWhere.append(" and r.deleteFlag = :deleteFlag ");
}
sb.append(sbWhere.toString().replaceFirst("and", "where"));
}
sb.append("order by r.no");
return this.queryByMapParams(sb.toString(), params);
}
/**
* 根据查询条件查询角色分页信息
* @param userQueryDTO
* @return
*/
public PageModel<Role> queryRolePage(RoleQueryDTO roleQueryDTO){
Map<String,Object> params = new HashMap<String,Object>();
StringBuilder hql = new StringBuilder();
hql.append(" select r from Role r where 1=1 ");
if(StringUtils.isNotBlank(roleQueryDTO.getName())){
hql.append(" and r.name like :name ");
params.put("name", "%"+roleQueryDTO.getName()+"%");
}
if(roleQueryDTO.getStatus() != null){
hql.append(" and r.status = :status ");
params.put("status", roleQueryDTO.getStatus());
}
hql.append(" order by r.createDate desc ");
return this.queryForPageWithParams(hql.toString(), params, roleQueryDTO.getCurrentPage(), roleQueryDTO.getPageSize());
}
}