알림톡 발송결과 성능 개선
This commit is contained in:
parent
04dc4c5d34
commit
91914a2cf5
@ -290,6 +290,7 @@ public class KakaoSentServiceImpl extends EgovAbstractServiceImpl implements Ka
|
|||||||
//성공 건수 세팅
|
//성공 건수 세팅
|
||||||
KakaoSentVO eachCnt = new KakaoSentVO();
|
KakaoSentVO eachCnt = new KakaoSentVO();
|
||||||
eachCnt.setMsgGroupId(result.getMsgGroupId());
|
eachCnt.setMsgGroupId(result.getMsgGroupId());
|
||||||
|
eachCnt.setBizKakaoResendYn("Y".equals(result.getBizKakaoResendYn()) ? "Y" : "N");
|
||||||
try {
|
try {
|
||||||
eachCnt = kakaoSentDAO.selectKakaoSentCntEachCnt_advc(eachCnt);
|
eachCnt = kakaoSentDAO.selectKakaoSentCntEachCnt_advc(eachCnt);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
|
|||||||
@ -1664,81 +1664,48 @@
|
|||||||
|
|
||||||
<select id="KakaoSentDAO.selectKakaoSentCntEachCnt_advc" parameterClass="kakaoSentVO" resultClass="kakaoSentVO">
|
<select id="KakaoSentDAO.selectKakaoSentCntEachCnt_advc" parameterClass="kakaoSentVO" resultClass="kakaoSentVO">
|
||||||
SELECT
|
SELECT
|
||||||
a.MSG_GROUP_ID AS msgGroupId,
|
a.MSG_GROUP_ID AS msgGroupId
|
||||||
a.successCount,
|
, a.successCount
|
||||||
a.waitCount,
|
, a.waitCount
|
||||||
a.failCount,
|
, a.failCount
|
||||||
a.kakaoResendSuccCount,
|
, a.divideYn
|
||||||
a.kakaoResendFailCount,
|
<isEqual property="bizKakaoResendYn" compareValue="Y">
|
||||||
a.successCount * bkp.BIZ_KAKAO_AT_PRICE AS successPrice,
|
, a.kakaoResendSuccCount
|
||||||
(a.smsCnt * bkp.BIZ_SMS_PRICE) + (a.mmsCnt * bkp.BIZ_MMS_PRICE) AS kakaoResendSuccPrice,
|
, a.kakaoResendFailCount
|
||||||
a.divideYn
|
, a.successCount * bkp.BIZ_KAKAO_AT_PRICE AS successPrice
|
||||||
|
, (a.smsCnt * bkp.BIZ_SMS_PRICE) + (a.mmsCnt * bkp.BIZ_MMS_PRICE) AS kakaoResendSuccPrice
|
||||||
|
</isEqual>
|
||||||
|
<isNotEqual property="bizKakaoResendYn" compareValue="Y">
|
||||||
|
, 0 AS kakaoResendSuccCount
|
||||||
|
, 0 AS kakaoResendFailCount
|
||||||
|
, 0 AS successPrice
|
||||||
|
, 0 AS kakaoResendSuccPrice
|
||||||
|
</isNotEqual>
|
||||||
FROM (
|
FROM (
|
||||||
SELECT
|
SELECT
|
||||||
t1.MSG_GROUP_ID,
|
t1.MSG_GROUP_ID
|
||||||
SUM(IF(t1.RESERVE_C_YN = 'N' AND t1.RSLT_CODE = '7000', 1, 0)) AS successCount,
|
, SUM(IF(t1.RESERVE_C_YN = 'N' AND t1.RSLT_CODE = '7000', 1, 0)) AS successCount
|
||||||
SUM(IF(t1.RESERVE_C_YN = 'N' AND t1.RSLT_CODE IS NULL AND t1.SENT_DATE IS NULL AND t1.RSLT_DATE IS NULL, 1, 0)) AS waitCount,
|
, SUM(IF(t1.RESERVE_C_YN = 'N' AND t1.RSLT_CODE IS NULL AND t1.SENT_DATE IS NULL AND t1.RSLT_DATE IS NULL, 1,0)) AS waitCount
|
||||||
SUM(IF(t1.RESERVE_C_YN = 'N' AND t1.RSLT_CODE != '7000' AND t1.RSLT_CODE IS NOT NULL, 1, 0)) AS failCount,
|
, SUM(IF(t1.RESERVE_C_YN = 'N' AND t1.RSLT_CODE != '7000' AND t1.RSLT_CODE IS NOT NULL, 1, 0)) AS failCount
|
||||||
SUM(IF(t1.BIZ_KAKAO_RESEND_YN = 'Y'
|
, CASE
|
||||||
AND BL1.CALL_STATUS IN ('6600', '4100'), 1, 0)) AS kakaoResendSuccCount,
|
WHEN COUNT(DISTINCT t1.REQ_DATE) > 1 THEN 'Y'
|
||||||
( SELECT COUNT(0)
|
ELSE 'N'
|
||||||
FROM BIZ_LOG BL1,
|
END AS divideYN
|
||||||
MJ_MSG_DATA MMD1
|
<isEqual property="bizKakaoResendYn" compareValue="Y">
|
||||||
WHERE t1.BIZ_KAKAO_RESEND_YN = 'Y'
|
, SUM(IF(t1.BIZ_KAKAO_RESEND_YN = 'Y' AND BL1.CALL_STATUS IN ('6600', '4100'), 1,0)) AS kakaoResendSuccCount
|
||||||
AND t1.MSG_GROUP_ID = MMD1.MSG_GROUP_ID
|
, SUM(IF(t1.BIZ_KAKAO_RESEND_YN = 'Y' AND BL1.CALL_STATUS not IN ('6600', '4100'), 1,0)) AS kakaoResendFailCount
|
||||||
AND MMD1.BIZ_UMID = BL1.CMID
|
, SUM(IF(t1.BIZ_KAKAO_RESEND_YN = 'Y' AND BL1.CALL_STATUS IN ('6600', '4100') AND t1.BIZ_KAKAO_RESEND_TYPE = 'SMS', 1, 0)) AS smsCnt
|
||||||
AND (
|
, SUM(IF(t1.BIZ_KAKAO_RESEND_YN = 'Y' AND BL1.CALL_STATUS IN ('6600', '4100') AND t1.BIZ_KAKAO_RESEND_TYPE = 'MMS', 1, 0)) AS mmsCnt
|
||||||
CASE
|
</isEqual>
|
||||||
WHEN BL1.CALL_STATUS IN ('6600',
|
|
||||||
'4100')
|
|
||||||
THEN 'S'
|
|
||||||
ELSE 'F'
|
|
||||||
END ) = 'F'
|
|
||||||
)
|
|
||||||
kakaoResendFailCount,
|
|
||||||
( SELECT COUNT(0)
|
|
||||||
FROM BIZ_LOG BL1,
|
|
||||||
MJ_MSG_DATA MMD1
|
|
||||||
WHERE t1.BIZ_KAKAO_RESEND_YN = 'Y'
|
|
||||||
AND t1.MSG_GROUP_ID = MMD1.MSG_GROUP_ID
|
|
||||||
AND MMD1.BIZ_UMID = BL1.CMID
|
|
||||||
AND (
|
|
||||||
CASE
|
|
||||||
WHEN BL1.CALL_STATUS IN ('6600',
|
|
||||||
'4100')
|
|
||||||
THEN 'S'
|
|
||||||
ELSE 'F'
|
|
||||||
END ) = 'S'
|
|
||||||
AND MMD1.BIZ_KAKAO_RESEND_TYPE = 'SMS'
|
|
||||||
)
|
|
||||||
smsCnt,
|
|
||||||
( SELECT COUNT(0)
|
|
||||||
FROM BIZ_LOG BL1,
|
|
||||||
MJ_MSG_DATA MMD1
|
|
||||||
WHERE t1.BIZ_KAKAO_RESEND_YN = 'Y'
|
|
||||||
AND t1.MSG_GROUP_ID = MMD1.MSG_GROUP_ID
|
|
||||||
AND MMD1.BIZ_UMID = BL1.CMID
|
|
||||||
AND (
|
|
||||||
CASE
|
|
||||||
WHEN BL1.CALL_STATUS IN ('6600',
|
|
||||||
'4100')
|
|
||||||
THEN 'S'
|
|
||||||
ELSE 'F'
|
|
||||||
END ) = 'S'
|
|
||||||
AND MMD1.BIZ_KAKAO_RESEND_TYPE = 'MMS'
|
|
||||||
)
|
|
||||||
mmsCnt,
|
|
||||||
CASE
|
|
||||||
WHEN COUNT(DISTINCT t1.REQ_DATE) > 1 THEN 'Y'
|
|
||||||
ELSE 'N'
|
|
||||||
END AS divideYN
|
|
||||||
FROM mj_msg_data t1 FORCE INDEX (idx_msgdata_groupid_delfalg_msgtype_curstate)
|
FROM mj_msg_data t1 FORCE INDEX (idx_msgdata_groupid_delfalg_msgtype_curstate)
|
||||||
LEFT OUTER JOIN BIZ_LOG BL1 ON t1.BIZ_UMID = BL1.CMID
|
<isEqual property="bizKakaoResendYn" compareValue="Y">
|
||||||
|
LEFT OUTER JOIN BIZ_LOG BL1 ON t1.BIZ_UMID = BL1.CMID
|
||||||
|
</isEqual>
|
||||||
WHERE
|
WHERE
|
||||||
t1.DEL_FLAG = 'N'
|
t1.MSG_GROUP_ID = #msgGroupId#
|
||||||
AND t1.MSG_TYPE IN ('8', '9')
|
AND t1.MSG_TYPE IN ('8', '9')
|
||||||
AND t1.CUR_STATE IN ('0', '1', '2', '3')
|
AND t1.CUR_STATE IN ('0', '1', '2', '3')
|
||||||
AND t1.MSG_GROUP_ID = #msgGroupId#
|
AND t1.DEL_FLAG = 'N'
|
||||||
GROUP BY t1.MSG_GROUP_ID
|
GROUP BY t1.MSG_GROUP_ID
|
||||||
) a
|
) a
|
||||||
LEFT OUTER JOIN BIZ_KAKAO_PRICE bkp ON bkp.MSG_GROUP_ID = a.MSG_GROUP_ID
|
LEFT OUTER JOIN BIZ_KAKAO_PRICE bkp ON bkp.MSG_GROUP_ID = a.MSG_GROUP_ID
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user