Files
sake_batch/src/main/resources/mybatis/xml/mapper/gcone/EmailMapper.xml
2025-12-18 10:04:46 +09:00

574 lines
17 KiB
XML

<?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.wb.domainserver.mapper.gcone.EmailMapper">
<select id="selectBOEmailSndngTrgetSnb"
parameterType="java.lang.Integer"
resultType="java.lang.Integer">
<![CDATA[
SELECT
TRGET_SNB
FROM GC_EMAIL_TO
WHERE 1=1
AND EMAIL_SNDNG_INNB IN
]]>
<foreach collection="emailSndngList" item="item" open="(" separator="," close=")">
#{item.emailSndngInnb}
</foreach>
</select>
<!-- 회원 2년 메일 등록 -->
<insert id="insertMbrMarktAgreEmail">
<![CDATA[
INSERT INTO GC_EMAIL (
SOPMAL_CD
, SNDNG_LC
, SJ
, CN
, SNDR_EMAIL
, RECPTN_RJCT_URL
, REGUSR_DV -- 등록자 구분 코드, 01 - 회원, 02 - 관리자, 03 - 시스템
, REGUSR -- 등록자 고유번호
, REGIST_DT -- 등록일 현재 NOW()
, EMAIL_SNDNG_FORM_INNB
)
SELECT
S.SOPMAL_CD
, NULL SNDNG_LC
, EF.EMAIL_SJ
, EF.EMAIL_CN
, HEX(AES_ENCRYPT(S.EMAIL_ATMC_SNDNG_DSPTCH_ADRES, #{secretKey}))
, '/mngr/ntcn/email/updateMarktRecptnArgeAt'
, '03' REGUSR_DV
, 0 REGUSR
, NOW() REGIST_DT
, '3'
FROM GC_SHOP S
INNER JOIN GC_EMAIL_FORM EF
ON S.SOPMAL_CD = EF.SOPMAL_CD
AND EF.FORM_DV_CD = 'FORM_DV_CMMN'
AND EF.FORM_DTL_DV_CD = '01' -- 광고동의
AND EF.USE_AT = 'Y'
INNER JOIN GC_MESSAGE_SNDNG MS
ON S.SOPMAL_CD = MS.SOPMAL_CD
AND MS.FORM_DV_CD = 'FORM_DV_CMMN'
AND MS.FORM_DTL_DV_CD = '01'
AND MS.USE_AT = 'Y'
]]>
</insert>
<!-- 회원 2년 메일 대상자 -->
<insert id="insertMbrMarktAgreEmailTo">
INSERT INTO GC_EMAIL_TO (
EMAIL_SNDNG_INNB
, MBR_INNB
, RECPNT_EMAIL
, RECPNT_NM
, STTUS
, SNDNG_DT
, RSLT_CD
, SUBST_DATA
)
<![CDATA[
SELECT
GE.EMAIL_SNDNG_INNB
, MBR.MBR_INNB -- 회원번호
, MBR.EMAIL AS RECPTN_EMAIL -- 이메일
, MBR.MBR_NM
, '3'
, NOW()
, NULL RSLT_CD
, CONCAT('{"mbrid"', ':', '"', IFNULL(MBR.MBR_ID, ''), '"'
, ',"shopName"',':', '"', IFNULL(SHOP.SOPMAL_NM, ''), '"'
, ',"marktRecptnAgreAt"',':', '"', IFNULL( CASE
WHEN MA.MARKT_RECPTN_AGRE_AT = 'Y' THEN '동의함'
ELSE '미동의'
END, ''), '"'
, ',"marktRecptnAgreUpdtDt"',':', '"', IFNULL(DATE_FORMAT(MA.MARKT_RECPTN_AGRE_UPDT_DT, '%Y-%m-%d %H:%i:%s'), ''), '"'
, ',"cscTelnb"',':', '"', IFNULL(SHOP.SMS_ATMC_SNDNG_DSPTCH_NB, ''), '"'
, ',"rejectTelnb"',':', '"', IFNULL(SHOP.REJECT_TELNB, ''), '"'
, ',"shopDomain"',':', '"', IFNULL(SHOP.PC_DOMN_ADRES, ''), '"'
, ',"operBizrnb"',':', '"', IFNULL(COM.BIZRNB, ''), '"'
, ',"operMobDclNb"',':', '"', IFNULL(COM.MOB_DCL_NB, ''), '"'
, ',"operReprsntvnm"',':', '"', IFNULL(COM.REPRSNTVNM, ''), '"'
, ',"operRnmAdres"',':', '"', IFNULL(COM.RNM_ADRES, ''), '"'
, ',"operDtlAdres"',':', '"', IFNULL(COM.DTL_ADRES, ''), '"'
, ',"operTelnb"',':', '"', IFNULL(COM.TELNB, ''), '"'
'}')
FROM
GC_MEMBER MBR -- 회원테이블
INNER JOIN GC_MARKETING_AGREE MA -- 마케팅 동의
ON MBR.MBR_INNB = MA.MBR_INNB
AND MBR.MBR_DV_CD = MA.MBR_DV_CD
AND MA.MARKT_RECPTN_AGRE_AT = 'Y' -- 동의 대상자조회
INNER JOIN GC_SHOP SHOP -- 쇼핑몰 정보
ON MA.SOPMAL_CD = SHOP.SOPMAL_CD
INNER JOIN GC_SHOP_COMPANY SC -- 쇼핑몰운영사
ON SHOP.SOPMAL_CD = SC.SOPMAL_CD
AND SC.BSNM_DV_CD = '02'
INNER JOIN GC_COMPANY COM -- 법인
ON SC.BSNM_INNB = COM.BSNM_INNB
INNER JOIN GC_MESSAGE_SNDNG GMS -- 자동발송관리
ON GMS.SOPMAL_CD = SHOP.SOPMAL_CD
AND GMS.FORM_DV_CD = 'FORM_DV_CMMN'
AND GMS.FORM_DTL_DV_CD = '01'
INNER JOIN GC_EMAIL GE
ON GE.SOPMAL_CD = GMS.SOPMAL_CD
AND GE.EMAIL_SNDNG_FORM_INNB = '3'
WHERE 1=1
AND MBR.USE_AT = 'Y' -- 멤버 쿼리에는 다 들어가야 합니다. 중요***
AND MBR.EMAIL > '' -- 이메일 있는 경우만 이메일
AND TIMESTAMPDIFF(MONTH, IFNULL(MA.MARKT_RECPTN_AGRE_UPDT_DT, MA.UPDT_DT), CURDATE()) % 24 BETWEEN 22 AND 23
AND (TIMESTAMPDIFF(MONTH, IFNULL(MA.MARKT_RECPTN_AGRE_UPDT_DT, MA.UPDT_DT), CURDATE()) <= 24
OR TIMESTAMPDIFF(MONTH, MA.MARKT_RECPTN_AGRE_TRNSMIS_DT, CURDATE()) <=24 )
AND MARKT_RECPTN_AGRE_TRNSMIS_DT < DATE_SUB(CURDATE(), INTERVAL 18 MONTH) -- 넉넉하게 18개월 이내 문자 나간 애들은 제외
LIMIT 10000
]]>
</insert>
<select id="selectMarktAgreTrgtList"
resultType="dataMap">
</select>
<insert id="insertEmailLog">
<selectKey order="BEFORE" keyProperty="emailLogInnb" resultType="java.math.BigInteger">
<![CDATA[
SELECT IFNULL(MAX(EMAIL_LOG_INNB), 0)+1
FROM GC_EMAIL_LOG
]]>
</selectKey>
INSERT IGNORE INTO GC_EMAIL_LOG (
SOPMAL_CD
, MBR_INNB
, ATMC_SNDNG_AT
, SNDNG_CNT
, SNDER
, RCVER
, SJ
, CN
, EMAIL_SNDNG_FORM_INNB
, ORDR_INNB
, STTUS
, REGIST_DT
)
VALUES
<foreach collection="list" item="mssage" index="index" separator=",">
(
#{mssage.sopmalCd}
, #{mssage.mbrInnb}
, #{mssage.atmcSndngAt}
, #{mssage.sndngCnt}
, HEX(AES_ENCRYPT(#{mssage.snder}, #{mssage.secretKey}))
, HEX(AES_ENCRYPT(#{mssage.rcver}, #{mssage.secretKey}))
, #{mssage.sj}
, #{mssage.cn}
, #{mssage.emailSndngFormInnb}
, #{mssage.ordrInnb}
, #{mssage.sttus}
, NOW()
)
</foreach>
</insert>
<!-- 상태 수정 -->
<update id="updateMbrMarktAgreEmailSttus">
<![CDATA[
UPDATE GC_EMAIL AS EMAIL,
(SELECT
ET.EMAIL_SNDNG_INNB
FROM GC_EMAIL_TO ET
WHERE ET.STTUS = '3'
GROUP BY ET.EMAIL_SNDNG_INNB ) S
SET EMAIL.EMAIL_SNDNG_FORM_INNB = '0'
WHERE 1 = 1
AND EMAIL.EMAIL_SNDNG_FORM_INNB = '3'
AND EMAIL.EMAIL_SNDNG_INNB = S.EMAIL_SNDNG_INNB
]]>
</update>
<!-- 상태 삭제 -->
<delete id="deleteMbrMarktAgreEmail">
<![CDATA[
DELETE FROM GC_EMAIL
WHERE 1 = 1
AND EMAIL_SNDNG_FORM_INNB = '3'
]]>
</delete>
<!-- 상태 수정 -->
<update id="updateEmailSttus">
<![CDATA[
UPDATE GC_EMAIL AS EMAIL,
(SELECT
ET.EMAIL_SNDNG_INNB
FROM GC_EMAIL_TO ET
WHERE ET.STTUS = #{sttus}
GROUP BY ET.EMAIL_SNDNG_INNB ) S
SET EMAIL.EMAIL_SNDNG_FORM_INNB = '0'
WHERE 1 = 1
AND EMAIL.EMAIL_SNDNG_FORM_INNB = #{sttus}
AND EMAIL.EMAIL_SNDNG_INNB = S.EMAIL_SNDNG_INNB
]]>
</update>
<!-- 상태 삭제 -->
<delete id="deleteEmailNonTrgt">
<![CDATA[
DELETE FROM GC_EMAIL
WHERE 1 = 1
AND EMAIL_SNDNG_FORM_INNB = #{sttus}
]]>
</delete>
<!-- 이메일 발신 대상자 조회 -->
<select id="selectEmailVoList">
<![CDATA[
SELECT
GET2.EMAIL_SNDNG_INNB
, GET2.TRGET_SNB
, GET2.MBR_INNB
, CAST(AES_DECRYPT(UNHEX(GET2.RECPNT_EMAIL) , #{secretKey}) AS CHAR(50)) AS RECPNT_EMAIL
, GET2.RECPNT_NM
, GET2.STTUS
, GET2.SNDNG_DT
, GET2.RSLT_CD
, GE.SOPMAL_CD
, GE.SJ
, GE.CN
, CAST(AES_DECRYPT(UNHEX(GE.SNDR_EMAIL), #{secretKey}) AS CHAR(50)) AS SNDR_EMAIL
, GE.RECPTN_RJCT_URL
, GE.REGUSR_DV
, GE.REGIST_DT
, GE.EMAIL_SNDNG_FORM_INNB
, GET2.SUBST_DATA
, SHOP.SOPMAL_NM
FROM GC_EMAIL_TO GET2
INNER JOIN GC_EMAIL GE
ON GET2.EMAIL_SNDNG_INNB = GE.EMAIL_SNDNG_INNB
INNER JOIN GC_SHOP SHOP
ON SHOP.SOPMAL_CD = GE.SOPMAL_CD
WHERE 1=1
AND GET2.STTUS = #{sttus}
AND DATE(GE.REGIST_DT) = CURDATE()
ORDER BY GET2.EMAIL_SNDNG_INNB ASC
]]>
</select>
<!-- 이메일 발송여부 업데이트 -->
<update id="updateBOEmailSndng">
<foreach collection="list" item="dto" separator=";">
<![CDATA[
UPDATE GC_EMAIL_TO
SET
STTUS = #{dto.sttus}
, SNDNG_DT = SYSDATE()
, RSLT_CD = #{dto.rsltCd}
WHERE EMAIL_SNDNG_INNB = #{dto.emailSndngInnb}
AND TRGET_SNB = #{dto.trgetSnb}
]]>
</foreach>
</update>
<update id="updateEmailToSttus">
<![CDATA[
UPDATE GC_EMAIL_TO AS EMAILTO
SET EMAILTO.STTUS = 'REG'
WHERE 1 = 1
AND EMAILTO.STTUS = #{sttus}
]]>
</update>
<update id="updateMbrMarktAgreEmailToSttus">
<![CDATA[
UPDATE GC_EMAIL_TO AS EMAILTO
SET EMAILTO.STTUS = 'REG'
WHERE 1 = 1
AND EMAILTO.STTUS = '3'
]]>
</update>
<!-- 쿠폰 만료 -->
<!-- 비회원 2년 메일 등록 -->
<insert id="insertCouponEndEmail">
<![CDATA[
INSERT INTO GC_EMAIL (
SOPMAL_CD
, SNDNG_LC
, SJ
, CN
, SNDR_EMAIL
, RECPTN_RJCT_URL
, REGUSR_DV -- 등록자 구분 코드, 01 - 회원, 02 - 관리자, 03 - 시스템
, REGUSR -- 등록자 고유번호
, REGIST_DT -- 등록일 현재 NOW()
, EMAIL_SNDNG_FORM_INNB
)
SELECT
S.SOPMAL_CD
, NULL SNDNG_LC
, EF.EMAIL_SJ
, EF.EMAIL_CN
, S.EMAIL_ATMC_SNDNG_DSPTCH_ADRES
, '/mngr/ntcn/email/updateMarktRecptnArgeAt'
, '03' REGUSR_DV
, 0 REGUSR
, NOW() REGIST_DT
, '21'
FROM GC_SHOP S
INNER JOIN GC_EMAIL_FORM EF
ON S.SOPMAL_CD = EF.SOPMAL_CD
AND EF.FORM_DV_CD = 'FORM_DV_REMND'
AND EF.FORM_DTL_DV_CD = '03' -- 광고동의
AND EF.USE_AT = 'Y'
INNER JOIN GC_MESSAGE_SNDNG MS
ON S.SOPMAL_CD = MS.SOPMAL_CD
AND MS.FORM_DV_CD = 'FORM_DV_REMND'
AND MS.FORM_DTL_DV_CD = '03'
AND MS.USE_AT = 'Y'
]]>
</insert>
<insert id="insertCartEmail">
<![CDATA[
INSERT INTO GC_EMAIL (
SOPMAL_CD
, SNDNG_LC
, SJ
, CN
, SNDR_EMAIL
, RECPTN_RJCT_URL
, REGUSR_DV -- 등록자 구분 코드, 01 - 회원, 02 - 관리자, 03 - 시스템
, REGUSR -- 등록자 고유번호
, REGIST_DT -- 등록일 현재 NOW()
, EMAIL_SNDNG_FORM_INNB
)
SELECT
S.SOPMAL_CD
, NULL SNDNG_LC
, EF.EMAIL_SJ
, EF.EMAIL_CN
, S.EMAIL_ATMC_SNDNG_DSPTCH_ADRES
, '/mngr/ntcn/email/updateMarktRecptnArgeAt'
, '03' REGUSR_DV
, 0 REGUSR
, NOW() REGIST_DT
, '24'
FROM GC_SHOP S
INNER JOIN GC_EMAIL_FORM EF
ON S.SOPMAL_CD = EF.SOPMAL_CD
AND EF.FORM_DV_CD = 'FORM_DV_REMND'
AND EF.FORM_DTL_DV_CD = '06' -- 광고동의
AND EF.USE_AT = 'Y'
INNER JOIN GC_MESSAGE_SNDNG MS
ON S.SOPMAL_CD = MS.SOPMAL_CD
AND MS.FORM_DV_CD = 'FORM_DV_REMND'
AND MS.FORM_DTL_DV_CD = '06'
AND MS.USE_AT = 'Y'
]]>
</insert>
<insert id="insertCartSaleEmail">
<![CDATA[
INSERT INTO GC_EMAIL (
SOPMAL_CD
, SNDNG_LC
, SJ
, CN
, SNDR_EMAIL
, RECPTN_RJCT_URL
, REGUSR_DV -- 등록자 구분 코드, 01 - 회원, 02 - 관리자, 03 - 시스템
, REGUSR -- 등록자 고유번호
, REGIST_DT -- 등록일 현재 NOW()
, EMAIL_SNDNG_FORM_INNB
)
SELECT
S.SOPMAL_CD
, NULL SNDNG_LC
, EF.EMAIL_SJ
, EF.EMAIL_CN
, S.EMAIL_ATMC_SNDNG_DSPTCH_ADRES
, '/mngr/ntcn/email/updateMarktRecptnArgeAt'
, '03' REGUSR_DV
, 0 REGUSR
, NOW() REGIST_DT
, '25'
FROM GC_SHOP S
INNER JOIN GC_EMAIL_FORM EF
ON S.SOPMAL_CD = EF.SOPMAL_CD
AND EF.FORM_DV_CD = 'FORM_DV_REMND'
AND EF.FORM_DTL_DV_CD = '08' -- 광고동의
AND EF.USE_AT = 'Y'
INNER JOIN GC_MESSAGE_SNDNG MS
ON S.SOPMAL_CD = MS.SOPMAL_CD
AND MS.FORM_DV_CD = 'FORM_DV_REMND'
AND MS.FORM_DTL_DV_CD = '08'
AND MS.USE_AT = 'Y'
]]>
</insert>
<!-- 마일리지 만료 안내 -->
<select id="selectMlgTrgtListEmailInqire"
resultType="dataMap">
<![CDATA[
SELECT SHOP.SOPMAL_NM AS SHOP_NAME -- 쇼핑몰명
, CONCAT(REPLACE(SHOP.PC_DOMN_ADRES, 'https://',''), '/sopmal/mpage/mbr/selectMpageMainInqire') AS MYPAGE_SHORT_URL -- 마이페이지
, MLG.MBR_INNB -- 회원번호
, MLG.MBR_DV_CD -- 회원구분코드
, MBR.MBR_TY_CD -- 회원타입코드
, MBR.MBR_ID -- 회원 아이디
, MBR.MBR_NM AS USER_NAME -- 회원명 (템플릿위해 중복)
, MBR.MBR_NM AS USERNAME -- 회원명
, CURDATE() AS CURDATE -- 현재시간
, MBR.EMAIL AS RECPTN_EMAIL -- 수신 이메일
, MBR.MBTLNB AS RECPTN_NB -- 수신 번호
, MLG.SOPMAL_CD -- 쇼핑몰코드
, FORMAT(SUM(BLCE), 0) AS MILEAGE -- 현재 총 마일리지
, FORMAT(SUM( IF( DATE(MLG.USE_POSBL_END_DT) BETWEEN DATE_ADD(LAST_DAY(CURDATE()), INTERVAL 1 DAY)
AND LAST_DAY(DATE_ADD(CURDATE(), INTERVAL 1 MONTH)),
BLCE,
0
)
), 0
) AS EXP_MILEAGE -- 만료예상마일리지 (템플릿 위해 중복 조회)
, FORMAT(SUM( IF( DATE(MLG.USE_POSBL_END_DT) BETWEEN DATE_ADD(LAST_DAY(CURDATE()), INTERVAL 1 DAY)
AND LAST_DAY(DATE_ADD(CURDATE(), INTERVAL 1 MONTH)),
BLCE,
0
)
), 0
) AS MILEAGE_REST -- 만료예상마일리지 (템플릿 위해 중복 조회)
, GE.*
FROM GC_MILEAGE MLG
INNER JOIN GC_MEMBER MBR -- 회원테이블
ON MBR.MBR_INNB = MLG.MBR_INNB
AND MBR.MBR_DV_CD = MLG.MBR_DV_CD
INNER JOIN GC_MESSAGE_SNDNG GMS -- 자동발송테이블
ON GMS.SOPMAL_CD = GMA.SOPMAL_CD
AND GMS.FORM_DV_CD = #{formDvCd}
AND GMS.FORM_DTL_DV_CD = #{formDtlDvCd}
INNER JOIN GC_EMAIL_FORM GEF
ON GEF.SOPMAL_CD = GMS.SOPMAL_CD
AND GEF.EMAIL_SNDNG_FORM_INNB = GMS.EMAIL_SNDNG_FORM_INNB
AND GEF.USE_AT = 'Y'
INNER JOIN GC_SHOP SHOP -- 쇼핑몰
ON SHOP.SOPMAL_CD = MLG.SOPMAL_CD
INNER JOIN GC_EMAIL GE
ON GE.SOPMAL_CD = SHOP.SOPMAL_CD
AND GE.EMAIL_SNDNG_FORM_INNB = '22'
WHERE 1=1
AND MLG.BLCE > 0 -- 잔액 0 이상
AND MLG.CANCL_AT = 'N' -- 취소되지 않은 마일리지
AND MLG.END_AT = 'N' -- 만료되지 않은 마일리지
AND MLG.USE_POSBL_END_DT >= NOW() -- 만료기간 남아있는 마일리지
AND MBR.MBTLNB > ''
GROUP BY MLG.MBR_INNB, MLG.MBR_DV_CD, MLG.SOPMAL_CD, SHOP.SOPMAL_NM, SHOP.MBL_DOMN_ADRES, GE.EMAIL_SNDNG_INNB
HAVING SUM( IF( DATE(MLG.USE_POSBL_END_DT) BETWEEN DATE_ADD(LAST_DAY(CURDATE()), INTERVAL 1 DAY)
AND LAST_DAY(DATE_ADD(CURDATE(), INTERVAL 1 MONTH)),
BLCE,
0
)
) > 0 -- 만료 대상 마일리지가 남아있는 경우
]]>
</select>
<!-- 회원 2년 메일 등록 -->
<insert id="insertMlgExpEmail">
<![CDATA[
INSERT INTO GC_EMAIL (
SOPMAL_CD
, SNDNG_LC
, SJ
, CN
, SNDR_EMAIL
, RECPTN_RJCT_URL
, REGUSR_DV -- 등록자 구분 코드, 01 - 회원, 02 - 관리자, 03 - 시스템
, REGUSR -- 등록자 고유번호
, REGIST_DT -- 등록일 현재 NOW()
, EMAIL_SNDNG_FORM_INNB
)
SELECT
S.SOPMAL_CD
, NULL SNDNG_LC
, EF.EMAIL_SJ
, EF.EMAIL_CN
, S.EMAIL_ATMC_SNDNG_DSPTCH_ADRES
, '/mngr/ntcn/email/updateMarktRecptnArgeAt'
, '03' REGUSR_DV
, 0 REGUSR
, NOW() REGIST_DT
, '22'
FROM GC_SHOP S
INNER JOIN GC_EMAIL_FORM EF
ON S.SOPMAL_CD = EF.SOPMAL_CD
AND EF.FORM_DV_CD = 'FORM_DV_REMND'
AND EF.FORM_DTL_DV_CD = '04' -- 광고동의
AND EF.USE_AT = 'Y'
INNER JOIN GC_MESSAGE_SNDNG MS
ON S.SOPMAL_CD = MS.SOPMAL_CD
AND MS.FORM_DV_CD = 'FORM_DV_REMND'
AND MS.FORM_DTL_DV_CD = '04'
AND MS.USE_AT = 'Y'
]]>
</insert>
<!-- 이메일 발송 대상자 조회 -->
<select id="selectEmailLogOkList">
SELECT
LOG.SOPMAL_CD
, LOG.MBR_INNB
, LOG.RCVER
FROM GC_EMAIL_LOG LOG
WHERE 1=1
AND LOG.EMAIL_SNDNG_FORM_INNB = #{sttus}
AND LOG.STTUS = 'OK'
</select>
<!-- 회원 2년 이메일 대상자 업데이트 -->
<update id="updateMarktAgreTrnsmisDt">
UPDATE GC_MARKETING_AGREE GMA
INNER JOIN GC_MEMBER MBR
ON MBR.MBR_DV_CD = GMA.MBR_DV_CD
AND MBR.MBR_INNB = GMA.MBR_INNB
SET GMA.MARKT_RECPTN_AGRE_TRNSMIS_DT = NOW()
WHERE 1=1
AND GMA.SOPMAL_CD = #{sopmalCd}
AND GMA.MBR_INNB = #{mbrInnb}
AND MBR.EMAIL = HEX(AES_ENCRYPT(#{rcver}, #{secretKey}))
</update>
<!-- 이메일 발송 후 상태 수정 -->
<update id="updateEmailSendSttus">
UPDATE GC_EMAIL_TO
SET
STTUS = #{sttus}
, SNDNG_DT = NOW()
, RSLT_CD = #{rsltCd}
WHERE 1=1
AND EMAIL_SNDNG_INNB = #{emailSndngInnb}
AND TRGET_SNB = #{trgetSnb}
</update>
<!-- 이메일 로그 등록 -->
<insert id="insertEmailSendLog">
INSERT INTO GC_EMAIL_LOG (
SOPMAL_CD
, MBR_INNB
, ATMC_SNDNG_AT
, SNDNG_CNT
, SNDER
, RCVER
, SJ
, CN
, EMAIL_SNDNG_FORM_INNB
, ORDR_INNB
, STTUS
, REGIST_DT
)
VALUES
(
#{sopmalCd}
, #{mbrInnb}
, #{atmcSndngAt}
, #{sndngCnt}
, HEX(AES_ENCRYPT(#{snder}, '1df5be2f7e90ae36'))
, HEX(AES_ENCRYPT(#{rcver}, '1df5be2f7e90ae36'))
, #{sj}
, #{cn}
, #{emailSndngFormInnb}
, #{ordrInnb}
, #{sttus}
, SYSDATE()
)
</insert>
</mapper>