package com.iamberry.cms.service.admin.dao;

import java.util.List;

import org.springframework.stereotype.Repository;

import com.iamberry.wechat.core.entity.admin.AdminChildInfo;
import com.iamberry.wechat.core.entity.admin.AdminChildPermissionErmissions;
import com.iamberry.wechat.core.entity.admin.AdminChildPermissions;
import com.iamberry.wechat.core.entity.admin.AdminInfo;
import com.iamberry.wechat.core.entity.admin.AdminLoginDTO;
@Repository
public interface AdminLoginDAO {
	
	/**
	 * 根据用户名、密码查询用户信息
	 * @param dto
	 * @return
	 */
	public AdminInfo selectAdminInfoByNameAndPwd(AdminLoginDTO dto);

	/**
	 * 根据用户名、密码查询二级管理员信息
	 * @param dto
	 * @return
	 */
	public AdminChildInfo selectAdminChildInfoByNameAndPwd(AdminLoginDTO dto);

	/**
	 * 根据二级管理ID，获取此二级管理员所有的权限
	 * @param id
	 * @return
	 */
	public List<AdminChildPermissionErmissions> selectAdminChildHavePermissionById(Integer id);

	/**
	 * 更具一级管理员ID，获取此管理员的菜单
	 * @param id
	 * @return
	 */
	public List<AdminChildPermissions> selectAdminMenuInfoByAdminId(Integer id);
	
	/**
	 * 根据二级管理员的ID，获取此管理员的菜单
	 * @param id
	 * @return
	 */
	public List<AdminChildPermissions> selectAdinChildPermissionByAdminChildId(Integer id);

	/**
	 * 根据二级管理员的ID，获取菜单权限 
	 * @param id
	 * @return
	 */
	public List<AdminChildPermissionErmissions> selectAdminChildPermissionEntityById(Integer id);

	/**
	 * 获取所有的一级菜单权限
	 * @return
	 */
	public List<AdminChildPermissions> selectAllPermission();
}
