<?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.externalApi.dao.ExternalApiDAO">

	<update id="saveSpam" parameterType="java.lang.String">
        /* [com.i2sema.externalApi.dao.ExternalApiDAO.saveSpam] 080 수신거부, 수신동의 저장 API */
		INSERT INTO REJECT_NUM_MNG
			(
			   REJECT_ID
		     , ARS_ID
		     , REJECT_NUM
		     , USE_AT
		     , STATUS
		     , RESN
		     , REJECT_DE
		     , REGIST_DE
			)
		VALUES
			(
			   #{reject_id}
		     , #{ars_id}
		     , #{reject_num}
		     , #{use_at}
		     , #{status}
		     , #{resn}
		     , DATE_FORMAT(SYSDATE(), '%Y%m%d%H%i%s')
		     , DATE_FORMAT(SYSDATE(), '%Y%m%d%H%i%s')
		 	)
			ON DUPLICATE KEY
		UPDATE
			  REJECT_DE	= DATE_FORMAT(SYSDATE(), '%Y%m%d%H%i%s')
			<if test="@i2c.cmm.util.StringUtil@isEmpty(status) == false">   , STATUS 	= #{status}</if>
		    <if test="@i2c.cmm.util.StringUtil@isEmpty(resn) == false">		, RESN		= #{resn}</if>
	</update>

	<select id="listSpam" parameterType="Map" resultType="i2c.cmm.base.CommonResultMap">
	/* [com.i2sema.externalApi.dao.ExternalApiDAO.listSpam] 080 수신거부 목록 정보 */
	SELECT
		   RNM.REJECT_NUM
		 , RNM.REJECT_DE
		 , RNM.STATUS
		 , RNM.RESN
	  FROM ARS_NUM_MNG AS ANM
	  	   INNER JOIN REJECT_NUM_MNG AS RNM ON ANM.ARS_ID = RNM.ARS_ID
	 WHERE ANM.MBER_NO = #{mber_no}
	   AND ANM.ORG_ID = #{org_id}
	   <if test="@i2c.cmm.util.StringUtil@isEmpty(start_de) == false and @i2c.cmm.util.StringUtil@isEmpty(end_de) == false">
	   	AND RNM.REJECT_DE BETWEEN #{start_de} AND #{end_de}
	   </if>
	   <if test="@i2c.cmm.util.StringUtil@isNotEmpty(status)">
	   	AND RNM.STATUS = #{status}
	   </if>
	 ORDER BY REJECT_DE DESC
	</select>

	<select id="arsChk" parameterType="Map" resultType="i2c.cmm.base.CommonResultMap">
	/* [com.i2sema.externalApi.dao.ExternalApiDAO.arsChk] 080ARS 등록여부 체크 */
	SELECT
		   ARS_ID
	  FROM ARS_NUM_MNG
	 WHERE MBER_NO = #{mber_no}
	   AND ORG_ID = #{org_id}
	</select>

	<select id="arsChkV2" parameterType="Map" resultType="i2c.cmm.base.CommonResultMap">
		/* [com.i2sema.externalApi.dao.ExternalApiDAO.arsChk] 080ARS 등록여부 체크 */
		SELECT
			ARS_ID
		FROM ARS_NUM_MNG
		WHERE MBER_NO = #{mber_no}
			AND ORG_ID = #{org_id}
			AND ARS_NUM = #{ars_num}
	</select>

	<select id="listSpamV2" parameterType="Map" resultType="i2c.cmm.base.CommonResultMap">
		/* [com.i2sema.externalApi.dao.ExternalApiDAO.listSpam] 080 수신거부 목록 정보 */
		SELECT
		RNM.REJECT_NUM
		, RNM.REJECT_DE
		, RNM.STATUS
		, RNM.RESN
		FROM ARS_NUM_MNG AS ANM
		INNER JOIN REJECT_NUM_MNG AS RNM ON ANM.ARS_ID = RNM.ARS_ID
		WHERE ANM.MBER_NO = #{mber_no}
		AND ANM.ORG_ID = #{org_id}
		AND ANM.ARS_NUM = #{ars_num}
		<if test="@i2c.cmm.util.StringUtil@isEmpty(start_de) == false and @i2c.cmm.util.StringUtil@isEmpty(end_de) == false">
			AND RNM.REJECT_DE BETWEEN #{start_de} AND #{end_de}
		</if>
		<if test="@i2c.cmm.util.StringUtil@isNotEmpty(status)">
			AND RNM.STATUS = #{status}
		</if>
		ORDER BY REJECT_DE DESC
	</select>

	<insert id="saveSpamLog" parameterType="Map">
		/* [com.i2sema.externalApi.dao.ExternalApiDAO.saveSpamLog] 080 수신거부, 수신동의 로그 저장 API */
		INSERT INTO reject_num_log
		(
		ars_number
		, reject_number
		, status
		, reason
		, ars_id
		)
		VALUES
		(
		#{ars_num}
		, #{reject_num}
		, #{status}
		, #{resn}
		, #{ars_id}
		)
	</insert>

 </mapper>
