<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">

<mapper namespace="i2c.biz.sbscrb.dao.SbscrbDAO">

 	<resultMap id="sbscrbVO" type="i2c.biz.sbscrb.vo.SbscrbVO" />
    
    <parameterMap id="paramSbscrbVO" type="i2c.biz.sbscrb.vo.SbscrbVO" />
    
	<insert id="insertSbscrb" parameterMap="paramSbscrbVO">
	/* i2c.biz.sbscrb.dao.SbscrbDAO.xml insertSbscrb 회원가입 정보 등록 */
		INSERT INTO
			sns_user (
				usr_id				/*사용자ID*/
				, approval			/*승인여부 N*/
				, usr_nm			/*사용자이름*/
				, email				/*이메일*/
				, login_id			/*로그인ID*/
				, login_passwd		/*로그인PW*/
				, phn_num			/*핸드폰번호*/
				, dept_id			/*부서ID*/
				, dept_nm			/*부서명*/
				, sexdstn			/*성별*/
				, photo_img			/*프로필원본이미지*/
				, photo_img_mid		/*프로필중간크기이미지*/
				, photo_img_min		/*프로필썸네일이미지*/
				, AUTH_CODE         /* 권한 */
				, CRT_USR_ID	    /* 생성자 */
                , CRT_DTTM	        /* 생성일시 */
                , MOD_USR_ID        /* 수정자 */	
                , MOD_DTTM          /* 수정일시 */
			)
		VALUES
			(
				#{usr_id}
				, #{approval}
				, #{usr_nm}
				, #{email}
				, #{login_id}
				, #{login_passwd}
				, #{phn_num}
				, #{dept_id}
				, #{dept_nm}
				, #{sexdstn}
				, #{photo_img}
				, #{photo_img_mid}
				, #{photo_img_min}
				, #{auth_code}
				, #{usr_id}
				, TO_CHAR(SYSDATE, 'YYYYMMDDHH24MISS')
				, #{usr_id}
				, TO_CHAR(SYSDATE, 'YYYYMMDDHH24MISS')
			)
		
	</insert>

    

	<select id="selectLoginId" parameterType="java.lang.String"  resultType="int">
       /* i2c.biz.sbscrb.dao.SbscrbDAO.xml selectLoginId  id중복체크*/
   		SELECT COUNT(0)
		FROM sns_user
		where login_id = #{login_id}
    </select>
    
    <select id="selectDeptId" parameterMap="paramSbscrbVO" resultMap="sbscrbVO" >
       /* i2c.biz.sbscrb.dao.SbscrbDAO.xml selectDeptId  선택 기관에 해당하는 부서조회*/
		SELECT E.DEPT_ID
             , E.DEPT_NM
		FROM  EXT_DEPARTMENT E
		WHERE E.BIZ_ID = #{instt_bsnm_id}
    </select>
    
    <select id="updateAuthCode" parameterType="java.util.Map" resultType="java.lang.String">
       /* i2c.biz.sbscrb.dao.SbscrbDAO.xml updateAuthCode 인증코드 전송(회원가입 시) */
		MERGE INTO AUTH_CODE_MANAGE
        USING DUAL
           ON (PHN_NUM = #{phn_num})         
		 WHEN MATCHED THEN
              UPDATE SET
            		  AUTH_CODE 	  = #{auth_code}		
         WHEN NOT MATCHED THEN
              INSERT (
				PHN_NUM, AUTH_CODE, REG_DTTM
			) VALUES (
				#{phn_num}, #{auth_code}, SYSDATE
			)
    </select>
    
    <select id="selectAuthCode" parameterType="java.util.Map" resultType="i2c.cmm.base.CommonResultMap">
       /* i2c.biz.sbscrb.dao.SbscrbDAO.xml selectAuthCode 인증코드 확인(회원가입 시) */
       SELECT A.*
         FROM (
		    SELECT AUTH_CODE             
		      FROM AUTH_CODE_MANAGE
		     WHERE PHN_NUM = #{phn_num}
		     ORDER BY REG_DTTM DESC
		 ) A
		WHERE ROWNUM = 1
    </select>
</mapper>