<?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.comm.EIAgentApiDAO">

	<select id="selectImgMapList" parameterType="map" resultType="map">
		<![CDATA[
		    /* [com.i2sema.v2.comm.EIAgentApiDAO.selectImgMapList] mms 이미지파일 목록 */
			SELECT
				 file_seq		AS imgSeq
				,file_save		AS fileName
				,org_id			AS fileSubPath
			FROM	emma_t_file
			WHERE	file_seq IN
		]]>
		<foreach collection="imgSeqList" item="item" separator="," open="(" close=")">
			 #{item}
		</foreach>
	</select>
	
	<insert id="insertFileToMmt" parameterType ="map">
	    /* [com.i2sema.v2.comm.EIAgentApiDAO.rgstFileForSend] mms 이미지파일 전송 전 등록 */
		INSERT INTO em_mmt_file
		(
			 attach_file_group_seq
			,attach_file_seq
			,attach_file_subpath
			,attach_file_name
			,reg_date
		<if test="fileGroupKey != null">
			,attach_file_group_key
		</if>
		) VALUES (
			 #{fileGroupSeq}
			,#{imgSeq}
			,CONCAT(#{fileSubPath},'/')
			,#{fileName}
			,#{rgstDate}
		<if test="fileGroupKey != null">
			,#{fileGroupKey}
		</if>
		)
		<selectKey resultType="long" keyProperty="fileGroupKey" order="AFTER">
	        SELECT LAST_INSERT_ID()
	    </selectKey>    
	</insert>
	
	<select id="selectTDataIds" parameterType="map" resultType="map">
		<![CDATA[
		    /* [com.i2sema.v2.comm.EIAgentApiDAO.selectTDataIds] t_data Ids validation */
			SELECT
				 agentType
				,tSeq
				,jnId
				,jnVersion
				,jnVersionId
				,tDataVersion
			FROM (
					SELECT
						 'emma'					AS agentType
						,t_seq					AS tSeq
						,journey_id				AS jnId
						,journey_version		AS jnVersion
						,journey_version_id		AS jnVersionId
						,tData_v                AS tDataVersion
					FROM emma_t_data
					WHERE send_at = 'N'
					UNION ALL
					SELECT 
						 CASE
						 	WHEN msg_type = '1008' THEN 'at'
						 	WHEN msg_type = '1012' THEN 'at'
						 	WHEN msg_type = '1009' THEN 'ft'
						 	WHEN msg_type = '1013' THEN 'ft'
						 	WHEN msg_type = '1014' THEN 'ft'
						 END AS agentType
						,t_seq					AS tSeq
						,journey_id				AS jnId
						,journey_version		AS jnVersion
						,journey_version_id		AS jnVersionId
						,tData_v                AS tDataVersion
					FROM ita_t_data
					WHERE send_at = 'N'
					UNION ALL
					SELECT
						CASE
							WHEN message_type = '10001' THEN 'friendtalkPlus'
							WHEN message_type = '10002' THEN 'friendtalkPlus'
							WHEN message_type = '10003' THEN 'friendtalkPlus'
							WHEN message_type = '10004' THEN 'friendtalkPlus'
							WHEN message_type = '10005' THEN 'friendtalkPlus'
						END AS agentType
						 ,seq					AS tSeq
						 ,journey_id			AS jnId
						 ,journey_version		AS jnVersion
						 ,journey_version_id	AS jnVersionId
						 ,tdata_version         AS tDataVersion
					FROM frn_pls_tdata
					WHERE send_yn = 'N'
				) td
			WHERE td.tSeq = #{tSeq} AND td.agentType = #{agentType}
		]]>
	</select>
	
	<delete id="deleteMcdData" parameterType="map" >
		<![CDATA[ 
			/* [com.i2sema.v2.comm.deleteMcdData] mcd 테이블 전송완료된 데이터 삭제 */
			DELETE FROM ${mcdTable} WHERE date_client_req < (CURDATE()-INTERVAL 3 DAY) AND SEND_AT <> 'N'
		]]>
	</delete>
     
	<update id="optimizeMcdtable" parameterType="map" >
    	/* [com.i2sema.v2.comm.optimizeMcdtable] mcd 테이블 물리데이터 삭제 */
		OPTIMIZE TABLE ${mcdTable}
	</update>
	
	<select id="selectRejectInfo" parameterType="String" resultType="map">
		<![CDATA[
		    /* [com.i2sema.v2.comm.EIAgentApiDAO.selectRejectInfo] sub_mber_info reject info */
			SELECT reject_emma AS rejectEmma
			FROM sub_mber_info smi WHERE org_id = #{orgId} 
		]]>
	</select>
	
	<select id="checkRejectStatus" parameterType="map" resultType="String">
		<![CDATA[
		    /* [com.i2sema.v2.comm.EIAgentApiDAO.checkRejectStatus] reject status */
			SELECT TAB.reject_num
			FROM reject_num_mng TAB INNER JOIN ars_num_mng ANM ON TAB.ars_id = ANM.ars_id 
			WHERE TAB.status = 'REJECTST01' 
				AND ANM.mber_no = #{mberNo}
				AND ANM.org_id = #{orgId}
				AND ANM.ars_num = #{ars080Num}
				AND TAB.reject_num = #{recipientNum}
		]]>
	</select>
</mapper>
