package kr.co.uplus.ez.api.sysMgt;

import kr.co.uplus.ez.api.comm.dto.BatchChkDto;
import kr.co.uplus.ez.api.homeMgt.dto.NoticeListReqDto;
import kr.co.uplus.ez.api.sysMgt.dto.*;
import org.apache.ibatis.annotations.Mapper;
import org.springframework.core.io.Resource;

import java.nio.file.Path;
import java.util.List;
import java.util.Map;

@Mapper
public interface SysMgtMapper {

	int selectAdmUserTotalCnt(AdminListReqDto adminListReqDto);

	List<AdminInfo> selectAdminList(AdminListReqDto adminListReqDto);

	void insertAdmUser(InsertAdminReqDto insertAdminReqDto);

	int updateAdmUser(UpdateAdminReqDto updateAdminReqDto);

	void insertMdAcc(InsertAdminReqDto insertAdminReqDto);

	int updateMdAcc(UpdateAdminReqDto updateAdminReqDto);

	AdminDetail selectAdminDetail(AdminDetailReqDto adminDetailReqDto);

	SearchMadangId selectSearchMadangId(SearchMadangIdReqDto searchMadangId);

	int deleteAdminList(List<DeleteAdmin> deleteAdmins);
	
	List<AuthInfo> selectAuthList();
	
	AuthDetail selectAuthDetail(AuthDetailReqDto authDetailReqDto); // 권한 상세 조회

	List<AuthMenu> selectAuthMemuList(AuthDetailReqDto authDetailReqDto); // 권한메뉴 리스트 조회
	
	int insertAuth(Map<String, Object> paramMap); // 권한 등록
	
	int insertAuthMenu(Map<String, Object> paramMap); // 권한메뉴 등록
	
	int updateAuth(Map<String, Object> paramMap); // 권한 수정
	
	int deleteAuth(Map<String, Object> paramMap); // 권한 삭제
	
	int deleteAuthMenu(Map<String, Object> paramMap); // 권한메뉴 삭제

	int checkAdmin(Map<String, Object> paramMap);
	
	public List<BatchList> batchListSelect();	//배치 리스트 조회
	
	public List<BatchDetail> batchDetailSelect(BatchDetailReqDto batchDetailReqDto);	//배치 상세내용

	int batchDetailCnt(BatchDetailReqDto batchDetailReqDto);
	
	public List<NotiList> notiListSelect(NotiListReqDto notiListReqDto);
	
	int notiListSelectCnt(NotiListReqDto notiListReqDto);

}