package com.rbac.dao; import java.util.ArrayList; import java.util.List; import org.hibernate.Criteria; import org.hibernate.criterion.MatchMode; import org.hibernate.criterion.Restrictions; import org.springframework.stereotype.Component; import com.rbac.common.BaseDaoSupport; import com.rbac.entity.SysRole; import com.rbac.entity.SysRoleMenu; import com.rbac.util.CommonUtils; @Component("roleDao") public class RoleDao extends BaseDaoSupport { /** * 根据角色名称和角色描述查找角色列表 * @param roleName * @param roleDesc * @return */ public List<SysRole> getSysRoleList(String roleName, String roleDesc){ Criteria crit = super.getSession().createCriteria(SysRole.class); crit.add(Restrictions.eq("isDeleted", 0)); if(CommonUtils.isNotEmpty(roleName)){ crit.add(Restrictions.ilike("roleName", roleName, MatchMode.ANYWHERE)); } if(CommonUtils.isNotEmpty(roleDesc)){ crit.add(Restrictions.ilike("roleDesc", roleDesc, MatchMode.ANYWHERE)); } return crit.list(); } /** * 根据角色id查找角色关联菜单列表 * @param roleId * @return */ public List<SysRoleMenu> getSysRoleMenuByRoleId(Long roleId){ Criteria crit = super.getSession().createCriteria(SysRoleMenu.class); crit.add(Restrictions.eq("isDeleted", 0)); if(roleId!=null){ crit.add(Restrictions.eq("sysRole", super.findById(SysRole.class, roleId))); } else{ return new ArrayList<SysRoleMenu>(); } return crit.list(); } }