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.Order;
import org.hibernate.criterion.Restrictions;
import org.springframework.stereotype.Component;
import com.rbac.common.BaseDaoSupport;
import com.rbac.entity.SysMenu;
import com.rbac.entity.SysMenuAction;
import com.rbac.util.CommonUtils;
@Component("menuDao")
public class MenuDao extends BaseDaoSupport {
/**
* 根据菜单名称和菜单路径查找菜单列表
* @param name
* @param url
* @return
*/
public List<SysMenu> getSysMenuList(String name, String url){
Criteria crit = super.getSession().createCriteria(SysMenu.class);
crit.add(Restrictions.eq("isDeleted", 0));
if(CommonUtils.isNotEmpty(name)){
crit.add(Restrictions.ilike("name", name, MatchMode.ANYWHERE));
}
if(CommonUtils.isNotEmpty(url)){
crit.add(Restrictions.ilike("url", url, MatchMode.ANYWHERE));
}
crit.addOrder(Order.asc("parentId")).addOrder(Order.asc("orderSeq"));
return crit.list();
}
/**
* 根据菜单id查找菜单关联权限列表
* @param menuId
* @return
*/
public List<SysMenuAction> getSysMenuActionByMenuId(Long menuId){
Criteria crit = super.getSession().createCriteria(SysMenuAction.class);
crit.add(Restrictions.eq("isDeleted", 0));
if(menuId!=null){
crit.add(Restrictions.eq("sysMenu", super.findById(SysMenu.class, menuId)));
}
else{
return new ArrayList<SysMenuAction>();
}
return crit.list();
}
}