package nlib.user.service.impl;

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

import egovframework.com.ext.oauth.service.OAuthUniversalUser;
import egovframework.rte.psl.dataaccess.mapper.Mapper;
import nlib.user.service.NlibLoginVO;

/**
 * <pre>
 * @Class Name : UserInfoDAO.java
 * 
 * @Description : 사용자의 관련 정보 제공 DAO 
 * 
 * 
 * @프로젝트명: 지방문화원 통합자료관리시스템 구축사업 (2021)
 *
 * </pre>
 *
 * @ ------------    --------    ---------------------------
 * @ 수정일                     수정자             수정내용
 * @ ------------    --------    ---------------------------
 * @ 2021. 9. 7.     JSYOO      	  최초 생성
 *
 * 
 * @author 이씨플라자 * DIGITALSHIP JSYOO
 * @since 2021. 9. 7. 
 * @version 1.0
 *
 */

@Mapper("userInfoDAO")
public interface UserInfoDAO
{
	/** 사용자의 SNS 연동 리스트를 조회한다.
	 * @param vo
	 * @return
	 * @throws Exception
	 */
	public List<OAuthUniversalUser> selectSnsSignUpList(NlibLoginVO vo) throws Exception;
	
	/** 내 정보를 수정한다.
	 * @param vo
	 * @throws Exception
	 */
	public void updateMyInfo(NlibLoginVO vo) throws Exception;

	/** SNS연동을 해지한다.
	 * @param oAuthVO
	 */
	public void deleteSnsLink(OAuthUniversalUser oAuthVO) throws Exception;

	/** 사용자의 정보를 조회한다.
	 * @param vo
	 * @return
	 */
	public NlibLoginVO selectMyInfo(NlibLoginVO vo) throws Exception;
	
	/**
	 * 직전 로그인 시간을 조회한다. 
	 * 
	 * @param mbInfoId
	 * @return
	 * @throws Exception
	 */
	public List<Map<String, String>> getLastLogin(String mbInfoId) throws Exception;

	/**
	 * 최근 1건이내 접속한 문화원 정보를 조회한다.
	 * 
	 * @param mbInfoId
	 * @return
	 * @throws Exception
	 */
	public List<Map<String, String>> getVisitedOrgs(String mbInfoId) throws Exception;
}