<?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.admin.srvc.userLevel.dao.UserLevelDAO">
    <resultMap id="userLevelVO"     type="i2c.biz.admin.srvc.userLevel.vo.UserLevelVO"     />    
    
    <parameterMap id="userLevelVO"      type="i2c.biz.admin.srvc.userLevel.vo.UserLevelVO"     />
                
    <select id="listUserLevel" parameterMap="userLevelVO" resultMap="userLevelVO">
        /* [i2c.biz.admin.srvc.userLevel.dao.UserLevelDAO.listUserLevel] 회원 레벨 목록 */
        SELECT 
			   SCC.CD LEVEL_CD
			 , SCC.CD_NM CODE_NM
			 , ML.LEVEL_NM
			 , ML.CHRGE
			 , ML.CHRGE_V2
			 , ML.SVC_SETLE_CD
			 , FN_GET_CODE_NM('SVC_SETLE_TY',ML.SVC_SETLE_CD) SVC_SETLE_NM
			 , ML.SMS
			 , ML.SMS01
			 , ML.SMS02
			 , ML.LMS
			 , ML.LMS01
			 , ML.LMS02
			 , ML.MMS
			 , ML.MMS01
			 , ML.MMS02
			 , ML.NTCN_TALK
			 , ML.NTCN_TALK01
			 , ML.NTCN_TALK02
			 , ML.FRN_TALK
			 , ML.FRN_TALK01
			 , ML.FRN_TALK02
			 , ML.FRN_TALK_IMAGE
			 , ML.FRN_TALK_IMAGE01
			 , ML.FRN_TALK_IMAGE02
			 , ML.FRN_TALK_IMAGE_WIDE
			 , ML.FRN_TALK_IMAGE_WIDE01
			 , ML.FRN_TALK_IMAGE_WIDE02
			 , ML.agent_r
			 , ML.rcs_sms_01
			 , ML.rcs_lms_01
			 , ML.rcs_mms_01
			 , ML.rcs_tmpl_01
			 , ML.agent_ei
			 , ML.FRIEND_TALK_PLUS_WIDE_ITEM_LIST01
			 , ML.FRIEND_TALK_PLUS_WIDE_ITEM_LIST02
			 , ML.FRIEND_TALK_PLUS_WIDE_ITEM_LIST03
			 , ML.FRIEND_TALK_PLUS_CAROUSEL_FEED01
			 , ML.FRIEND_TALK_PLUS_CAROUSEL_FEED02
			 , ML.FRIEND_TALK_PLUS_CAROUSEL_FEED03
		  FROM SNS_COMMON_CODE SCC
		  LEFT OUTER JOIN MBER_LEVEL ML 
		    ON SCC.CD =  ML.LEVEL_CD   
		 WHERE SCC.UP_CD = 'MBER_LEVEL'
		 ORDER BY SCC.CD_NM DESC	 		 
    </select>
    
    <insert id="saveUserLevel" parameterType="Map">
        /* [i2c.biz.admin.srvc.userLevel.dao.UserLevelDAO.saveUserLevel] 회원 레벨 저장*/
        INSERT INTO MBER_LEVEL
			(
				LEVEL_CD
			  , LEVEL_NM
	  		, CHRGE
			  , CHRGE_V2
			  , SVC_SETLE_CD
			  , SMS
			  , SMS01
			  , SMS02
			  , LMS
			  , LMS01
			  , LMS02
			  , MMS
			  , MMS01
			  , MMS02
			  , NTCN_TALK
			  , NTCN_TALK01
			  , NTCN_TALK02
			  , FRN_TALK
			  , FRN_TALK01
			  , FRN_TALK02
			  , FRN_TALK_IMAGE
			  , FRN_TALK_IMAGE01
			  , FRN_TALK_IMAGE02
			  , FRN_TALK_IMAGE_WIDE
			  , FRN_TALK_IMAGE_WIDE01
			  , FRN_TALK_IMAGE_WIDE02
			  , USE_AT
			  , REGIST_DE
			  , agent_r
			  , rcs_sms_01
			  , rcs_lms_01
			  , rcs_mms_01
			  , rcs_tmpl_01
			  , agent_ei
				, FRIEND_TALK_PLUS_WIDE_ITEM_LIST01
				, FRIEND_TALK_PLUS_WIDE_ITEM_LIST02
				, FRIEND_TALK_PLUS_WIDE_ITEM_LIST03
				, FRIEND_TALK_PLUS_CAROUSEL_FEED01
				, FRIEND_TALK_PLUS_CAROUSEL_FEED02
				, FRIEND_TALK_PLUS_CAROUSEL_FEED03
			)
		VALUES 
			<foreach collection="levelList" item="list" separator=",">
			(
				#{list.level_cd}
			  , #{list.level_nm}
				, #{list.chrge}
				, #{list.chrge_v2}
			  , #{list.svc_setle_cd}
			  , #{list.sms}
			  , #{list.sms01}
			  , #{list.sms02}
			  , #{list.lms}
			  , #{list.lms01}
			  , #{list.lms02}
			  , #{list.mms}
			  , #{list.mms01}
			  , #{list.mms02}
			  , #{list.ntcn_talk}
			  , #{list.ntcn_talk01}
			  , #{list.ntcn_talk02}
			  , #{list.frn_talk}
			  , #{list.frn_talk01}
			  , #{list.frn_talk02}
			  , #{list.frn_talk_image}
			  , #{list.frn_talk_image01}
			  , #{list.frn_talk_image02}
			  , #{list.frn_talk_image_wide}
			  , #{list.frn_talk_image_wide01}
			  , #{list.frn_talk_image_wide02}
			  , 'Y'
			  , DATE_FORMAT(NOW(),'%Y%m%d%H%i%s')
			  , #{list.agent_r}
			  , #{list.rcs_sms_01}
			  , #{list.rcs_lms_01}
			  , #{list.rcs_mms_01}
			  , #{list.rcs_tmpl_01}
			  , #{list.agent_ei}
				, #{list.friend_talk_plus_wide_item_list01}
				, #{list.friend_talk_plus_wide_item_list02}
				, #{list.friend_talk_plus_wide_item_list03}
				, #{list.friend_talk_plus_carousel_feed01}
				, #{list.friend_talk_plus_carousel_feed02}
				, #{list.friend_talk_plus_carousel_feed03}
			)
			</foreach>
    </insert>  
     
	<delete id="deleteUserLevel" parameterType="java.lang.String">
	   /* [i2c.biz.admin.srvc.userLevel.dao.UserLevelDAO.deleteUserLevel] 회원 레벨 삭제 */
	       DELETE FROM MBER_LEVEL 
	</delete>    
	
	<select id="selectUserAgent" parameterType="string" resultType="map">
		<![CDATA[
		/* [i2c.biz.admin.srvc.userLevel.dao.UserLevelDAO.selectUserAgent] 회원 에이전트 여부 */
		SELECT		ml.agent_r AS agentR,
							ml.agent_ei AS agentEi,
							smi.level_cd
		FROM			sub_mber_info smi
							INNER JOIN mber_level ml
								ON smi.level_cd = ml.level_cd
		WHERE		smi.usr_id = #{usrId}
		]]>
    </select>
    
    <select id="selectUserLevel" parameterType="string" resultType="String">
    /* [i2c.biz.admin.srvc.userLevel.dao.UserLevelDAO.selectUserLevel] 회원 mber_no 레벨  */
    	SELECT LEVEL_CD FROM SUB_MBER_INFO smi WHERE MBER_NO = #{mber_no} AND LEVEL_CD IS NOT NULL LIMIT 1
    </select>
</mapper>