786 lines
20 KiB
XML
786 lines
20 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.domain.sure.mapper.SureMapper">
|
|
<!-- 대량 메시지 파일 등록 -->
|
|
<insert id="insertBOMssageSndngMmsContent"
|
|
parameterType="com.wb.domainserver.domain.gcone.ntcn.mssage.vo.BOMMSContentsVO">
|
|
INSERT INTO MMSContents
|
|
(
|
|
FILECNT
|
|
, FILEPATH1
|
|
, FILEPATH2
|
|
, FILEPATH3
|
|
, IMG_KEY
|
|
, LIMIT_DATE
|
|
)
|
|
VALUES
|
|
(
|
|
#{fileCnt}
|
|
, #{filePath1}
|
|
, #{filePath2}
|
|
, #{filePath3}
|
|
, #{imgKey}
|
|
, #{limitDate}
|
|
)
|
|
</insert>
|
|
<!-- SMS 슈어엠테이블 등록 -->
|
|
<insert id="insertBOMssageSureRegist"
|
|
useGeneratedKeys="true"
|
|
keyProperty="seqno"
|
|
parameterType="com.wb.domainserver.domain.gcone.ntcn.mssage.vo.BOSuremVO">
|
|
INSERT INTO SUREData (
|
|
INTIME
|
|
, USERCODE
|
|
, DEPTCODE
|
|
, BIZTYPE
|
|
, YELLOWID_KEY
|
|
, REQNAME
|
|
, REQPHONE
|
|
, CALLPHONE
|
|
, SUBJECT
|
|
, MSG
|
|
, REQTIME
|
|
, SENTTIME
|
|
, RECVTIME
|
|
, RESULT
|
|
, KIND
|
|
, FKCONTENT
|
|
, RETRY
|
|
, RESEND
|
|
, TEMPLATECODE
|
|
, RETEXT
|
|
, BTN_TYPE_01
|
|
, BTN_NM_01
|
|
, BTN_01_URL_01
|
|
, BTN_01_URL_02
|
|
, BTN_TYPE_02
|
|
, BTN_NM_02
|
|
, BTN_02_URL_01
|
|
, BTN_02_URL_02
|
|
, BTN_TYPE_03
|
|
, BTN_NM_03
|
|
, BTN_03_URL_01
|
|
, BTN_03_URL_02
|
|
, BTN_TYPE_04
|
|
, BTN_NM_04
|
|
, BTN_04_URL_01
|
|
, BTN_04_URL_02
|
|
, BTN_TYPE_05
|
|
, BTN_NM_05
|
|
, BTN_05_URL_01
|
|
, BTN_05_URL_02
|
|
, ETC1
|
|
, ETC2
|
|
, ETC3
|
|
, ETC4
|
|
, ETC5
|
|
, AGENT_FLAG
|
|
)
|
|
VALUES
|
|
<foreach collection="list" item="surem" index="index" separator=",">
|
|
(
|
|
DATE_FORMAT(NOW(), '%Y%m%d%H%i%s')
|
|
, #{surem.usercode}
|
|
, #{surem.deptcode}
|
|
, #{surem.biztype}
|
|
, #{surem.yellowidKey}
|
|
, #{surem.reqname}
|
|
, #{surem.reqphone}
|
|
, #{surem.callphone}
|
|
, #{surem.subject}
|
|
, #{surem.msg}
|
|
, #{surem.reqtime}
|
|
, #{surem.senttime}
|
|
, #{surem.recvtime}
|
|
, #{surem.result}
|
|
, #{surem.kind}
|
|
, #{surem.fkcontent}
|
|
, #{surem.retry}
|
|
, #{surem.resend}
|
|
, #{surem.templatecode}
|
|
, #{surem.retext}
|
|
, #{surem.btnType01}
|
|
, #{surem.btnNm01}
|
|
, #{surem.btn01url01}
|
|
, #{surem.btn01url02}
|
|
, #{surem.btnType02}
|
|
, #{surem.btnNm02}
|
|
, #{surem.btn02url01}
|
|
, #{surem.btn02url02}
|
|
, #{surem.btnType03}
|
|
, #{surem.btnNm03}
|
|
, #{surem.btn03url01}
|
|
, #{surem.btn03url02}
|
|
, #{surem.btnType04}
|
|
, #{surem.btnNm04}
|
|
, #{surem.btn04url01}
|
|
, #{surem.btn04url02}
|
|
, #{surem.btnType05}
|
|
, #{surem.btnNm05}
|
|
, #{surem.btn05url01}
|
|
, #{surem.btn05url02}
|
|
, #{surem.etc1}
|
|
, #{surem.etc2}
|
|
, #{surem.etc3}
|
|
, #{surem.etc4}
|
|
, #{surem.etc5}
|
|
, #{surem.agentFlag}
|
|
)
|
|
</foreach>
|
|
</insert>
|
|
<!-- SMS 슈어엠테이블 로그 등록 -->
|
|
<insert id="insertBOMssageSureLogRegist"
|
|
parameterType="com.wb.domainserver.domain.gcone.ntcn.mssage.vo.BOSuremVO">
|
|
<![CDATA[
|
|
INSERT INTO SUREData_log
|
|
]]>
|
|
(
|
|
SEQNO
|
|
, INTIME
|
|
, USERCODE
|
|
, DEPTCODE
|
|
, BIZTYPE
|
|
, YELLOWID_KEY
|
|
, REQNAME
|
|
, REQPHONE
|
|
, CALLPHONE
|
|
, SUBJECT
|
|
, MSG
|
|
, REQTIME
|
|
, SENTTIME
|
|
, RECVTIME
|
|
, RESULT
|
|
, KIND
|
|
, FKCONTENT
|
|
, RETRY
|
|
, RESEND
|
|
, TEMPLATECODE
|
|
, RETEXT
|
|
, BTN_TYPE_01
|
|
, BTN_NM_01
|
|
, BTN_01_URL_01
|
|
, BTN_01_URL_02
|
|
, BTN_TYPE_02
|
|
, BTN_NM_02
|
|
, BTN_02_URL_01
|
|
, BTN_02_URL_02
|
|
, BTN_TYPE_03
|
|
, BTN_NM_03
|
|
, BTN_03_URL_01
|
|
, BTN_03_URL_02
|
|
, BTN_TYPE_04
|
|
, BTN_NM_04
|
|
, BTN_04_URL_01
|
|
, BTN_04_URL_02
|
|
, BTN_TYPE_05
|
|
, BTN_NM_05
|
|
, BTN_05_URL_01
|
|
, BTN_05_URL_02
|
|
, ETC1
|
|
, ETC2
|
|
, ETC3
|
|
, ETC5
|
|
, AGENT_FLAG
|
|
)
|
|
VALUES
|
|
<foreach collection="list" item="surem" index="index" separator=",">
|
|
(
|
|
#{surem.seqno}
|
|
, DATE_FORMAT(NOW(), '%Y%m%d%H%i%s')
|
|
, #{surem.usercode}
|
|
, #{surem.deptcode}
|
|
, #{surem.biztype}
|
|
, #{surem.yellowidKey}
|
|
, #{surem.reqname}
|
|
, #{surem.reqphone}
|
|
, #{surem.callphone}
|
|
, #{surem.subject}
|
|
, #{surem.msg}
|
|
, #{surem.reqtime}
|
|
, #{surem.senttime}
|
|
, #{surem.recvtime}
|
|
, #{surem.result}
|
|
, #{surem.kind}
|
|
, #{surem.fkcontent}
|
|
, #{surem.retry}
|
|
, #{surem.resend}
|
|
, #{surem.templatecode}
|
|
, #{surem.retext}
|
|
, #{surem.btnType01}
|
|
, #{surem.btnNm01}
|
|
, #{surem.btn01url01}
|
|
, #{surem.btn01url02}
|
|
, #{surem.btnType02}
|
|
, #{surem.btnNm02}
|
|
, #{surem.btn02url01}
|
|
, #{surem.btn02url02}
|
|
, #{surem.btnType03}
|
|
, #{surem.btnNm03}
|
|
, #{surem.btn03url01}
|
|
, #{surem.btn03url02}
|
|
, #{surem.btnType04}
|
|
, #{surem.btnNm04}
|
|
, #{surem.btn04url01}
|
|
, #{surem.btn04url02}
|
|
, #{surem.btnType05}
|
|
, #{surem.btnNm05}
|
|
, #{surem.btn05url01}
|
|
, #{surem.btn05url02}
|
|
, #{surem.etc1}
|
|
, #{surem.etc2}
|
|
, #{surem.etc3}
|
|
, #{surem.etc5}
|
|
, #{surem.agentFlag}
|
|
)
|
|
</foreach>
|
|
</insert>
|
|
<!-- 슈어엠 등록 발송 등록번호 조회 -->
|
|
<select id="selectBOMssageSureSeqNo"
|
|
parameterType="dataMap"
|
|
resultType="dataMap">
|
|
<![CDATA[
|
|
SELECT
|
|
SEQNO
|
|
, CALLPHONE
|
|
, ETC2
|
|
, ETC5
|
|
, IFNULL(ERRCODE, '')
|
|
FROM
|
|
]]>
|
|
<choose>
|
|
<when test = "@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(yyyyMM)">
|
|
SUREData_log_${yyyyMM}
|
|
</when>
|
|
<when test = "@com.wb.domainserver.util.dataaccess.MybaitsUtil@isEmpty(yyyyMM)">
|
|
SUREData_log
|
|
</when>
|
|
</choose>
|
|
WHERE 1=1
|
|
<if test = "@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(srchSmsInnb)">
|
|
AND ETC2 = #{srchSmsInnb}
|
|
</if>
|
|
</select>
|
|
|
|
<select id="selectBOMssageSureSttusInqire"
|
|
resultType="dataMap">
|
|
<![CDATA[
|
|
SELECT
|
|
TB.STTUS
|
|
, TB.ERRCODE
|
|
, TB.SNDNG_IDNB
|
|
, TB.BIZTYPE
|
|
, TB.DV
|
|
, TB.FILE
|
|
, TB.SMS_INNB
|
|
, TB.SOPMAL_CD
|
|
FROM
|
|
(
|
|
SELECT
|
|
(
|
|
IF(RESULT = '0' OR RESULT = '1', 'WAIT',
|
|
IF(RESULT = 'R' AND (
|
|
REQTIME > DATE_FORMAT(DATE_ADD(NOW(), INTERVAL 5 MINUTE), '%Y%m%d%H%i%s')
|
|
AND REQTIME > '00000000000000'
|
|
), 'WAIT',
|
|
IF(RESULT = 'R' AND (
|
|
DATE_FORMAT(DATE_ADD(NOW(), INTERVAL 5 MINUTE), '%Y%m%d%H%i%s') >= REQTIME
|
|
AND REQTIME > '00000000000000'
|
|
), 'SEND',
|
|
IF(RESULT = 'Y', 'SEND',
|
|
IF(RESULT = 'X', 'CAN',
|
|
IF(RESULT = '2', 'OK', 'FAIL')
|
|
)
|
|
)
|
|
)
|
|
)
|
|
)
|
|
) AS STTUS
|
|
, ERRCODE
|
|
, SEQNO AS SNDNG_IDNB
|
|
, BIZTYPE AS BIZTYPE
|
|
, (
|
|
IF (SENTMEDIA IS NULL, KIND, SENTMEDIA)
|
|
) AS DV
|
|
, FKCONTENT AS FILE
|
|
, ETC2 AS SMS_INNB
|
|
, ETC5 AS SOPMAL_CD
|
|
FROM
|
|
SUREData
|
|
WHERE
|
|
SEQNO IN
|
|
]]>
|
|
<foreach item="item" index="index" collection="syncUpdtToList" open="(" separator="," close=")">
|
|
#{item.sndngIdnb}
|
|
</foreach>
|
|
<![CDATA[
|
|
UNION ALL
|
|
SELECT
|
|
(
|
|
IF(RESULT = 'X', 'CAN',
|
|
IF(RESULT = '2', 'OK', 'FAIL')
|
|
)
|
|
) AS STTUS
|
|
, ERRCODE
|
|
, SEQNO AS SNDNG_IDNB
|
|
, BIZTYPE AS BIZTYPE
|
|
, (
|
|
IF (SENTMEDIA IS NULL, KIND, SENTMEDIA)
|
|
) AS DV
|
|
, FKCONTENT AS FILE
|
|
, ETC2 AS SMS_INNB
|
|
, ETC5 AS SOPMAL_CD
|
|
]]>
|
|
<choose>
|
|
<when test = "@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(yyyyMM)">
|
|
SUREData_log_${yyyyMM}
|
|
</when>
|
|
<when test = "@com.wb.domainserver.util.dataaccess.MybaitsUtil@isEmpty(yyyyMM)">
|
|
SUREData_log
|
|
</when>
|
|
</choose>
|
|
WHERE
|
|
SEQNO IN
|
|
<foreach item="item" index="index" collection="syncUpdtToList" open="(" separator="," close=")">
|
|
#{item.sndngIdnb}
|
|
</foreach>
|
|
) TB
|
|
</select>
|
|
<!-- GC_SEND 슈어 등록-->
|
|
<insert id="insertBOMssageSendSureRegist"
|
|
useGeneratedKeys="true"
|
|
keyProperty="seqno">
|
|
INSERT INTO SUREData (
|
|
INTIME
|
|
, USERCODE
|
|
, DEPTCODE
|
|
, BIZTYPE
|
|
, YELLOWID_KEY
|
|
, REQNAME
|
|
, REQPHONE
|
|
, CALLNAME
|
|
, CALLPHONE
|
|
, REQTIME
|
|
, RESULT
|
|
, KIND
|
|
, SUBJECT
|
|
, MSG
|
|
, FKCONTENT
|
|
, TEMPLATECODE
|
|
, AGENT_FLAG
|
|
, ETC1
|
|
, ETC2
|
|
, ETC3
|
|
, ETC4
|
|
, ETC5
|
|
)
|
|
VALUES
|
|
(
|
|
DATE_FORMAT(NOW(), '%Y%m%d%H%i%s')
|
|
, #{usercode}
|
|
, #{deptcode}
|
|
, #{biztype}
|
|
, #{yellowidKey}
|
|
, #{reqname}
|
|
, #{reqphone}
|
|
, #{callname}
|
|
, #{callphone}
|
|
, #{reqtime}
|
|
, #{result}
|
|
, #{kind}
|
|
, #{subject}
|
|
, #{msg}
|
|
, #{fkcontent}
|
|
, #{templatecode}
|
|
, #{agentFlag}
|
|
, #{etc1}
|
|
, #{etc2}
|
|
, #{etc3}
|
|
, #{etc4}
|
|
, #{etc5}
|
|
)
|
|
</insert>
|
|
<!-- 대량 메세지 등록 -->
|
|
<insert id="insertBOMssageLgqySndngSureRegistOne"
|
|
useGeneratedKeys="true"
|
|
keyProperty="seqno"
|
|
parameterType="com.wb.domainserver.domain.gcone.ntcn.mssage.vo.BOLgqyMssageVO">
|
|
INSERT INTO SUREData (
|
|
INTIME
|
|
, USERCODE
|
|
, DEPTCODE
|
|
, BIZTYPE
|
|
, YELLOWID_KEY
|
|
, REQNAME
|
|
, REQPHONE
|
|
, CALLNAME
|
|
, CALLPHONE
|
|
, REQTIME
|
|
, RESULT
|
|
, KIND
|
|
, SUBJECT
|
|
, MSG
|
|
, FKCONTENT
|
|
, TEMPLATECODE
|
|
, AGENT_FLAG
|
|
, ETC1
|
|
, ETC2
|
|
, ETC3
|
|
, ETC4
|
|
, ETC5
|
|
)
|
|
VALUES
|
|
(
|
|
DATE_FORMAT(NOW(), '%Y%m%d%H%i%s')
|
|
, #{usercode}
|
|
, #{deptcode}
|
|
, #{biztype}
|
|
, #{yellowidKey}
|
|
, #{reqname}
|
|
, #{reqphone}
|
|
, #{callname}
|
|
, #{callphone}
|
|
, #{reqtime}
|
|
, #{result}
|
|
, #{kind}
|
|
, #{subject}
|
|
, #{msg}
|
|
, #{fkcontent}
|
|
, #{templatecode}
|
|
, #{agentFlag}
|
|
, #{etc1}
|
|
, #{etc2}
|
|
, #{etc3}
|
|
, #{etc4}
|
|
, #{etc5}
|
|
)
|
|
</insert>
|
|
|
|
<!-- 슈어엠 테이블 성공 조회 -->
|
|
<select id="selectBOMssageLgqySndngSureSuccInqire">
|
|
SELECT
|
|
SUM(S.CNT) CNT
|
|
, S.RECVTIME
|
|
FROM
|
|
(
|
|
SELECT
|
|
COUNT(SEQNO) CNT
|
|
, MIN(IF(CALLNAME='테스트', NULL, RECVTIME)) AS RECVTIME
|
|
FROM SUREData_log
|
|
WHERE
|
|
ETC1 = 'event:' + #{smsLgqySndngInnb}
|
|
AND RESULT = '2'
|
|
UNION ALL
|
|
SELECT
|
|
COUNT(SEQNO) CNT
|
|
, MIN(IF(CALLNAME='테스트', NULL, RECVTIME)) AS RECVTIME
|
|
FROM SUREData
|
|
WHERE
|
|
ETC1 = 'event:' + #{smsLgqySndngInnb}
|
|
AND RESULT = '2'
|
|
) S
|
|
GROUP BY
|
|
S.RECVTIME
|
|
</select>
|
|
<!-- 슈어 정산 계산 -->
|
|
<select id="selectBOMaStlMssageChargeList" resultType="dataMap">
|
|
<!-- 매장 제외 정산 -->
|
|
<![CDATA[
|
|
SELECT
|
|
A.*
|
|
FROM
|
|
(
|
|
SELECT
|
|
TB.REGUSR
|
|
, SUM(CASE WHEN TB.SENTMEDIA = 'S' THEN TB.CNT ELSE 0 END) AS SMS
|
|
, SUM(CASE WHEN TB.SENTMEDIA = 'M' AND TB.FKCONTENT = 0 OR TB.FKCONTENT IS NULL THEN TB.CNT ELSE 0 END) AS LMS
|
|
, SUM(CASE WHEN TB.SENTMEDIA = 'M' AND TB.FKCONTENT > 0 THEN TB.CNT ELSE 0 END) AS MMS
|
|
, SUM(CASE WHEN TB.SENTMEDIA = 'T' AND TB.BIZTYPE IN ('at', 'ai') THEN TB.CNT ELSE 0 END) AS AT
|
|
, SUM(CASE WHEN TB.SENTMEDIA = 'T' AND TB.BIZTYPE = 'ft' THEN TB.CNT ELSE 0 END) AS FT
|
|
, SUM(CASE WHEN TB.SENTMEDIA = 'T' AND TB.FKCONTENT > 0 THEN TB.CNT ELSE 0 END) AS FTI
|
|
, TB.USERCODE
|
|
FROM (
|
|
SELECT
|
|
SUBSTRING_INDEX(ETC1, ':', 1) AS REGUSR
|
|
, BIZTYPE
|
|
, SENTMEDIA
|
|
, FKCONTENT
|
|
, COUNT(*) AS CNT
|
|
, SUBSTRING_INDEX(USERCODE, '0', 1) AS USERCODE
|
|
]]>
|
|
<choose>
|
|
<when test = "@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(srchYm)">
|
|
SUREData_log_${srchYm}
|
|
</when>
|
|
<when test = "@com.wb.domainserver.util.dataaccess.MybaitsUtil@isEmpty(srchYm)">
|
|
FROM SUREData_log
|
|
</when>
|
|
</choose>
|
|
<![CDATA[
|
|
WHERE 1=1
|
|
-- 2 실제 발송 성공시 개발에서 주석
|
|
AND RESULT = 2
|
|
AND SUBSTRING_INDEX(ETC1, ':', 1) <> '04'
|
|
GROUP BY ETC1, BIZTYPE, SENTMEDIA, FKCONTENT, USERCODE
|
|
) TB
|
|
GROUP BY TB.REGUSR, TB.USERCODE
|
|
UNION ALL
|
|
-- 매장 목록
|
|
SELECT
|
|
TB.REGUSR
|
|
, SUM(CASE WHEN TB.SENTMEDIA = 'S' THEN TB.CNT ELSE 0 END) AS SMS
|
|
, SUM(CASE WHEN TB.SENTMEDIA = 'M' AND TB.FKCONTENT = 0 OR TB.FKCONTENT IS NULL THEN TB.CNT ELSE 0 END) AS LMS
|
|
, SUM(CASE WHEN TB.SENTMEDIA = 'M' AND TB.FKCONTENT > 0 THEN TB.CNT ELSE 0 END) AS MMS
|
|
, SUM(CASE WHEN TB.SENTMEDIA = 'T' AND TB.BIZTYPE IN ('at', 'ai') THEN TB.CNT ELSE 0 END) AS AT
|
|
, SUM(CASE WHEN TB.SENTMEDIA = 'T' AND TB.BIZTYPE = 'ft' THEN TB.CNT ELSE 0 END) AS FT
|
|
, SUM(CASE WHEN TB.SENTMEDIA = 'T' AND TB.FKCONTENT > 0 THEN TB.CNT ELSE 0 END) AS FTI
|
|
, TB.USERCODE
|
|
FROM (
|
|
SELECT
|
|
ETC1 AS REGUSR
|
|
, BIZTYPE
|
|
, SENTMEDIA
|
|
, FKCONTENT
|
|
, COUNT(*) AS CNT
|
|
, SUBSTRING_INDEX(USERCODE, '0', 1) AS USERCODE
|
|
FROM SUREData_log
|
|
WHERE 1=1
|
|
-- 2 실제 발송 성공시 개발에서 주석
|
|
AND RESULT = 2
|
|
AND SUBSTRING_INDEX(ETC1, ':', 1) = '04'
|
|
GROUP BY ETC1, BIZTYPE, SENTMEDIA , FKCONTENT, USERCODE
|
|
) TB
|
|
GROUP BY TB.REGUSR, TB.USERCODE
|
|
) A
|
|
WHERE 1=1
|
|
]]>
|
|
<if test = "@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(regusrDv)">
|
|
AND SUBSTRING_INDEX(A.REGUSR, ':', 1) = #{regusrDv}
|
|
</if>
|
|
<if test = "@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(strInnb)">
|
|
AND SUBSTRING_INDEX(A.REGUSR, ':', 2) = #{strInnb}
|
|
</if>
|
|
<if test = "@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(srchCrp)">
|
|
AND A.USERCODE = #{srchCrp}
|
|
</if>
|
|
</select>
|
|
|
|
|
|
<select id="selectBOMaStlSureList"
|
|
resultType="dataMap">
|
|
SELECT
|
|
CASE
|
|
WHEN A.USERCODE = 'gcbio02' THEN '지씨바이오'
|
|
WHEN A.USERCODE = 'tradithbio02' THEN '트래디스바이오'
|
|
WHEN A.USERCODE = 'divinebio02' THEN '디바인바이오'
|
|
WHEN A.USERCODE = 'slbiotech02' THEN '에스엘바이오텍'
|
|
WHEN A.USERCODE = 'naturefull02' THEN '네이처풀'
|
|
WHEN A.USERCODE = 'cosnature02' THEN '코스네이처'
|
|
END
|
|
AS MT_REFKEY
|
|
, CASE
|
|
WHEN A.USERCODE = 'gcbio02' THEN 'GC'
|
|
WHEN A.USERCODE = 'tradithbio02' THEN 'TB'
|
|
WHEN A.USERCODE = 'divinebio02' THEN 'DB'
|
|
WHEN A.USERCODE = 'slbiotech02' THEN 'SL'
|
|
WHEN A.USERCODE = 'naturefull02' THEN 'NP'
|
|
WHEN A.USERCODE = 'cosnature02' THEN 'CN'
|
|
END
|
|
AS REFKEY
|
|
, SERVICE_TYPE
|
|
, CNT
|
|
FROM (
|
|
SELECT
|
|
B.USERCODE
|
|
, B.SERVICE_TYPE
|
|
, COUNT(*) as CNT
|
|
FROM (
|
|
SELECT
|
|
SEQNO
|
|
, USERCODE
|
|
, CASE
|
|
WHEN SENTMEDIA = 'S' THEN 'sms'
|
|
WHEN SENTMEDIA = 'M' AND FKCONTENT IS NULL THEN 'lms'
|
|
WHEN SENTMEDIA = 'M' AND FKCONTENT IS NOT NULL THEN 'mms'
|
|
WHEN SENTMEDIA = 'T' AND BIZTYPE = 'at' THEN 'at'
|
|
WHEN SENTMEDIA = 'T' AND BIZTYPE = 'ai' THEN 'ai'
|
|
WHEN SENTMEDIA = 'T' AND BIZTYPE = 'ft' AND FKCONTENT IS NULL THEN 'ft'
|
|
WHEN SENTMEDIA = 'T' AND BIZTYPE = 'ft' AND FKCONTENT IS NOT NULL THEN 'fti'
|
|
END
|
|
AS SERVICE_TYPE
|
|
FROM SUREData_log_${ym}
|
|
WHERE 1=1
|
|
AND RESULT = 2
|
|
GROUP BY SEQNO
|
|
) B
|
|
GROUP BY B.USERCODE, B.SERVICE_TYPE
|
|
) A
|
|
</select>
|
|
<select id="selectBOAtmcSendSureSeqNo"
|
|
resultType="dataMap">
|
|
<![CDATA[
|
|
SELECT
|
|
SEQNO
|
|
, CALLPHONE
|
|
, ETC2
|
|
, ETC5
|
|
, IFNULL(ERRCODE, '')
|
|
FROM
|
|
]]>
|
|
<choose>
|
|
<when test = "@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(yyyyMM)">
|
|
SUREData_log_${yyyyMM}
|
|
</when>
|
|
<when test = "@com.wb.domainserver.util.dataaccess.MybaitsUtil@isEmpty(yyyyMM)">
|
|
SUREData
|
|
</when>
|
|
</choose>
|
|
WHERE 1=1
|
|
<if test = "@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(srchSmsInnb)">
|
|
AND ETC2 = #{srchSmsInnb}
|
|
</if>
|
|
ORDER BY SEQNO DESC
|
|
LIMIT 1
|
|
</select>
|
|
<!-- 인트라넷 정산 -->
|
|
<select id="selectBOItrntStlMssageChargeList" resultType="dataMap">
|
|
<!-- 매장 제외 정산 -->
|
|
<![CDATA[
|
|
SELECT
|
|
A.*
|
|
FROM
|
|
(
|
|
SELECT
|
|
TB.REGUSR
|
|
, SUM(CASE WHEN TB.SENTMEDIA = 'S' THEN TB.CNT ELSE 0 END) AS SMS
|
|
, SUM(CASE WHEN TB.SENTMEDIA = 'M' AND TB.FKCONTENT = 0 OR TB.FKCONTENT IS NULL THEN TB.CNT ELSE 0 END) AS LMS
|
|
, SUM(CASE WHEN TB.SENTMEDIA = 'M' AND TB.FKCONTENT > 0 THEN TB.CNT ELSE 0 END) AS MMS
|
|
, SUM(CASE WHEN TB.SENTMEDIA = 'T' AND TB.BIZTYPE IN ('at', 'ai') THEN TB.CNT ELSE 0 END) AS AT
|
|
, SUM(CASE WHEN TB.SENTMEDIA = 'T' AND TB.BIZTYPE = 'ft' THEN TB.CNT ELSE 0 END) AS FT
|
|
, SUM(CASE WHEN TB.SENTMEDIA = 'T' AND TB.FKCONTENT > 0 THEN TB.CNT ELSE 0 END) AS FTI
|
|
, TB.USERCODE
|
|
FROM (
|
|
SELECT
|
|
SUBSTRING_INDEX(ETC1, ':', 1) AS REGUSR
|
|
, BIZTYPE
|
|
, SENTMEDIA
|
|
, FKCONTENT
|
|
, COUNT(*) AS CNT
|
|
, SUBSTRING_INDEX(USERCODE, '0', 1) AS USERCODE
|
|
FROM SUREData_log
|
|
WHERE 1=1
|
|
-- 2 실제 발송 성공시 개발에서 주석
|
|
AND RESULT = 2
|
|
AND SUBSTRING_INDEX(ETC1, ':', 1) <> '04'
|
|
GROUP BY ETC1, BIZTYPE, SENTMEDIA, FKCONTENT, USERCODE
|
|
) TB
|
|
GROUP BY TB.REGUSR, TB.USERCODE
|
|
UNION ALL
|
|
-- 매장 목록
|
|
SELECT
|
|
TB.REGUSR
|
|
, SUM(CASE WHEN TB.SENTMEDIA = 'S' THEN TB.CNT ELSE 0 END) AS SMS
|
|
, SUM(CASE WHEN TB.SENTMEDIA = 'M' AND TB.FKCONTENT = 0 OR TB.FKCONTENT IS NULL THEN TB.CNT ELSE 0 END) AS LMS
|
|
, SUM(CASE WHEN TB.SENTMEDIA = 'M' AND TB.FKCONTENT > 0 THEN TB.CNT ELSE 0 END) AS MMS
|
|
, SUM(CASE WHEN TB.SENTMEDIA = 'T' AND TB.BIZTYPE IN ('at', 'ai') THEN TB.CNT ELSE 0 END) AS AT
|
|
, SUM(CASE WHEN TB.SENTMEDIA = 'T' AND TB.BIZTYPE = 'ft' THEN TB.CNT ELSE 0 END) AS FT
|
|
, SUM(CASE WHEN TB.SENTMEDIA = 'T' AND TB.FKCONTENT > 0 THEN TB.CNT ELSE 0 END) AS FTI
|
|
, TB.USERCODE
|
|
FROM (
|
|
SELECT
|
|
ETC1 AS REGUSR
|
|
, BIZTYPE
|
|
, SENTMEDIA
|
|
, FKCONTENT
|
|
, COUNT(*) AS CNT
|
|
, SUBSTRING_INDEX(USERCODE, '0', 1) AS USERCODE
|
|
FROM SUREData_log
|
|
WHERE 1=1
|
|
-- 2 실제 발송 성공시 개발에서 주석
|
|
AND RESULT = 2
|
|
AND SUBSTRING_INDEX(ETC1, ':', 1) = '04'
|
|
GROUP BY ETC1, BIZTYPE, SENTMEDIA , FKCONTENT, USERCODE
|
|
) TB
|
|
GROUP BY TB.REGUSR, TB.USERCODE
|
|
) A
|
|
WHERE 1=1
|
|
]]>
|
|
<if test = "@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(regusrDv)">
|
|
AND SUBSTRING_INDEX(A.REGUSR, ':', 1) = #{regusrDv}
|
|
</if>
|
|
<if test = "@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(strInnb)">
|
|
AND SUBSTRING_INDEX(A.REGUSR, ':', 2) = #{strInnb}
|
|
</if>
|
|
<if test = "@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(srchCrp)">
|
|
AND A.USERCODE = #{srchCrp}
|
|
</if>
|
|
</select>
|
|
|
|
<!-- SMS 정산 내역 추출 -->
|
|
<select id="selectSmsBillingList">
|
|
select
|
|
case
|
|
WHEN A.USERCODE = 'gcbio02' THEN '지씨바이오'
|
|
WHEN A.USERCODE = 'tradithbio02' THEN '트래디스바이오'
|
|
WHEN A.USERCODE = 'divinebio02' THEN '디바인바이오'
|
|
WHEN A.USERCODE = 'slbiotech02' THEN '에스엘바이오텍'
|
|
WHEN A.USERCODE = 'naturefull02' THEN '네이처풀'
|
|
WHEN A.USERCODE = 'cosnature02' THEN '코스네이처'
|
|
WHEN A.USERCODE = 'inssoft02' THEN '아이엔에스소프트'
|
|
WHEN A.USERCODE = 'feednature02' THEN '위너스바이오'
|
|
END
|
|
AS mt_refkey,
|
|
case
|
|
WHEN A.USERCODE = 'gcbio02' THEN 'GC'
|
|
WHEN A.USERCODE = 'tradithbio02' THEN 'TB'
|
|
WHEN A.USERCODE = 'divinebio02' THEN 'DB'
|
|
WHEN A.USERCODE = 'slbiotech02' THEN 'SL'
|
|
WHEN A.USERCODE = 'naturefull02' THEN 'NP'
|
|
WHEN A.USERCODE = 'cosnature02' THEN 'CN'
|
|
WHEN A.USERCODE = 'inssoft02' THEN 'IS'
|
|
WHEN A.USERCODE = 'feednature02' THEN 'FN'
|
|
END
|
|
AS refkey,
|
|
service_type,
|
|
cnt,
|
|
ETC1 as etc1
|
|
from (
|
|
select USERCODE, service_type, ETC1 ,count(*) as cnt from (
|
|
select SEQNO, USERCODE,
|
|
CASE
|
|
WHEN SENTMEDIA = 'S' THEN 'sms'
|
|
WHEN SENTMEDIA = 'M' and (FKCONTENT is null or FKCONTENT = 0) THEN 'lms'
|
|
WHEN SENTMEDIA = 'M' and FKCONTENT > 0 THEN 'mms'
|
|
WHEN SENTMEDIA = 'T' and BIZTYPE = 'at' OR BIZTYPE = 'ai' THEN 'at'
|
|
WHEN SENTMEDIA = 'T' and BIZTYPE = 'ft' and FKCONTENT is null THEN 'ft'
|
|
WHEN SENTMEDIA = 'T' and BIZTYPE = 'ft' and FKCONTENT is not null THEN 'fti'
|
|
END
|
|
as service_type,
|
|
ETC1
|
|
from ${sureData}
|
|
where RESULT = 2
|
|
and USERCODE = #{userCode}
|
|
group by SEQNO
|
|
) B
|
|
group by B.USERCODE, service_type, ETC1
|
|
) A
|
|
</select>
|
|
|
|
<!-- 슈어엠 등록 정보 삭제 -->
|
|
<delete id="deleteSureDataMssageList">
|
|
DELETE
|
|
FROM SUREData
|
|
WHERE 1=1
|
|
AND ETC2 = #{etc2}
|
|
AND ETC5 = #{etc5}
|
|
</delete>
|
|
|
|
<delete id="deleteSureDataMssage">
|
|
DELETE
|
|
FROM SUREData
|
|
WHERE 1=1
|
|
AND ETC2 = #{etc2}
|
|
AND ETC3 = #{etc3}
|
|
AND ETC5 = #{etc5}
|
|
</delete>
|
|
|
|
</mapper> |