package com.iamberry.wechat.face.admin;

import java.util.List;

import com.iamberry.wechat.core.entity.admin.AdminChildInfo;
import com.iamberry.wechat.core.entity.admin.AdminInfo;

public interface AdminAdministratorService {
	/**
	 * 新增二級管理員
	 * @param adminchildinfo
	 * @throws Exception
	 */
	public void insertadmin(AdminChildInfo adminchildinfo) throws Exception;
	
	/**
	 * 根據用戶名查詢是否有重複用戶
	 * @param adminLoginName
	 * @return
	 * @throws Exception
	 */
	public AdminChildInfo selectAdminChildInfoByName(String adminLoginName) throws Exception;
	
	/**
	 * 查詢所有二級管理員
	 * @return
	 * @throws Exception
	 */
	public List<AdminChildInfo> selectAdminChildInfoByList(Integer pageNO, Integer pageSize) throws Exception;
	
	/**
	 * 模糊查詢二級管理員
	 * @return
	 * @throws Exception
	 */
	public List<AdminChildInfo> selectAdminChildInfoByNameList(String adminLoginName,Integer pageNO, Integer pageSize) throws Exception;
	
	/**
	 * 删除二级管理员
	 * @throws Exception
	 */
	public int deleteAdminChildInfoById(String adminid) throws Exception;
	
	/**
	 * 根据id查找二级管理员
	 * @throws Exception
	 */
	public AdminChildInfo selectAdminChildInfoById(String adminid) throws Exception;
	
	/**
	 * 根据id修改二级管理员
	 * @throws Exception
	 */
	public Integer updateAdminChildInfoById(AdminChildInfo adminchildinfo) throws Exception;
	
	/**
	 * 根据id修改二级管理员权限
	 * @throws Exception
	 */
	public Integer updatePermissionsById(String adminid,String adminStatus) throws Exception;

	/**
	 * 获取二级管理员的总数量
	 */
	public int selectAdminChildInfoByCount(int pageSize);
	
	/**
	 * 模糊查询二级管理员的数量
	 */
	public int selectAdminChildInfoByNameCount(String adminLoginName,int pageSize);
	/**
	 * 修改二级管理员密码
	 */
	public void updateAdminByPwd(AdminChildInfo adminchildinfo);
	
	/**
	 * 修改超级管理员密码
	 */
	public void updateSuperAdminByPwd(AdminInfo admininfo);
}
