<?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.rcs.bizTmpl.dao.BizTmplDAO">

	<resultMap    id="bizTmplVO"  type="com.i2sema.rcs.bizTmpl.vo.BizTmplVO" />
	<resultMap    id="bizTmplListVO"  type="com.i2sema.rcs.bizTmpl.vo.BizTmplListVO" />
	    
    <parameterMap id="bizTmplVO"  type="com.i2sema.rcs.bizTmpl.vo.BizTmplVO" />
    <parameterMap id="bizTmplListVO"  type="com.i2sema.rcs.bizTmpl.vo.BizTmplListVO" />
    
    <select id="listBizTmplCount" parameterMap="bizTmplListVO" resultType="int">
        <![CDATA[
			/* [com.i2sema.rcs.bizTmpl.dao.BizTmplDAO.listBizTmplCount] 비즈 템플릿 목록 개수 */
			SELECT	COUNT(*) AS cnt
			FROM 	rcs_biz_tmpl
			WHERE	1 = 1
		]]>
		<if test="mberNo != null and mberNo !=''">
			<![CDATA[
					AND mber_no = #{mberNo}
			]]>
		</if>
		<if test="orgId != null and orgId !=''">
			<![CDATA[
					AND org_id = #{orgId}
			]]>
		</if>
		<if test="searchSdate != null and searchSdate != '' and searchEdate != null and searchEdate != ''">
			<![CDATA[
					AND rgst_date BETWEEN #{searchSdate} AND #{searchEdate}
			]]> 
		</if> 
     </select>   
    
	<select id="listBizTmpl" parameterMap="bizTmplListVO" resultMap="bizTmplListVO">
		<![CDATA[
			/* [com.i2sema.rcs.bizTmpl.dao.BizTmplDAO.listBizTmpl] 비즈 템플릿 목록 */
			SELECT			*
			FROM				(
									SELECT		t.seq,
									     				t.mber_no AS mberNo,
									     				t.org_id AS orgId,
									     				m.cmpnm AS cmpnName,
									     				b.brand_name AS brandName,
									     				t.tmpl_name AS tmplName,
									     				t.tmpl_type AS tmplType,
									     				t.tmpl_kind AS tmplKind,
									     				t.tmpl_btn_cnt AS tmplBtnCnt,
									     				t.status AS status,
									     				t.rgst_date AS rgstDate,
									     				t.appr_date AS apprDate,
									     				t.modi_date AS modiDate
									FROM			rcs_biz_tmpl t
														INNER JOIN add_mber_info m
															ON t.mber_no = m.mber_no
																AND m.org_id is null
														INNER JOIN rcs_brand b
															ON t.brand_id = b.brand_id
									WHERE		1=1
														AND t.tmpl_type <> 'free'					
		]]>
								<if test="mberNo != null and mberNo !=''">
									<![CDATA[
														AND b.mber_no = #{mberNo}
									]]>
								</if>
								<if test="orgId != null and orgId !=''">
									<![CDATA[
														AND b.org_id = #{orgId}
									]]>
								</if>
								<if test="searchSdate != null and searchSdate != '' and searchEdate != null and searchEdate != ''">
									<![CDATA[
											AND t.rgst_date BETWEEN #{searchSdate} AND #{searchEdate}
									]]> 
								</if> 				
		<![CDATA[
			) B
			ORDER BY		seq DESC
			LIMIT #{firstIndex}, #{recordCountPerPage}
		]]>
	</select>
	
	<select id="listBizTmplBatch" parameterType="map" resultMap="bizTmplListVO">
		<![CDATA[
			/* [com.i2sema.rcs.bizTmpl.dao.BizTmplDAO.listBizTmplBatch] 비즈 템플릿 목록 (배치용) */
			SELECT		t.seq,
			     				t.mber_no AS mberNo,
			     				t.org_id AS orgId,
			     				t.tmpl_id AS tmplId,
			     				t.tmpl_name AS tmplName,
			     				t.tmpl_type AS tmplType,
			     				t.tmpl_kind AS tmplKind,
			     				t.tmpl_btn_cnt AS tmplBtnCnt,
			     				t.status AS status,
			     				t.rgst_date AS rgstDate,
			     				t.modi_date AS modiDate
			FROM			rcs_biz_tmpl t
			WHERE		1=1
								AND t.brand_id = #{brandId}					
		]]>
	</select>
	
	<insert id="insertBizTmpl" parameterMap="bizTmplVO">
		<![CDATA[
    		/* [com.i2sema.rcs.bizTmpl.dao.BizTmplDAO.insertBizTmpl] 비즈 템플릿 등록*/
   			INSERT INTO		rcs_biz_tmpl
   			(
   				mber_no,
   				org_id,
   				brand_id,
   				brand_seq,
   				tmpl_id,
   				tmpl_name,
   				content,
   				tmpl_type,
   				tmpl_kind,
   				tmpl_btn_cnt,
   				status,
   				format,
   				appr_date
   			)
			VALUES
			(
				#{mberNo},
				#{orgId},
				#{brandId},
				#{brandSeq},
				#{tmplId},
				#{tmplName},
				#{content},
				#{tmplType},
				#{tmplKind},
				#{tmplBtnCnt},
				#{status},
				#{format},
				#{apprDate}
			)
				
		]]>
	</insert>
	
	<select id="selectBizTmpl" parameterType="int" resultMap="bizTmplVO">
		<![CDATA[
			/* [com.i2sema.rcs.bizTmpl.dao.BizTmplDAO.listBizTmpl] 비즈 템플릿 조회 */
			SELECT		t.seq,
			     				t.tmpl_name AS tmplName,
			     				t.tmpl_type AS tmplType,
			     				t.tmpl_kind AS tmplKind,
			     				t.format AS format,
			     				t.tmpl_btn_cnt AS tmplBtnCnt,
			     				t.content AS content
			FROM		rcs_biz_tmpl t
			WHERE	t.seq = #{seq}
		]]>
	</select>
	
	<delete id="deleteBizTmpl" parameterType="string">
		<![CDATA[
			/* [com.i2sema.rcs.bizTmpl.dao.BizTmplDAO.deleteBizTmpl] 비즈 템플릿 삭제 */
			DELETE	
			FROM	rcs_biz_tmpl
			WHERE	tmpl_id = #{seq}
		]]>
	</delete>
	
	<select id="listBizTmplCountByAPI" parameterType="map" resultType="int">
        <![CDATA[
			/* [com.i2sema.rcs.bizTmpl.dao.BizTmplDAO.listBizTmplCountByAPI] 비즈 템플릿 목록 개수 (API) */
			SELECT	COUNT(*) AS cnt
			FROM 		rcs_biz_tmpl t
							INNER JOIN rcs_brand b
								ON t.brand_id = b.brand_id
			WHERE	1 = 1
							AND t.tmpl_type <> 'free'
							AND b.seq = #{brandSeq}
		]]>
							<if test="null != title and !title.equals('')">
								<![CDATA[ AND tmpl_name like CONCAT('%', #{title}, '%') ]]>
							</if>
							<if test="null != type and !type.equals('')">
								<![CDATA[ AND tmpl_type = #{type} ]]>
							</if>							
     </select>   
    
	<select id="listBizTmplByAPI" parameterType="map" resultType="map">
		<![CDATA[
			/* [com.i2sema.rcs.bizTmpl.dao.BizTmplDAO.listBizTmplByAPI] 비즈 템플릿 목록 (API) */
			SELECT			*
			FROM				(
									SELECT		t.seq,
									     				t.mber_no AS mberNo,
									     				t.org_id AS orgId,
									     				m.cmpnm AS cmpnName,
									     				b.brand_name AS brandName,
									     				t.tmpl_id AS tmplId,
									     				t.tmpl_name AS tmplName,
									     				t.tmpl_type AS tmplType,
									     				t.tmpl_kind AS tmplKind,
									     				t.tmpl_btn_cnt AS tmplBtnCnt,
									     				t.status AS status,
									     				t.rgst_date AS rgstDate,
									     				t.modi_date AS modiDate,
									     				t.appr_date AS apprDate
									FROM			rcs_biz_tmpl t
														INNER JOIN add_mber_info m
															ON t.mber_no = m.mber_no
																AND m.org_id is null
														INNER JOIN rcs_brand b
															ON t.brand_id = b.brand_id
									WHERE		1=1
														AND t.tmpl_type <> 'free'
														AND b.seq = #{brandSeq}
		]]>
														<if test="null != title and !title.equals('')">
															<![CDATA[ AND t.tmpl_name like CONCAT('%', #{title}, '%') ]]>
														</if>
														<if test="null != type and !type.equals('')">
															<![CDATA[ AND t.tmpl_type = #{type} ]]>
														</if>	
			) B
			ORDER BY		seq DESC
			LIMIT #{firstIndex}, #{recordCountPerPage}
	</select>
	
	<select id="readBizTmplByAPI" parameterType="int" resultType="map">
		<![CDATA[
			/* [com.i2sema.rcs.bizTmpl.dao.BizTmplDAO.readBizTmplByAPI] 비즈 템플릿 조회 (API) */
			SELECT		t.seq,
			     				t.mber_no AS mberNo,
			     				t.org_id AS orgId,
			     				t.tmpl_name AS tmplName,
			     				t.tmpl_type AS tmplType,
			     				t.tmpl_kind AS tmplKind,
			     				t.tmpl_btn_cnt AS tmplBtnCnt,
			     				t.status AS status,
			     				t.rgst_date AS rgstDate,
			     				t.modi_date AS modiDate,
			     				t.content AS content,
			     				t.format AS format
			FROM			rcs_biz_tmpl t
			WHERE		t.seq = #{seq}
		]]>
	</select>
	
	<select id="selectBizTmplFreeTmplByAPI" parameterType="map" resultType="map">
	<![CDATA[
			/* [com.i2sema.rcs.bizTmpl.dao.BizTmplDAO.selectBizTmplFreeTmplByAPI] 비즈 템플릿 FREE 템플릿 조회 (API) */
			SELECT		t.seq,
			     				t.tmpl_id AS tmplId
			FROM			rcs_biz_tmpl t
			WHERE		t.brand_seq = #{brandSeq}
								AND tmpl_type = 'free'
			LIMIT 1
		]]>
	</select>
	
	<select id="selectBizTmplByAPI" parameterType="map" resultMap="bizTmplVO">
		<![CDATA[
			/* [com.i2sema.rcs.bizTmpl.dao.BizTmplDAO.selectBizTmplByAPI] 비즈 템플릿 조회 (API) */
			SELECT		t.seq,
								t.tmpl_id AS tmplId,
			     				t.tmpl_name AS tmplName,
			     				t.tmpl_type AS tmplType,
			     				t.tmpl_kind AS tmplKind,
			     				t.format AS format,
			     				t.tmpl_btn_cnt AS tmplBtnCnt,
			     				t.content AS content
			FROM		rcs_biz_tmpl t
			WHERE	t.seq = #{seq}
		]]>
	</select>
</mapper>