<?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.admin.dao.RCSAdminDAO">

	<select id="listMsgResultTotalCountByAPI" parameterType="map" resultType="int">
	<![CDATA[
	/* [com.i2sema.rcs.admin.dao.RCSAdminDAO.listMsgResultTotalCountByAPI] 메시지 전체 사용현황 개수 (API) */
		SELECT	count(*) AS cnt
		FROM 		rta_rcs_log
		WHERE	1=1
						AND brand_seq = #{brandSeq}
	]]>
	</select>

	<select id="listMsgResultCountByAPI" parameterType="map" resultType="int">
	<![CDATA[
	/* [com.i2sema.rcs.admin.dao.RCSAdminDAO.countMsgResultCountByAPI] 메시지 사용현황 개수 (API) */
		SELECT	count(*) AS cnt
		FROM 		rcs_t_data t
		WHERE	1=1
						AND t.brand_seq = #{brandSeq}
	]]>
	</select>

	<select id="listMsgResultByAPI" parameterType="map" resultType="map">
	<![CDATA[
	/* [com.i2sema.rcs.admin.dao.RCSAdminDAO.listMsgResultByAPI] 메시지 사용현황 list (API) */
		SELECT
						  t.seq
						, noti_group_id AS notiGroupId
						, t.service_type			AS serviceType
						, (select min(logt.date_sent) from rta_rcs_log logt where t.seq = logt.t_seq) AS startSendDate
						, (select max(logt.date_sent) from rta_rcs_log logt where t.seq = logt.t_seq) AS finishSendDate
						, t.msg_type				AS msgType
						, t.rcs_format_id		AS format
						, (select count(logt.seq) from rta_rcs_log logt where t.seq = logt.t_seq) AS allCnt
						, (select count(logt.seq) from rta_rcs_log logt where t.seq = logt.t_seq and logt.report_code = '10000') AS successCnt
		FROM 		rcs_t_data t
		WHERE	1=1
						AND t.brand_seq = #{brandSeq}
		ORDER BY t.seq DESC
		LIMIT #{firstIndex}, #{recordCountPerPage}
	]]>
	</select>

	<select id="listMsgReserveCountByAPI" parameterType="map" resultType="int">
	<![CDATA[
	/* [com.i2sema.rcs.admin.dao.RCSAdminDAO.listMsgReserveCountByAPI] 메시지 예약현황 개수 (API) */
		SELECT	count(*) AS cnt
		FROM 		rcs_t_data t
		WHERE	1=1
						AND t.brand_seq = #{brandSeq}
						AND t.tmp_book_yn <> 'N'
	]]>
	</select>

	<select id="listMsgReserveByAPI" parameterType="map" resultType="map">
	<![CDATA[
	/* [com.i2sema.rcs.admin.dao.RCSAdminDAO.listMsgReserveByAPI] 메시지 예약현황 list (API) */
		SELECT
						  t.seq
						, noti_group_id AS notiGroupId
						, t.service_type			AS serviceType
						, t.msg_type				AS msgType
						, t.rcs_format_id		AS format
						, t.date_client_req	AS dateClientReq
						, t.tmp_book_yn AS tmpBookYn
		FROM 		rcs_t_data t
		WHERE	1=1
						AND t.brand_seq = #{brandSeq}
						AND t.tmp_book_yn <> 'N'
		ORDER BY t.seq DESC
		LIMIT #{firstIndex}, #{recordCountPerPage}
	]]>
	</select>
	
	<update id="cancelMsgReserveByAPI" parameterType="map">
	<![CDATA[
	/* [com.i2sema.rcs.admin.dao.RCSAdminDAO.cancelMsgReserveByAPI] 메시지 예약취소 (API) */
		UPDATE
						 rcs_t_data t
		SET
						tmp_book_yn = 'C'
		WHERE	1=1
						AND t.seq = #{seq}
	]]>
	</update>
	
	<select id="cancelMsgReserveForDateCheck" parameterType="map" resultType="int">
	<![CDATA[
	/* [com.i2sema.rcs.admin.dao.RCSAdminDAO.cancelMsgReserveForDateCheck] 메시지 예약취소 확인 (API) */
		SELECT	COUNT(*) AS cnt
		FROM		rcs_t_data t
		WHERE	1=1
						AND t.seq = #{seq}
						AND date_client_req > #{targetDate}
	]]>
	</select>
	
	<update id="cancelMsgReserveForMcCaDataByAPI" parameterType="map">
	<![CDATA[
	/* [com.i2sema.rcs.admin.dao.RCSAdminDAO.cancelMsgReserveForMcCaDataByAPI] 메시지 예약취소 MCCADATA (API) */
		UPDATE	rcs_mcca_data
		SET			send_at = 'C'
		WHERE	1=1
						AND t_seq = #{seq}
	]]>
	</update>
</mapper>