<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sqlMap PUBLIC "-//iBATIS.com//DTD SQL Map 2.0//EN" "http://www.ibatis.com/dtd/sql-map-2.dtd">

<sqlMap namespace="LoginUsr">

	<typeAlias  alias="egovMap" type="egovframework.rte.psl.dataaccess.util.EgovMap"/>
	<typeAlias  alias="loginVO" type="egovframework.com.cmm.LoginVO"/>

	<!-- 로그인 처리를 위한 resultMap -->
	<resultMap id="login" class="egovframework.com.cmm.LoginVO">
		<result property="id" column="id" columnIndex="1"/>
		<result property="name" column="name" columnIndex="2"/>
		<result property="ihidNum" column="ihidNum" columnIndex="3"/>
		<result property="email" column="email" columnIndex="4"/>
		<result property="password" column="password" columnIndex="5"/>
		<result property="userSe" column="userSe" columnIndex="6"/>
		<result property="orgnztId" column="orgnztId" columnIndex="7"/>
		<result property="uniqId" column="uniqId" columnIndex="8"/>		
	</resultMap>
	
	<!-- 아이디 찾기를 위한 resultMap -->
	<resultMap id="id" class="egovframework.com.cmm.LoginVO">
		<result property="id" column="id" columnIndex="1"/>
	</resultMap>
	
	<!-- 비밀번호 처리를 위한 resultMap -->
	<resultMap id="password" class="egovframework.com.cmm.LoginVO">
		<result property="password" column="password" columnIndex="1"/>
	</resultMap>
	
	<!-- 일반 로그인 -->
	<select id="loginDAO.actionLogin" resultMap="login">
		<!-- 일반회원 -->
		<isEqual property="userSe" compareValue="GNR">
			<![CDATA[
			SELECT mber_id AS id
			     , mber_nm AS name
			     , ihidNum AS ihidNum
			     , password AS password
			     , mber_email_adres AS email
			     , 'GNR' AS userSe
			     , '-' AS orgnztId
			     , esntl_id AS uniqId
			  FROM LETTNGNRLMBER
			 WHERE mber_id = #id#
			   AND password = #password#
			   AND mber_sttus = 'P'
			]]>
		</isEqual>
		<!-- 기업회원 -->
		<isEqual property="userSe" compareValue="ENT">
			<![CDATA[
			SELECT entrprsmber_id AS id
			     , cmpny_nm AS name
			     , entrprs_mber_password AS password
			     , bizrno AS ihidNum
			     , applcnt_email_adres AS email
			     , 'ENT' AS userSe
			     , '-' AS orgnztId
			     , esntl_id AS uniqId
			  FROM LETTNENTRPRSMBER
			 WHERE entrprsmber_id = #id#
			   AND entrprs_mber_password = #password#
			   AND entrprs_mber_sttus = 'P'
			]]>
		</isEqual>
		<!-- 업무사용자 -->
		<isEqual property="userSe" compareValue="USR">
			<![CDATA[
			SELECT emplyr_id AS id
			     , user_nm AS name
			     , password AS password
			     , ihidnum AS ihidNum
			     , email_adres AS email
			     , 'USR' AS userSe
			     , orgnzt_id AS orgnztId
			     , esntl_id AS uniqId
			  FROM LETTNEMPLYRINFO
			 WHERE emplyr_id = #id#
			   AND password = #password#
			   AND emplyr_sttus_code = 'P'
			]]>
		</isEqual>
	</select>
	
	<!-- 인증서 로그인 -->
	<select id="loginDAO.actionCrtfctLogin" resultMap="login">
		<![CDATA[
		SELECT emplyr_id AS id
		     , user_nm AS name
		     , password AS password
		     , ihidnum AS ihidNum
		     , email_adres AS email
		     , 'USR' AS userSe
		     , orgnzt_id AS orgnztId
		     , esntl_id AS uniqId
		  FROM LETTNEMPLYRINFO
		 WHERE sub_dn = #dn#
		]]>
	</select>
	
	<!-- 아이디 찾기 -->
	<select id="loginDAO.searchId" resultMap="id">
		<!-- 일반회원 -->
		<isEqual property="userSe" compareValue="GNR">
			<![CDATA[
			SELECT mber_id AS id
			  FROM LETTNGNRLMBER
			 WHERE mber_nm = #name#
			   AND mber_email_adres = #email#
			   AND mber_sttus = 'P'
			]]>
		</isEqual>
		<!-- 기업회원 -->
		<isEqual property="userSe" compareValue="ENT">
			<![CDATA[
			SELECT entrprsmber_id AS id
			  FROM LETTNENTRPRSMBER
			 WHERE cmpny_nm = #name#
			   AND applcnt_email_adres = #email#
			   AND entrprs_mber_sttus = 'P'
			]]>
		</isEqual>
		<!-- 업무사용자 -->
		<isEqual property="userSe" compareValue="USR">
			<![CDATA[
			SELECT emplyr_id AS id
			  FROM LETTNEMPLYRINFO
			 WHERE user_nm = #name#
			   AND email_adres = #email#
			   AND emplyr_sttus_code = 'P'
			]]>
		</isEqual>
	</select>
	
	<!-- 비밀번호 찾기 -->
	<select id="loginDAO.searchPassword" resultMap="password">
		<!-- 일반회원 -->
		<isEqual property="userSe" compareValue="GNR">
			<![CDATA[
			SELECT password AS password
			  FROM LETTNGNRLMBER
			 WHERE mber_id = #id#
			   AND mber_nm = #name#
			   AND mber_email_adres = #email#
			   AND password_hint = #passwordHint#
			   AND password_cnsr = #passwordCnsr#
			   AND mber_sttus = 'P'
			]]>
		</isEqual>
		<!-- 기업회원 -->
		<isEqual property="userSe" compareValue="ENT">
			<![CDATA[
			SELECT entrprs_mber_password AS password
			  FROM LETTNENTRPRSMBER
			 WHERE entrprsmber_id = #id#
			   AND cmpny_nm = #name#
			   AND applcnt_email_adres = #email#
			   AND entrprs_mber_password_hint = #passwordHint#
			   AND entrprs_mber_password_cnsr = #passwordCnsr#
			   AND entrprs_mber_sttus = 'P'
			]]>
		</isEqual>
		<!-- 업무사용자 -->
		<isEqual property="userSe" compareValue="USR">
			<![CDATA[
			SELECT password AS password
			  FROM LETTNEMPLYRINFO
			 WHERE emplyr_id = #id#
			   AND user_nm = #name#
			   AND email_adres = #email#
			   AND password_hint = #passwordHint#
			   AND password_cnsr = #passwordCnsr#
			   AND emplyr_sttus_code = 'P'
			]]>
		</isEqual>
	</select>
	
	<!-- 변경된 비밀번호를 저장 -->
	<update id="loginDAO.updatePassword">
		<!-- 일반회원 -->
		<isEqual property="userSe" compareValue="GNR">
			<![CDATA[
			UPDATE LETTNGNRLMBER
			   SET password = #password#
			 WHERE mber_id = #id#
			]]>
		</isEqual>
		<!-- 기업회원 -->
		<isEqual property="userSe" compareValue="ENT">
			<![CDATA[
			UPDATE LETTNENTRPRSMBER
			   SET entrprs_mber_password = #password#
			 WHERE entrprsmber_id = #id#
			]]>
		</isEqual>
		<!-- 업무사용자 -->
		<isEqual property="userSe" compareValue="USR">
			<![CDATA[
			UPDATE LETTNEMPLYRINFO
			   SET password = #password#
			 WHERE emplyr_id = #id#
			]]>
		</isEqual>
	</update>
</sqlMap>
