
package nlib.user.service.impl;

import java.util.HashMap;
import java.util.List;

import org.springframework.stereotype.Repository;

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

@Mapper("memberDAO")
public interface MemberDAO
{
	public DataApiResVO selectMemberJoiningInfo(DataApiReqVO reqVO) throws Exception;

	public DataApiResVO certificateMember(DataApiReqVO reqVO)  throws Exception;

	public void insertMemberInfo(NlibLoginVO vo) throws Exception;

	public DataApiResVO sendEmailForMemberJoining(DataApiReqVO reqVO)  throws Exception;

	public DataApiResVO searchId(DataApiReqVO reqVO)  throws Exception;

	public DataApiResVO initPassword(DataApiReqVO reqVO) throws Exception;

	public void changePassword(NlibLoginVO vo)  throws Exception;

	public DataApiResVO selectMemberInfo(DataApiReqVO reqVO)  throws Exception;

	public DataApiResVO updateMemberInfo(DataApiReqVO reqVO)  throws Exception;

	public DataApiResVO leaveMember(DataApiReqVO reqVO)  throws Exception;

	public void insertMemberSns(OAuthUniversalUser oauthUser);

	public NlibLoginVO selectAlreadySignUpId(OAuthUniversalUser oauthUser) throws Exception;
	
	public List<NlibLoginVO> selectAlreadySignUpMobile(NlibLoginVO loginVO) throws Exception;

	public int selectSnsIdCount(OAuthUniversalUser oauthUser);

	public void deleteMembership(NlibLoginVO loginVO) throws Exception;

	public void sendSms(NlibSmsVO smsVO) throws Exception;
}