package com.goafanti.admin.service;

import com.goafanti.admin.bo.AdminDetail;
import com.goafanti.admin.bo.AdminListBo;
import com.goafanti.admin.bo.AdminReviewer;
import com.goafanti.common.model.Admin;
import com.goafanti.core.mybatis.page.Pagination;

import java.util.List;
import java.util.Map;

public interface NewAdminService {
	Pagination<AdminListBo> listAdmin(AdminListBo alb,String rid,String roleName, Integer pageNo, Integer pageSize);

	List<Admin> selectAllAdmin();

	Admin selectByMobile(String username);

	Admin selectByPrimaryKey(String key);

	int insert(Admin ad);

	int updateByPrimaryKeySelective(Admin ad, Admin useAdmin, List<String> roleIds , AdminReviewer adminReviewer);

	int updateByPrimaryKey(Admin a);

	AdminDetail selectAdminDetail(String id);

	List<Admin> selectCognizanceConsultant();

	List<Admin> selectPatentAuthor();

	List<Admin> selectPatentPrincipal();

	List<Admin> selectCopyrightConsultant();

	List<Admin> selectCognizancePrincipal();

	List<Admin> selectCopyrightPrincipal();

	List<Admin> selectTechprojectConsultant();

	List<Admin> selectTechprojectPrincipal();

	List<String> selectRoleByPrimaryKey(String aid);

	List<String> listAuditor();

	Map<String, String> selectAccoutManager();

	Map<String, String> selectTechnician();

	Map<String, String> selectSalesman();

	Map<String, String> selectContractManager();

	Map<String, String> selectTechBroder();

	int insertNewAdmin(Admin ad, List<String> roleIds, AdminReviewer adminReviewer);

	Map<String, String> listAdminSelect();

	List<Admin> listAdminByName(String name);

	Admin selectAllByid(String id);

	int deleteById(String id);

	List<AdminListBo> selectAdminByOrg();

	boolean checkAdminRole(List<String> roles, Admin admin);

	void pushRolesName(AdminListBo i);

	Object publicReviewer(String id);
}
