merge master into develop - CscListRForm.jsp FAQ 아코디언 버그 수정
This commit is contained in:
@@ -0,0 +1,889 @@
|
||||
<?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.domain.itrnt.ntcn.mssage.mapper.BOItrntMssageMapper">
|
||||
<sql id="SmsSndngListWhere">
|
||||
WHERE 1=1
|
||||
<!-- 등록자 구분 -->
|
||||
<if test = "@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(srchRegusrDv)">
|
||||
<![CDATA[
|
||||
AND SMS.REGUSR_DV = #{srchRegusrDv}
|
||||
]]>
|
||||
</if>
|
||||
<!-- 매장번호 -->
|
||||
<if test = "@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(srchStrInnb)">
|
||||
<![CDATA[
|
||||
AND SMS.STR_INNB = #{srchStrInnb}
|
||||
]]>
|
||||
</if>
|
||||
<!-- SMS 고유번호 -->
|
||||
<if test = "@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(srchSmsInnb)">
|
||||
<![CDATA[
|
||||
AND SMS.SMS_INNB = #{srchSmsInnb}
|
||||
]]>
|
||||
</if>
|
||||
<!-- <!– 발송번호 –>-->
|
||||
<!-- <if test = "@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(srchSndngNb)">-->
|
||||
<!-- <![CDATA[-->
|
||||
<!-- AND CAST(AES_DECRYPT(UNHEX(SMS.SNDNG_NB) , #{secretKey}) AS CHAR(50)) LIKE CONCAT('%', #{srchSndngNb}, '%')-->
|
||||
<!-- ]]>-->
|
||||
<!-- </if>-->
|
||||
<!-- 쇼핑몰코드 -->
|
||||
<if test = "@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(sopmalCd)">
|
||||
<![CDATA[
|
||||
AND SMS.SOPMAL_CD = #{sopmalCd}
|
||||
]]>
|
||||
</if>
|
||||
<!-- 검색어 처리 -->
|
||||
<if test = "@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(srchStr)">
|
||||
<choose>
|
||||
<when test = "@com.wb.domainserver.util.dataaccess.MybaitsUtil@isEquals(srchType, 'cn')">
|
||||
<![CDATA[
|
||||
AND (
|
||||
SMS.CN LIKE CONCAT('%', #{srchStr}, '%')
|
||||
)
|
||||
]]>
|
||||
</when>
|
||||
<!-- <when test = "@com.wb.domainserver.util.dataaccess.MybaitsUtil@isEquals(srchType, 'recpntNb')">-->
|
||||
<!-- <![CDATA[-->
|
||||
<!-- AND CAST(AES_DECRYPT(UNHEX(SMSTO.RECPTN_NB) , '1df5be2f7e90ae36') AS CHAR(50)) LIKE CONCAT('%', #{srchStr}, '%')-->
|
||||
<!-- ]]>-->
|
||||
<!-- </when>-->
|
||||
<when test = "@com.wb.domainserver.util.dataaccess.MybaitsUtil@isEquals(srchType, 'sndngNb')">
|
||||
<![CDATA[
|
||||
AND SMS.SNDNG_NB LIKE CONCAT('%', #{srchStr}, '%')
|
||||
]]>
|
||||
</when>
|
||||
<!-- <when test = "@com.wb.domainserver.util.dataaccess.MybaitsUtil@isEquals(srchType, 'cstmrIdnb')">-->
|
||||
<!-- <![CDATA[-->
|
||||
<!-- AND SMSTO.CSTMR_IDNB LIKE CONCAT('%', #{srchStr}, '%')-->
|
||||
<!-- ]]>-->
|
||||
<!-- </when>-->
|
||||
</choose>
|
||||
</if>
|
||||
<!-- 발송일 -->
|
||||
<if test = "@com.wb.domainserver.util.dataaccess.MybaitsUtil@isEquals(srchDtDv, 'sndngDt')">
|
||||
<choose>
|
||||
<when test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(srchStrtSndngDt)
|
||||
and @com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(srchEndSndngDt)">
|
||||
<![CDATA[
|
||||
AND SMS.SNDNG_DT BETWEEN #{srchStrtSndngDt} ' 00:00:00' AND #{srchEndSndngDt} ' 23:59:59'
|
||||
]]>
|
||||
</when>
|
||||
<when test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(srchStrtSndngDt)">
|
||||
<![CDATA[
|
||||
AND SMS.SNDNG_DT >= #{srchStrtSndngDt} ' 00:00:00'
|
||||
]]>
|
||||
</when>
|
||||
<when test = "@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(srchEndSndngDt)">
|
||||
<![CDATA[
|
||||
AND SMS.SNDNG_DT <= #{srchEndSndngDt} ' 00:00:00'
|
||||
]]>
|
||||
</when>
|
||||
</choose>
|
||||
</if>
|
||||
<!-- 등록일 -->
|
||||
<if test = "@com.wb.domainserver.util.dataaccess.MybaitsUtil@isEquals(srchDtDv, 'registDt')">
|
||||
<choose>
|
||||
<when test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(srchStrtSndngDt)
|
||||
and @com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(srchEndSndngDt)">
|
||||
<![CDATA[
|
||||
AND SMS.REGIST_DT BETWEEN #{srchStrtSndngDt} ' 00:00:00' AND #{srchEndSndngDt} ' 23:59:59'
|
||||
]]>
|
||||
</when>
|
||||
<when test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(strtSndngDt)">
|
||||
<![CDATA[
|
||||
AND SMS.REGIST_DT >= #{srchStrtSndngDt} ' 00:00:00'
|
||||
]]>
|
||||
</when>
|
||||
<when test = "@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(srchEndSndngDt)">
|
||||
<![CDATA[
|
||||
AND SMS.REGIST_DT <= #{srchEndSndngDt} ' 00:00:00'
|
||||
]]>
|
||||
</when>
|
||||
</choose>
|
||||
</if>
|
||||
|
||||
|
||||
</sql>
|
||||
<!-- sms 발송 관리 목록 조회 WHERE 절 -->
|
||||
<sql id = "SmsSndngDtlsListWhere">
|
||||
WHERE 1=1
|
||||
<if test = "@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(srchStrInnb)">
|
||||
<![CDATA[
|
||||
AND SMS.STR_INNB = #{srchStrInnb}
|
||||
]]>
|
||||
</if>
|
||||
<if test = "@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(srchSmsInnb)">
|
||||
<![CDATA[
|
||||
AND SMS.SMS_INNB = #{srchSmsInnb}
|
||||
]]>
|
||||
</if>
|
||||
<if test = "@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(srchSmsToInnb)">
|
||||
<![CDATA[
|
||||
AND SMSTO.SMS_TO_INNB = #{srchSmsToInnb}
|
||||
]]>
|
||||
</if>
|
||||
<if test = "@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(srchRecptnNb)">
|
||||
<![CDATA[
|
||||
AND CAST(AES_DECRYPT(UNHEX(SMSTO.RECPTN_NB) , #{secretKey}) AS CHAR(50)) LIKE CONCAT('%', #{srchRecptnNb}, '%')
|
||||
]]>
|
||||
</if>
|
||||
<if test = "@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(sopmalCd)">
|
||||
<![CDATA[
|
||||
AND SMS.SOPMAL_CD = #{sopmalCd}
|
||||
AND SMSTO.SOPMAL_CD = #{sopmalCd}
|
||||
]]>
|
||||
</if>
|
||||
<if test = "@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(srchStr)">
|
||||
<choose>
|
||||
<when test = "@com.wb.domainserver.util.dataaccess.MybaitsUtil@isEquals(srchType, 'cn')">
|
||||
<![CDATA[
|
||||
AND (
|
||||
SMS.CN LIKE CONCAT('%', #{srchStr}, '%')
|
||||
OR SMSTO.SUBST_DATA LIKE CONCAT('%', #{srchStr}, '%')
|
||||
)
|
||||
]]>
|
||||
</when>
|
||||
<when test = "@com.wb.domainserver.util.dataaccess.MybaitsUtil@isEquals(srchType, 'recpntNb')">
|
||||
<![CDATA[
|
||||
AND CAST(AES_DECRYPT(UNHEX(SMSTO.RECPTN_NB) , '1df5be2f7e90ae36') AS CHAR(50)) LIKE CONCAT('%', #{srchStr}, '%')
|
||||
]]>
|
||||
</when>
|
||||
<when test = "@com.wb.domainserver.util.dataaccess.MybaitsUtil@isEquals(srchType, 'sndngNb')">
|
||||
<![CDATA[
|
||||
AND SMS.SNDNG_NB LIKE CONCAT('%', #{srchStr}, '%')
|
||||
]]>
|
||||
</when>
|
||||
<when test = "@com.wb.domainserver.util.dataaccess.MybaitsUtil@isEquals(srchType, 'cstmrIdnb')">
|
||||
<![CDATA[
|
||||
AND SMSTO.CSTMR_IDNB LIKE CONCAT('%', #{srchStr}, '%')
|
||||
]]>
|
||||
</when>
|
||||
</choose>
|
||||
</if>
|
||||
<!-- 발송일 -->
|
||||
<if test = "@com.wb.domainserver.util.dataaccess.MybaitsUtil@isEquals(srchDtDv, 'sndngDt')">
|
||||
<choose>
|
||||
<when test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(srchStrtSndngDt)
|
||||
and @com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(srchEndSndngDt)">
|
||||
<![CDATA[
|
||||
AND SMS.SNDNG_DT BETWEEN #{srchStrtSndngDt} ' 00:00:00' AND #{srchEndSndngDt} ' 23:59:59'
|
||||
]]>
|
||||
</when>
|
||||
<when test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(srchStrtSndngDt)">
|
||||
<![CDATA[
|
||||
AND SMS.SNDNG_DT >= #{srchStrtSndngDt} ' 00:00:00'
|
||||
]]>
|
||||
</when>
|
||||
<when test = "@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(srchEndSndngDt)">
|
||||
<![CDATA[
|
||||
AND SMS.SNDNG_DT <= #{srchEndSndngDt} ' 00:00:00'
|
||||
]]>
|
||||
</when>
|
||||
</choose>
|
||||
</if>
|
||||
<!-- 등록일 -->
|
||||
<if test = "@com.wb.domainserver.util.dataaccess.MybaitsUtil@isEquals(srchDtDv, 'registDt')">
|
||||
<choose>
|
||||
<when test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(srchStrtSndngDt)
|
||||
and @com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(srchEndSndngDt)">
|
||||
<![CDATA[
|
||||
AND SMS.REGIST_DT BETWEEN #{srchStrtSndngDt} ' 00:00:00' AND #{srchEndSndngDt} ' 23:59:59'
|
||||
]]>
|
||||
</when>
|
||||
<when test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(strtSndngDt)">
|
||||
<![CDATA[
|
||||
AND SMS.REGIST_DT >= #{srchStrtSndngDt} ' 00:00:00'
|
||||
]]>
|
||||
</when>
|
||||
<when test = "@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(srchEndSndngDt)">
|
||||
<![CDATA[
|
||||
AND SMS.REGIST_DT <= #{srchEndSndngDt} ' 00:00:00'
|
||||
]]>
|
||||
</when>
|
||||
</choose>
|
||||
</if>
|
||||
<if test = "@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(srchDv)">
|
||||
<![CDATA[
|
||||
AND SMSTO.DV IN
|
||||
]]>
|
||||
<foreach collection="srchDv" item="dv" open="(" separator="," close=")">
|
||||
<![CDATA[
|
||||
#{dv}
|
||||
]]>
|
||||
</foreach>
|
||||
</if>
|
||||
<if test = "@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(srchSttus)">
|
||||
<![CDATA[
|
||||
AND SMSTO.STTUS IN
|
||||
]]>
|
||||
<foreach collection="srchSttus" item="sttus" open="(" separator="," close=")">
|
||||
<![CDATA[
|
||||
#{sttus}
|
||||
]]>
|
||||
</foreach>
|
||||
</if>
|
||||
<if test = "@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(sndngNb)">
|
||||
<![CDATA[
|
||||
AND SMS.SNDNG_NB = #{sndngNb}
|
||||
AND SMSTO.RECPTN_NB = #{recptnNb}
|
||||
]]>
|
||||
</if>
|
||||
<!-- 등록자 구분 -->
|
||||
<if test = "@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(srchRegusrDv)">
|
||||
<![CDATA[
|
||||
AND SMS.REGUSR_DV = #{srchRegusrDv}
|
||||
]]>
|
||||
</if>
|
||||
</sql>
|
||||
<!--포스 회원 가입 문자 등록 -->
|
||||
<insert id="insertPosMbrSend"
|
||||
useGeneratedKeys="true" keyProperty="smsInnb">
|
||||
INSERT INTO GC_SEND
|
||||
(
|
||||
SOPMAL_CD -- 쇼핑몰 코드
|
||||
, CRP_CD -- 법인 코드
|
||||
, REGUSR_DV -- 등록자 구분 코드, 01 - 회원, 02 - 관리자, 03 - 시스템
|
||||
, CHR_STTUS -- 메세지 상태, 초기 입력시 'REG' 고정
|
||||
, RESVE_DT -- 예약시간, 예약시간이 있을 경우 등록
|
||||
, SNDNG_DT -- GC_SMS 등록 시간 현재 NOW()
|
||||
, SNDNG_IDNB -- 슈어엠 SEQNO 번호, 슈어엠 등록후 나중에 업데이트
|
||||
, CN -- 메세지 내용, 템플릿 있을 경우 템플릿 입력
|
||||
, SNDNG_NB -- 발송번호, 쇼핑몰 자동발송번호 GC_SHOP.SMS_ATMC_SNDNG_DSPTCH_NB
|
||||
, DV -- 문자타입구분, 내용 길이 확인하여 SMS, LMS, 알림톡인 경우 AT
|
||||
, SEND_TYPE_CD -- 발송유형구분코드
|
||||
, MALL_LIST -- 쇼핑몰 리스트 (smartstore, mall..)
|
||||
, START_DT -- 시작일
|
||||
, END_DT -- 종료일
|
||||
, TRGTER_CNT -- 대상수
|
||||
, BADN_CNT -- 상태 BAD 수 -- 상태 수는 SMS_TO 까지 입력 후 나중에 update함
|
||||
, WAIT_CNT -- 상태 WAIT 수
|
||||
, TRNSMIS_CNT -- 상태 TRNSMIS 수
|
||||
, FAILR_CNT -- 상태 FAILR 수
|
||||
, SUCCES_CNT -- 상태 SUCCES 수
|
||||
, AGRE_CNT -- 수신동의수
|
||||
, STL_IDNB -- 정산 식별번호
|
||||
, SMS_NM -- 슈어엠일 경우 'surem' 고정
|
||||
, REGUSR_NM -- 등록자명
|
||||
, REGUSR -- 등록자 고유번호
|
||||
, REGIST_DT -- 등록일 현재 NOW()
|
||||
)
|
||||
<![CDATA[
|
||||
SELECT
|
||||
S.REPRSNT_BRAND
|
||||
, S.MANAGE_CPR
|
||||
, '04'
|
||||
, 'REG'
|
||||
, NULL
|
||||
, NOW()
|
||||
, 0
|
||||
, SF.SMS_CN
|
||||
, SHOP.SMS_ATMC_SNDNG_DSPTCH_NB
|
||||
, NULL
|
||||
, 'POS'
|
||||
, 'mall'
|
||||
, CURDATE()
|
||||
, CURDATE()
|
||||
, 1
|
||||
, 0
|
||||
, 0
|
||||
, 0
|
||||
, 0
|
||||
, 0
|
||||
, 0
|
||||
, 0
|
||||
, 'surem'
|
||||
, S.TENTCPN_NM
|
||||
, S.STR_INNB
|
||||
, NOW()
|
||||
FROM GC_STORE S
|
||||
INNER JOIN GC_SMS_FORM SF
|
||||
ON S.REPRSNT_BRAND = SF.SOPMAL_CD
|
||||
AND SF.FORM_DV_CD = 'FORM_DV_MBR'
|
||||
AND SF.FORM_DTL_DV_CD = '08' -- 비회원
|
||||
AND SF.USE_AT = 'Y'
|
||||
INNER JOIN GC_MESSAGE_SNDNG MS
|
||||
ON S.REPRSNT_BRAND = MS.SOPMAL_CD
|
||||
AND SF.SMS_SNDNG_FORM_INNB = MS.SMS_SNDNG_FORM_INNB
|
||||
AND MS.USE_AT = 'Y'
|
||||
INNER JOIN GC_SHOP SHOP
|
||||
ON S.REPRSNT_BRAND = SHOP.SOPMAL_CD
|
||||
WHERE 1=1
|
||||
AND S.STR_INNB = #{strInnb}
|
||||
]]>
|
||||
</insert>
|
||||
<!-- 포스 회원 가입문자 대상자 등록 -->
|
||||
<insert id="insertPosMbrSendTo"
|
||||
keyProperty="smsToInnb"
|
||||
useGeneratedKeys="true">
|
||||
INSERT INTO GC_SEND_TO (
|
||||
SMS_INNB
|
||||
, CODE
|
||||
, SEND_CD
|
||||
, SEND_TYPE_CD
|
||||
, CRP_CD
|
||||
, SOPMAL_CD
|
||||
, DV
|
||||
, STTUS
|
||||
, SNDNG_IDNB
|
||||
, SNDNG_DT
|
||||
, RSLT_CD
|
||||
, RECPTN_NB
|
||||
, CSTMR_IDNB
|
||||
, CSTMR_NM
|
||||
, MALL
|
||||
, ADRES
|
||||
, SUBST_DATA
|
||||
)
|
||||
<![CDATA[
|
||||
SELECT
|
||||
SEND.SMS_INNB
|
||||
, NULL
|
||||
, NULL
|
||||
, SEND.SEND_TYPE_CD
|
||||
, SEND.CRP_CD
|
||||
, SEND.SOPMAL_CD
|
||||
, CASE WHEN LENGTH(CONVERT(REPLACE(SEND.CN, '{mbrjoin_short_url}'
|
||||
, IFNULL(CONCAT(GS.MBL_DOMN_ADRES
|
||||
, '/sopmal/mbr/selectPosJoinAgreeTermsForm?storeCode=', #{storeCode}), ''))
|
||||
USING 'EUCKR')) <=90
|
||||
THEN 'SMS' ELSE 'LMS' END DV
|
||||
, SEND.CHR_STTUS
|
||||
, 0
|
||||
, NOW()
|
||||
, NULL
|
||||
, HEX(AES_ENCRYPT(#{recptnNb}, #{secretKey})) AS RECPTN_NB
|
||||
, NULL
|
||||
, #{cstmrNm}
|
||||
, SEND.MALL_LIST
|
||||
, NULL
|
||||
, CONCAT('{"mbrjoin_short_url"',':', '"', IFNULL(CONCAT(GS.MBL_DOMN_ADRES
|
||||
, '/sopmal/mbr/selectPosJoinAgreeTermsForm'), ''), '"'
|
||||
,',"storeCode"',':','"', IFNULL(#{storeCode},'') ,'"'
|
||||
,',"sex"',':','"', IFNULL(#{sex},'') ,'"'
|
||||
,',"birthYear"',':','"', IFNULL(#{birthYear},'') ,'"'
|
||||
,',"birthMonth"',':','"', IFNULL(#{birthMonth},'') ,'"'
|
||||
,'}' ) SUBST_DATA
|
||||
FROM GC_SEND SEND
|
||||
INNER JOIN GC_SHOP GS
|
||||
ON GS.SOPMAL_CD = SEND.SOPMAL_CD
|
||||
WHERE 1=1
|
||||
AND SEND.SMS_INNB = #{smsInnb}
|
||||
]]>
|
||||
</insert>
|
||||
<update id="updateSendToCode">
|
||||
UPDATE GC_SEND_TO GST
|
||||
SET GST.CODE = #{code}
|
||||
WHERE 1=1
|
||||
AND GST.SMS_TO_INNB = #{smsToInnb}
|
||||
</update>
|
||||
|
||||
<!-- 슈어 발송 대상자 조회 -->
|
||||
<select id="selectSendTrgt" resultType="dataMap">
|
||||
SELECT
|
||||
GS.SMS_INNB
|
||||
, GS.SOPMAL_CD
|
||||
, GS.SNDNG_NB
|
||||
, GS.CN
|
||||
, GS.REGUSR_DV
|
||||
, GS.REGUSR
|
||||
, GS.RESVE_DT
|
||||
, GS.SNDNG_DT
|
||||
, GS.SNDNG_IDNB
|
||||
, CAST(AES_DECRYPT(UNHEX(GST.RECPTN_NB), #{secretKey}) AS CHAR(50)) AS RECPTN_NB
|
||||
, GST.CSTMR_NM
|
||||
, GST.DV
|
||||
, GST.SUBST_DATA
|
||||
, GST.CODE
|
||||
, GST.SMS_TO_INNB
|
||||
FROM GC_SEND GS
|
||||
INNER JOIN GC_SEND_TO GST
|
||||
ON GS.SOPMAL_CD = GST.SOPMAL_CD
|
||||
AND GS.SMS_INNB = GST.SMS_INNB
|
||||
WHERE 1=1
|
||||
AND GS.SMS_INNB = #{smsInnb}
|
||||
</select>
|
||||
<!-- 인트라넷 문자 조회 총 수 조회 -->
|
||||
<select id="selectBOItrntPassiveMssageSndngTotCnt" resultType="java.lang.Integer">
|
||||
SELECT
|
||||
COUNT(*)
|
||||
FROM GC_SMS SMS
|
||||
<include refid="SmsSndngListWhere"/>
|
||||
</select>
|
||||
<!-- 문자 목록 조회 -->
|
||||
<select id="selectItrntMssagePassivSndngListInqire"
|
||||
resultType="dataMap">
|
||||
SELECT
|
||||
ROW_NUMBER() OVER (ORDER BY SMS.SNDNG_DT ASC) AS RNUM
|
||||
, SMS.SNDNG_NB
|
||||
, DATE_FORMAT(SMS.REGIST_DT,'%Y-%m-%d %H:%i:%S')AS REGIST_DT
|
||||
, DATE_FORMAT(SMS.SNDNG_DT ,'%Y-%m-%d %H:%i:%S')AS SNDNG_DT
|
||||
, SMS.HEAD
|
||||
, SMS.CN
|
||||
, SMS.TAIL
|
||||
, SMS.SMS_INNB
|
||||
, SMS.SUCCES_CNT
|
||||
, SMS.FAILR_CNT
|
||||
, SMS.CHR_STTUS
|
||||
, SMS.SOPMAL_CD AS SOPMAL_CD
|
||||
, SMS.STR_INNB
|
||||
, SMS.DV
|
||||
FROM GC_SMS SMS
|
||||
<include refid="SmsSndngListWhere"/>
|
||||
ORDER BY RNUM DESC
|
||||
LIMIT #{recordCountPerPage} OFFSET #{firstIndex}
|
||||
</select>
|
||||
<!-- 매장 문자 결과 조회 -->
|
||||
<select id="selectBOItrntMssageResultSttusCnt" resultType="dataMap">
|
||||
SELECT
|
||||
COUNT(CASE WHEN SMSTO.STTUS = 'OK' THEN 1 END) AS OKCNT
|
||||
, COUNT(CASE WHEN SMSTO.STTUS = 'FAIL' THEN 1 END) AS FAILCNT
|
||||
FROM GC_SMS SMS
|
||||
INNER JOIN GC_SMS_TO SMSTO
|
||||
ON SMSTO.SOPMAL_CD = SMS.SOPMAL_CD
|
||||
AND SMSTO.SMS_INNB = SMS.SMS_INNB
|
||||
<include refid="SmsSndngDtlsListWhere"/>
|
||||
</select>
|
||||
<select id="selectBOItrntMssageDtlInfo"
|
||||
parameterType="com.wb.domainserver.domain.itrnt.ntcn.mssage.vo.BOItrntMssageSrchVO"
|
||||
resultType="dataMap">
|
||||
SELECT
|
||||
SMS.SNDNG_NB
|
||||
, SMSTO.DV
|
||||
, DATE_FORMAT(SMS.REGIST_DT,'%Y-%m-%d %H:%i:%S')AS REGIST_DT
|
||||
, DATE_FORMAT(SMS.SNDNG_DT ,'%Y-%m-%d %H:%i:%S')AS SNDNG_DT
|
||||
, SMSTO.RSLT_CD
|
||||
, CAST(AES_DECRYPT(UNHEX(SMSTO.RECPTN_NB) , #{secretKey}) AS CHAR(50)) AS RECPTN_NB
|
||||
, SMS.HEAD
|
||||
, SMS.CN
|
||||
, SMS.TAIL
|
||||
, SMS.SMS_INNB
|
||||
, SMSTO.SMS_TO_INNB
|
||||
, SMSTO.STTUS
|
||||
, SMS.TRGTER_CNT
|
||||
, SMS.BADN_CNT
|
||||
, SMS.WAIT_CNT
|
||||
, SMS.TRNSMIS_CNT
|
||||
, SMS.SUCCES_CNT
|
||||
, SMS.FAILR_CNT
|
||||
, SMS.CHR_STTUS
|
||||
, SMSTO.SUBST_DATA
|
||||
, SMSTO.CSTMR_NM
|
||||
FROM GC_SMS_TO SMSTO
|
||||
INNER JOIN GC_SMS SMS
|
||||
ON SMSTO.SMS_INNB = SMS.SMS_INNB
|
||||
AND SMSTO.SOPMAL_CD = SMS.SOPMAL_CD
|
||||
<include refid="SmsSndngDtlsListWhere"/>
|
||||
</select>
|
||||
<!-- 매장정보 조회 -->
|
||||
<select id="selectBOStoreInfoInqire" resultType="dataMap">
|
||||
SELECT
|
||||
STORE.*
|
||||
, SHOP.*
|
||||
FROM GC_STORE STORE
|
||||
INNER JOIN GC_SHOP SHOP
|
||||
ON STORE.REPRSNT_BRAND = SHOP.SOPMAL_CD
|
||||
WHERE 1=1
|
||||
AND STORE.STR_INNB = #{strInnb}
|
||||
</select>
|
||||
<!-- 메세지 등록 -->
|
||||
<insert id="insertBOItrntMssageSndng" keyProperty="smsInnb"
|
||||
useGeneratedKeys="true">
|
||||
INSERT INTO GC_SMS (
|
||||
REGUSR_DV
|
||||
, STR_INNB
|
||||
, STR_NM
|
||||
, STR_DV
|
||||
, CHR_STTUS
|
||||
, RESVE_DT
|
||||
, SNDNG_DT
|
||||
, SNDNG_IDNB
|
||||
, HEAD
|
||||
, CN
|
||||
, TAIL
|
||||
, SOPMAL_CD
|
||||
, SNDNG_NB
|
||||
, DV
|
||||
, TRGTER_CNT
|
||||
, BADN_CNT
|
||||
, WAIT_CNT
|
||||
, TRNSMIS_CNT
|
||||
, FAILR_CNT
|
||||
, SUCCES_CNT
|
||||
, STL_IDNB
|
||||
, SMS_NM
|
||||
, REGUSR_NM
|
||||
, REGUSR
|
||||
, REGIST_DT
|
||||
)
|
||||
VALUES (
|
||||
#{regusrDv}
|
||||
, #{strInnb}
|
||||
, #{strNm}
|
||||
, #{strDv}
|
||||
, #{chrSttus}
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(resveDt)">
|
||||
, #{resveDt}
|
||||
</if>
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isEmpty(resveDt)">
|
||||
, NULL
|
||||
</if>
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(sndngDt)">
|
||||
, #{sndngDt}
|
||||
</if>
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isEmpty(sndngDt)">
|
||||
, NOW()
|
||||
</if>
|
||||
, #{sndngIdnb}
|
||||
, #{head}
|
||||
, #{cn}
|
||||
, #{tail}
|
||||
, #{sopmalCd}
|
||||
, #{sndngNb}
|
||||
, #{dv}
|
||||
, #{trgterCnt}
|
||||
, #{badnCnt}
|
||||
, #{waitCnt}
|
||||
, #{trnsmisCnt}
|
||||
, #{failrCnt}
|
||||
, #{succesCnt}
|
||||
, 0 -- 정산식별번호 0 초기
|
||||
, #{smsNm}
|
||||
, #{regusrNm}
|
||||
, #{regusr}
|
||||
, NOW()
|
||||
)
|
||||
</insert>
|
||||
<!-- 메세지 대상자 등록 -->
|
||||
<insert id="insertBOItrntMssageToDtls"
|
||||
keyProperty="smsToInnb"
|
||||
useGeneratedKeys="true">
|
||||
INSERT INTO GC_SMS_TO (
|
||||
SMS_INNB
|
||||
, SOPMAL_CD
|
||||
, DV
|
||||
, STTUS
|
||||
, SNDNG_IDNB
|
||||
, SNDNG_DT
|
||||
, RSLT_CD
|
||||
, RECPTN_NB
|
||||
, CSTMR_IDNB
|
||||
, CSTMR_NM
|
||||
, SUBST_WRD1
|
||||
, SUBST_WRD2
|
||||
, SUBST_WRD3
|
||||
, SUBST_WRD4
|
||||
, SUBST_WRD5
|
||||
, SUBST_DATA
|
||||
)
|
||||
VALUES
|
||||
<foreach collection="list" item="mssage" index="index" separator=",">
|
||||
(
|
||||
#{mssage.smsInnb}
|
||||
, #{mssage.sopmalCd}
|
||||
, #{mssage.dv}
|
||||
, #{mssage.sttus}
|
||||
, #{mssage.sndngIdnb}
|
||||
, #{mssage.sndngDt}
|
||||
, #{mssage.rsltCd}
|
||||
, HEX(AES_ENCRYPT( #{mssage.recptnNb} , #{mssage.secretKey}))
|
||||
, #{mssage.cstmrIdnb}
|
||||
, #{mssage.cstmrNm}
|
||||
, #{mssage.substWrd1}
|
||||
, #{mssage.substWrd2}
|
||||
, #{mssage.substWrd3}
|
||||
, #{mssage.substWrd4}
|
||||
, #{mssage.substWrd5}
|
||||
, #{mssage.substData}
|
||||
)
|
||||
</foreach>
|
||||
</insert>
|
||||
|
||||
<update id="updateBOItrntMssageCntUpdt"
|
||||
parameterType="com.wb.domainserver.domain.itrnt.ntcn.mssage.vo.BOItrntMssageVO">
|
||||
UPDATE
|
||||
GC_SMS S
|
||||
SET
|
||||
TRGTER_CNT = IFNULL((
|
||||
SELECT COUNT(1) FROM GC_SMS_TO WHERE SMS_INNB = S.SMS_INNB AND SOPMAL_CD = S.SOPMAL_CD), 0),
|
||||
BADN_CNT = IFNULL((
|
||||
SELECT COUNT(1) FROM GC_SMS_TO WHERE SMS_INNB = S.SMS_INNB AND SOPMAL_CD = S.SOPMAL_CD AND STTUS = 'BAD'), 0),
|
||||
WAIT_CNT = IFNULL((
|
||||
SELECT COUNT(1) FROM GC_SMS_TO WHERE SMS_INNB = S.SMS_INNB AND SOPMAL_CD = S.SOPMAL_CD AND STTUS = 'WAIT'), 0),
|
||||
TRNSMIS_CNT = IFNULL((
|
||||
SELECT COUNT(1) FROM GC_SMS_TO WHERE SMS_INNB = S.SMS_INNB AND SOPMAL_CD = S.SOPMAL_CD AND STTUS IN ('SEND', 'FAIL', 'OK')), 0),
|
||||
FAILR_CNT = IFNULL((
|
||||
SELECT COUNT(1) FROM GC_SMS_TO WHERE SMS_INNB = S.SMS_INNB AND SOPMAL_CD = S.SOPMAL_CD AND STTUS = 'FAIL'), 0),
|
||||
SUCCES_CNT = IFNULL((
|
||||
SELECT COUNT(1) FROM GC_SMS_TO WHERE SMS_INNB = S.SMS_INNB AND SOPMAL_CD = S.SOPMAL_CD AND STTUS = 'OK'), 0)
|
||||
WHERE 1=1
|
||||
AND S.SMS_INNB = #{smsInnb}
|
||||
AND S.SOPMAL_CD = #{sopmalCd}
|
||||
</update>
|
||||
<select id="selectBOItrntMssageListInqireByInnb"
|
||||
parameterType="dataMap"
|
||||
resultType="dataMap">
|
||||
SELECT
|
||||
SMS.SNDNG_NB
|
||||
, SMSTO.DV
|
||||
,DATE_FORMAT(SMS.REGIST_DT,'%Y-%m-%d %H:%i:%S')AS REGIST_DT
|
||||
, DATE_FORMAT(SMSTO.SNDNG_DT ,'%Y-%m-%d %H:%i:%S')AS SNDNG_DT
|
||||
, CAST(AES_DECRYPT(UNHEX(SMSTO.RECPTN_NB) , #{secretKey}) AS CHAR(50)) AS RECPTN_NB
|
||||
, SMS.HEAD
|
||||
, SMS.CN
|
||||
, SMS.TAIL
|
||||
, SMS.SMS_INNB
|
||||
, SMS.SOPMAL_CD
|
||||
, SMSTO.SMS_TO_INNB
|
||||
, SMSTO.STTUS
|
||||
, SMS.SUCCES_CNT
|
||||
, SMS.FAILR_CNT
|
||||
, SMS.CHR_STTUS
|
||||
, SMS.RESVE_DT
|
||||
, SMS.REGUSR
|
||||
, SMS.REGUSR_NM
|
||||
, SMS.REGUSR_DV
|
||||
, SF.SMS_FILE_INNB
|
||||
, SF.FIL_COURS
|
||||
, CAST(AES_DECRYPT(UNHEX(SMSTO.RECPTN_NB) , #{secretKey}) AS CHAR(50)) AS PHONE
|
||||
, SMSTO.SUBST_DATA
|
||||
FROM GC_SMS SMS
|
||||
INNER JOIN GC_SMS_TO SMSTO
|
||||
ON SMSTO.SOPMAL_CD = SMS.SOPMAL_CD
|
||||
AND SMSTO.SMS_INNB = SMS.SMS_INNB
|
||||
LEFT JOIN GC_SMS_FILE SF
|
||||
ON SF.SOPMAL_CD = SMS.SOPMAL_CD
|
||||
AND SF.SMS_INNB = SMS.SMS_INNB
|
||||
WHERE 1=1
|
||||
AND SMS.SMS_INNB = #{smsInnb}
|
||||
AND SMS.CHR_STTUS = 'REG'
|
||||
</select>
|
||||
<!-- 파임목록 조회 -->
|
||||
<select id="selectBOItrntMssagePassivSndngImgPopupForm"
|
||||
resultType="dataMap">
|
||||
SELECT
|
||||
F_SEQ
|
||||
, F_NAME_ORG
|
||||
, F_COURSE
|
||||
, F_NAME
|
||||
FROM
|
||||
GC_INTRANET_SMS_FILE
|
||||
WHERE 1=1
|
||||
AND PROVIDER_SEQ = #{providerSeq}
|
||||
</select>
|
||||
<!-- 파일 등록 -->
|
||||
<insert id="insertBOIntrntSndngImg"
|
||||
parameterType="com.wb.domainserver.domain.itrnt.ntcn.mssage.vo.BOItrntMssageFileVO">
|
||||
<selectKey order="BEFORE" keyProperty="fSeq" resultType="java.math.BigInteger">
|
||||
<![CDATA[
|
||||
SELECT IFNULL(MAX(F_SEQ), 0)+1
|
||||
FROM GC_INTRANET_SMS_FILE
|
||||
]]>
|
||||
</selectKey>
|
||||
INSERT INTO GC_INTRANET_SMS_FILE
|
||||
(
|
||||
F_SEQ
|
||||
, PROVIDER_SEQ
|
||||
, F_IDX
|
||||
, F_NAME_ORG
|
||||
, F_NAME
|
||||
, F_SIZE
|
||||
, F_WIDTH
|
||||
, F_HEIGHT
|
||||
, F_TYPE
|
||||
, F_COURSE
|
||||
, F_REGDATE
|
||||
)
|
||||
VALUES
|
||||
(
|
||||
#{fSeq}
|
||||
, #{providerSeq}
|
||||
, #{fIdx}
|
||||
, #{fNameOrg}
|
||||
, #{fName}
|
||||
, #{fSize}
|
||||
, #{fWidth}
|
||||
, #{fHeight}
|
||||
, #{fType}
|
||||
, #{fCourse}
|
||||
, NOW()
|
||||
)
|
||||
</insert>
|
||||
<!-- 자주쓰는 메세지 조회 -->
|
||||
<select id="selectBORegistMssagePopup" resultType="com.wb.domainserver.util.dataaccess.DataMap">
|
||||
SELECT
|
||||
SMS_ALBUM_INNB
|
||||
, SOPMAL_CD
|
||||
, MSG
|
||||
, CATEGORY
|
||||
FROM GC_SMS_ALBUM
|
||||
WHERE 1=1
|
||||
<if test = "@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(sopmalCd)">
|
||||
<![CDATA[
|
||||
AND SOPMAL_CD = #{sopmalCd}
|
||||
]]>
|
||||
</if>
|
||||
<if test = "@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(regusr)">
|
||||
<![CDATA[
|
||||
AND REGUSR = #{regusr}
|
||||
]]>
|
||||
</if>
|
||||
<choose>
|
||||
<when test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(msg)">
|
||||
<![CDATA[
|
||||
AND MSG LIKE CONCAT('%', #{msg}, '%')
|
||||
]]>
|
||||
</when>
|
||||
<otherwise>
|
||||
<choose>
|
||||
<when test = "@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(category)">
|
||||
<![CDATA[
|
||||
AND CATEGORY = #{category}
|
||||
]]>
|
||||
</when>
|
||||
<otherwise>
|
||||
AND CATEGORY = '공통'
|
||||
</otherwise>
|
||||
</choose>
|
||||
</otherwise>
|
||||
</choose>
|
||||
</select>
|
||||
<!--자주쓰는 메시지 저장 -->
|
||||
<insert id = "insertBOMssageAditRegist"
|
||||
parameterType="com.wb.domainserver.domain.itrnt.ntcn.mssage.vo.BOItrntMssageAlbumVO">
|
||||
<selectKey order="BEFORE" keyProperty="smsAlbumInnb" resultType="java.math.BigInteger">
|
||||
<![CDATA[
|
||||
SELECT IFNULL(MAX(SMS_ALBUM_INNB), 0)+1
|
||||
FROM GC_SMS_ALBUM
|
||||
]]>
|
||||
</selectKey>
|
||||
INSERT INTO GC_SMS_ALBUM (
|
||||
SMS_ALBUM_INNB
|
||||
, SOPMAL_CD
|
||||
, CATEGORY
|
||||
, MSG
|
||||
, REGUSR
|
||||
)
|
||||
VALUES (
|
||||
#{smsAlbumInnb}
|
||||
, #{sopmalCd}
|
||||
, #{category}
|
||||
, #{msg}
|
||||
, #{regusr}
|
||||
)
|
||||
</insert>
|
||||
<insert id="insertBOMssageAtchmnfilImg"
|
||||
parameterType="com.wb.domainserver.domain.itrnt.ntcn.mssage.vo.BOItrntMssageVO">
|
||||
<selectKey order="BEFORE" keyProperty="smsFileInnb" resultType="java.lang.Integer">
|
||||
<![CDATA[
|
||||
SELECT IFNULL(MAX(SMS_FILE_INNB), 0)+1
|
||||
FROM GC_SMS_FILE
|
||||
]]>
|
||||
</selectKey>
|
||||
INSERT INTO GC_SMS_FILE (
|
||||
SMS_FILE_INNB
|
||||
, SMS_INNB
|
||||
, SOPMAL_CD
|
||||
, ATCH_ORDR
|
||||
, STR_INNB
|
||||
, FIL_COURS
|
||||
, ORGINL_FIL_NM
|
||||
, SYS_FIL_NM
|
||||
, FIL_MG
|
||||
, FIL_TY
|
||||
)
|
||||
VALUES (
|
||||
#{smsFileInnb}
|
||||
, #{smsInnb}
|
||||
, #{sopmalCd}
|
||||
, #{atchOrdr}
|
||||
, #{strInnb}
|
||||
, #{filCours}
|
||||
, #{orginlFilNm}
|
||||
, #{sysFilNm}
|
||||
, #{filMg}
|
||||
, #{filTy}
|
||||
)
|
||||
</insert>
|
||||
<!-- 자주쓰는 메시지 수정 -->
|
||||
<update id="updateBOMssageAditUpdt">
|
||||
UPDATE
|
||||
GC_SMS_ALBUM
|
||||
SET
|
||||
MSG = #{msg}
|
||||
WHERE 1=1
|
||||
AND SMS_ALBUM_INNB = #{smsAlbumInnb}
|
||||
AND REGUSR = #{regusr}
|
||||
AND SOPMAL_CD = #{sopmalCd}
|
||||
</update>
|
||||
<!-- 자주쓰는 메시지 삭제 -->
|
||||
<delete id="deleteBOMssageAdit">
|
||||
DELETE
|
||||
FROM
|
||||
GC_SMS_ALBUM
|
||||
WHERE 1=1
|
||||
AND SMS_ALBUM_INNB = #{smsAlbumInnb}
|
||||
AND REGUSR = #{regusr}
|
||||
AND SOPMAL_CD = #{sopmalCd}
|
||||
</delete>
|
||||
<!-- 자주쓰는 카테고리 삭제 -->
|
||||
<delete id="deleteBOMssageAditCtgy">
|
||||
DELETE
|
||||
FROM
|
||||
GC_SMS_ALBUM
|
||||
WHERE 1=1
|
||||
AND CATEGORY = #{category}
|
||||
</delete>
|
||||
<!-- 자주쓰는 메시지 카테고리 조회 -->
|
||||
<select id="selectBOAlbumCtgy" resultType="com.wb.domainserver.util.dataaccess.DataMap">
|
||||
SELECT
|
||||
CATEGORY
|
||||
FROM
|
||||
GC_SMS_ALBUM
|
||||
WHERE 1=1
|
||||
<if test = "@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(sopmalCd)">
|
||||
<![CDATA[
|
||||
AND SOPMAL_CD = #{sopmalCd}
|
||||
]]>
|
||||
</if>
|
||||
<![CDATA[
|
||||
AND CATEGORY <> ''
|
||||
GROUP BY
|
||||
CATEGORY
|
||||
ORDER BY
|
||||
CATEGORY ASC
|
||||
]]>
|
||||
</select>
|
||||
<!-- 첨부 파일 조회(파일번호로 조회) -->
|
||||
<select id="selectBOMssagePassivSndngImgByFseq" resultType="com.wb.domainserver.util.dataaccess.DataMap">
|
||||
SELECT
|
||||
F_SEQ
|
||||
, PROVIDER_SEQ
|
||||
, F_IDX
|
||||
, F_NAME_ORG
|
||||
, F_NAME
|
||||
, F_SIZE
|
||||
, F_TYPE
|
||||
, F_COURSE
|
||||
, F_REGDATE
|
||||
FROM
|
||||
GC_INTRANET_SMS_FILE
|
||||
WHERE 1=1
|
||||
AND F_SEQ = #{fSeq}
|
||||
</select>
|
||||
<!-- 매장 정보 조회 -->
|
||||
<select id="selectBOItrntMssageStrList" resultType="com.wb.domainserver.util.dataaccess.DataMap">
|
||||
SELECT
|
||||
GS.STR_INNB
|
||||
, GS.TENTCPN_ID
|
||||
, GS.TENTCPN_NM
|
||||
FROM GC_STORE GS
|
||||
WHERE 1=1
|
||||
AND GS.REPRSNT_BRAND = #{sopmalCd}
|
||||
AND GS.TENTCPN_ID != 'base'
|
||||
AND GS.MRHST_AT = 'Y'
|
||||
AND GS.REPRSNT_MNGR_AT = 'Y'
|
||||
ORDER BY GS.STR_INNB DESC
|
||||
</select>
|
||||
|
||||
</mapper>
|
||||
Reference in New Issue
Block a user