<?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="com.i2sema.v2.admin.ita.at.tmpl.dao.ATTmplDAO">

	<insert id="insertTmpl" parameterType="java.util.Map" useGeneratedKeys="true" keyProperty="bizSeq">
		<![CDATA[
			/* [com.i2sema.v2.admin.ita.at.tmpl.dao.ATTmplDAO.insertTmpl] 알림톡 템플릿 입력 */
			INSERT INTO ita_biz_tmplat
			(
				tmplat_cd,
				mber_no,
				org_id,
				tmplat_nm,
				tmplat_cn,
				extra_type,
				extra_content,
				use_at,
				status,
				plus_uuid,
				security_use,
				emphs_type,
				emphs_main_title,
				emphs_sub_title,
				emphs_img_url,
				item_header_use,
				item_header_content,
				item_img_use,
				item_img_url,
				item_hghl_use,
				item_hghl_title,
				item_hghl_content,
				item_hghl_img_url,
				item_list,
				item_smry_use,
				item_smry_title,
				item_smry_info,
				rej_comment,
				rgst_id,
				modi_id
			) VALUES (
				#{tmplatCd},
				#{mberNo},
				#{orgId},
				#{tmplatNm},
				#{tmplatCn},
				#{extraType},
				#{extraContent},
				#{useAt},
				#{status},
				#{plusUuid},
				#{securityUse},
				#{emphsType},
				#{emphsMainTitle},
				#{emphsSubTitle},
				#{emphsImgUrl},
				#{itemHeaderUse},
				#{itemHeaderContent},
				#{itemImgUse},
				#{itemImgUrl},
				#{itemHghlUse},
				#{itemHghlTitle},
				#{itemHghlContent},
				#{itemHghlImgUrl},
				#{itemList},
				#{itemSmryUse},
				#{itemSmryTitle},
				#{itemSmryInfo},
				#{rejComment},
				#{rgstId},
				#{modiId}
			)
		]]>
		<selectKey keyProperty="bizSeq" resultType="Long" order="AFTER">SELECT
			LAST_INSERT_ID()
		</selectKey>
	</insert>
	
	<insert id="insertTmplBtns" parameterType="java.util.Map">
		<![CDATA[
			/* [com.i2sema.v2.admin.ita.at.tmpl.dao.ATTmplDAO.insertTmplBtns] 알림톡 템플릿 버튼 입력 */
			INSERT INTO ita_biz_tmplat_btn
			(
				biz_seq,
				btn_sortation,
				idx,
				kakao_btn_type,
				kakao_btn_info
			) VALUES
		]]>
			<foreach collection="btns" item="btn" separator=",">
			(
				#{btn.bizSeq},
				#{btn.btnSortation},
				#{btn.index},
				#{btn.kakaoBtnType},
				#{btn.kakaoBtnInfo}
			)
			</foreach>
	</insert>
	
	<select id="selectAtTmpl" parameterType="java.util.Map" resultType="com.i2sema.v2.admin.ita.at.tmpl.vo.ATTmplVO">
		<![CDATA[
			/* [com.i2sema.v2.admin.ita.at.tmpl.dao.ATTmplDAO.selectAtTmpl] 알림톡 템플릿 조회 */
			SELECT
				biz_seq AS bizSeq,
				tmplat_cd AS tmplatCd,
				mber_no AS mberNo,
				org_id AS orgId,
				tmplat_nm AS tmplatNm,
				tmplat_cn AS tmplatCn,
				extra_type AS extraType,
				extra_content AS extraContent,
				use_at AS useAt,
				status AS status,
				plus_uuid AS plusUuid,
				security_use AS securityUse,
				emphs_type AS emphsType,
				emphs_main_title AS emphsMainTitle,
				emphs_sub_title AS emphsSubTitle,
				emphs_img_url AS emphsImgUrl,
				item_header_use AS itemHeaderUse,
				item_header_content AS itemHeaderContent,
				item_img_use AS itemImgUse,
				item_img_url AS itemImgUrl,
				item_hghl_use AS itemHghlUse,
				item_hghl_title AS itemHghlTitle,
				item_hghl_content AS itemHghlContent,
				item_hghl_img_url AS itemHghlImgUrl,
				item_list AS itemList,
				item_smry_use AS itemSmryUse,
				item_smry_title AS itemSmryTitle,
				item_smry_info AS itemSmryInfo,
				rej_comment AS rejComment,
				rgst_id AS rgstId,
				rgst_date AS rgstDate,
				modi_id AS modiId,
				modi_date AS modiDate
			FROM	ita_biz_tmplat
			WHERE	tmplat_cd = #{tmplatCd}
							OR biz_seq = #{bizSeq}
		]]>
	</select>
	
	<select id="listAtTmplCount" parameterType="com.i2sema.v2.admin.ita.at.tmpl.vo.ATTmplVO" resultType="int">
		<![CDATA[
		/* [com.i2sema.v2.admin.ita.at.tmpl.dao.ATTmplDAO.listAtTmplCount] 알림톡 템플릿 목록 개수 */
			SELECT
				COUNT(*) AS cnt
			FROM		ita_biz_tmplat
			WHERE	use_at = 'Y'
		]]>
			<if test="@org.apache.commons.lang3.StringUtils@isNotEmpty(tmplatNm)">
				<![CDATA[
					AND tmplat_nm LIKE CONCAT('%', #{tmplatNm}, '%')
				]]>
			</if>
			<if test="mberNo != null">
				<![CDATA[
					AND mber_no = #{mberNo}
				]]>
			</if>
			<if test="@org.apache.commons.lang3.StringUtils@isNotEmpty(orgId)">
				<![CDATA[
					AND org_id = #{orgId}
				]]>
			</if>
	</select>
	
	<select id="listAtTmpl" parameterType="com.i2sema.v2.admin.ita.at.tmpl.vo.ATTmplVO" resultType="com.i2sema.v2.admin.ita.at.tmpl.vo.ATTmplVO">
		<![CDATA[
		/* [com.i2sema.v2.admin.ita.at.tmpl.dao.ATTmplDAO.listAtTmpl] 알림톡 템플릿 목록 */
			SELECT	*
			FROM		(
				SELECT(@ROWNUM := @ROWNUM + 1) RNUM, T.*
				FROM		(
					SELECT
								biz_seq AS bizSeq,
								tmplat_cd AS tmplatCd,
								tmplat_nm AS tmplatNm,
								use_at AS useAt,
								status AS status,
								plus_uuid AS plusUuid,
								rej_comment AS rejComment,
								rgst_date AS rgstDate,
								modi_date AS modiDate
					FROM		ita_biz_tmplat
					WHERE	use_at = 'Y'
					]]>
					<if test="@org.apache.commons.lang3.StringUtils@isNotEmpty(tmplatNm)">
						<![CDATA[
							AND tmplat_nm LIKE CONCAT('%', #{tmplatNm}, '%')
						]]>
					</if>
					<if test="mberNo != null">
						<![CDATA[
							AND mber_no = #{mberNo}
						]]>
					</if>
					<if test="@org.apache.commons.lang3.StringUtils@isNotEmpty(orgId)">
						<![CDATA[
							AND org_id = #{orgId}
						]]>
					</if>
					<![CDATA[
				) T, (SELECT @ROWNUM := 0 FROM DUAL) ROWNUM
			) C
			ORDER BY rgstDate desc
			LIMIT	#{firstIndex}, #{recordCountPerPage}
		]]>
	</select>
	
	<select id="listRemoteSyncAtTmpl" resultType="com.i2sema.v2.admin.ita.at.tmpl.vo.ATTmplVO">
		<![CDATA[
		/* [com.i2sema.v2.admin.ita.at.tmpl.dao.ATTmplDAO.listRemoteSyncAtTmpl] 알림톡 템플릿 목록 */
			SELECT
						biz_seq AS bizSeq,
						tmplat_cd AS tmplatCd,
						tmplat_nm AS tmplatNm,
						plus_uuid AS plusUuid,
						org_id AS orgId
			FROM		ita_biz_tmplat
			WHERE	use_at = 'Y'
							AND status in ('TMPLATST02', 'TMPLATST03')
		]]>
	</select>
	
	<select id="listAtTmplBtn" resultType="com.i2sema.v2.admin.ita.at.tmpl.vo.ATTmplBtnVO" parameterType="java.util.Map">
		<![CDATA[
			/* [com.i2sema.v2.admin.ita.at.tmpl.dao.ATTmplDAO.listAtTmplBtn] 알림톡 템플릿 버튼 조회 */
			SELECT 
				biz_seq AS bizSeq,
				btn_sortation AS btnSortation,
				idx AS `index`,
				kakao_btn_type AS kakaoBtnType,
				kakao_btn_info AS kakaoBtnInfo
			FROM		ita_biz_tmplat_btn
			WHERE	biz_seq = #{bizSeq}
			ORDER BY btn_sortation, idx
		]]>
	</select>
	
	<select id="checkExistTmplName" resultType="int" parameterType="com.i2sema.v2.admin.ita.at.tmpl.vo.ATTmplVO">
		<![CDATA[
			/* [com.i2sema.v2.admin.ita.at.tmpl.dao.ATTmplDAO.checkExistTmplName] 동일한 템플릿 이름 조회 */
			SELECT			COUNT(*) AS cnt
			FROM				ita_biz_tmplat
			WHERE			tmplat_nm = #{tmplatNm}
									AND plus_uuid = #{plusUuid}
									AND use_at = 'Y'
		]]>
	</select>
	
	<update id="updateAtTmpl" parameterType="com.i2sema.v2.admin.ita.at.tmpl.vo.ATTmplVO">
		<![CDATA[
			/* [com.i2sema.v2.admin.ita.at.tmpl.dao.ATTmplDAO.updateAtTmpl] 알림톡 템플릿 수정 */
			UPDATE 		ita_biz_tmplat
			SET
				tmplat_nm = #{tmplatNm},
				tmplat_cn = #{tmplatCn},
				extra_type = #{extraType},
				extra_content = #{extraContent},
				use_at = #{useAt},
				status = #{status},
				security_use = #{securityUse},
				emphs_type = #{emphsType},
				emphs_main_title = #{emphsMainTitle},
				emphs_sub_title = #{emphsSubTitle},
				emphs_img_url = #{emphsImgUrl},
				item_header_use = #{itemHeaderUse},
				item_header_content = #{itemHeaderContent},
				item_img_use = #{itemImgUse},
				item_img_url = #{itemImgUrl},
				item_hghl_use = #{itemHghlUse},
				item_hghl_title = #{itemHghlTitle},
				item_hghl_content = #{itemHghlContent},
				item_hghl_img_url = #{itemHghlImgUrl},
				item_list = #{itemList},
				item_smry_use = #{itemSmryUse},
				item_smry_title = #{itemSmryTitle},
				item_smry_info = #{itemSmryInfo},
				rej_comment = #{rejComment}
			WHERE	tmplat_cd = #{tmplatCd}
		]]>
	</update>
	
	<delete id="deleteTmplBtns" parameterType="com.i2sema.v2.admin.ita.at.tmpl.vo.ATTmplVO">
		<![CDATA[
			/* [com.i2sema.v2.admin.ita.at.tmpl.dao.ATTmplDAO.deleteTmplBtns] 알림톡 템플릿 버튼 삭제 */
			DELETE
			FROM		ita_biz_tmplat_btn
			WHERE	biz_seq = #{bizSeq}
		]]>
	</delete>
	
	<select id="selectSenderKey" parameterType="com.i2sema.v2.admin.ita.at.tmpl.vo.ATTmplVO" resultType="string">
		<![CDATA[
			/* [com.i2sema.v2.admin.ita.at.tmpl.dao.ATTmplDAO.selectSenderKey] senderKey 조회 */
			SELECT	sender_key AS senderKey
			FROM		profile
			WHERE	plus_uuid = #{plusUuid}
							AND org_id = #{orgId} 
		]]>
	</select>
</mapper>