알림톡 예약관리 쿼리 개선

This commit is contained in:
itn 2023-06-19 10:54:06 +09:00
parent 1dac2a491a
commit 81c999966c
3 changed files with 263 additions and 224 deletions

View File

@ -20,6 +20,7 @@ import itn.com.cmm.ComDefaultCodeVO;
import itn.com.cmm.LoginVO;
import itn.com.cmm.service.EgovCmmUseService;
import itn.com.cmm.service.FileVO;
import itn.com.cmm.util.MJUtil;
import itn.com.cmm.util.StringUtil;
import itn.let.kakao.admin.kakaoAt.service.ChannelIDVO;
import itn.let.kakao.admin.kakaoAt.service.MjonKakaoATService;
@ -231,7 +232,15 @@ public class MjonKakaoATController {
kakaoVO.setReserveCYn("N");//예약취소건은 제외하기
// 문자발송 완료건은 모두 보이도록 처리
//kakaoVO.setMsgType("8");
resultList = mjonKakaoATService.selectMjonKakaoATGroupCompleteList(kakaoVO);
// 기간검색 설정
String toDay = MJUtil.getTodayDate(); //오늘
String beforeMonthDay = MJUtil.getBefore1MonthDate(); //한달
if (null == kakaoVO.getNtceBgnde() || kakaoVO.getNtceBgnde().equals("")) {
kakaoVO.setNtceBgnde(beforeMonthDay);
}
resultList = mjonKakaoATService.selectMjonKakaoATGroupCompleteByUserList(kakaoVO);
model.addAttribute("resultList", resultList);

View File

@ -78,7 +78,6 @@ import itn.let.cop.bbs.service.BoardVO;
import itn.let.fax.user.service.FaxGroupDataVO;
import itn.let.fax.user.service.FaxService;
import itn.let.kakao.admin.kakaoAt.service.ChannelIDVO;
import itn.let.kakao.admin.kakaoAt.service.MjonKakaoATSentVO;
import itn.let.kakao.admin.kakaoAt.service.MjonKakaoATService;
import itn.let.kakao.kakaoComm.KakaoReturnVO;
import itn.let.kakao.kakaoComm.KakaoVO;
@ -1168,8 +1167,8 @@ public class EgovUserManageController {
* 최근 알리톡/친구톡 전송 내역
* */
//최근 발송 문자 내용 불러오기 - 최근 3개 내역만
List<MjonKakaoATSentVO> mjonKakaoATSentList = mjonKakaoATService.selectMberKakaoATSentLatestList(userId);
model.addAttribute("mjonKakaoATSentList", mjonKakaoATSentList);
//List<MjonKakaoATSentVO> mjonKakaoATSentList = mjonKakaoATService.selectMberKakaoATSentLatestList(userId);
//model.addAttribute("mjonKakaoATSentList", mjonKakaoATSentList);
}
{

View File

@ -208,7 +208,6 @@
LEFT JOIN MJ_KAKAO_PROFILE_INFO MKPI
ON M.MSG_NOTICETALK_SENDER_KEY = MKPI.SENDER_KEY
AND MKPI.USER_ID = M.USER_ID
AND MKPI.DELETE_YN = 'N'
LEFT JOIN LETTNGNRLMBER LTM
ON M.USER_ID = LTM.MBER_ID
LEFT JOIN BIZ_LOG BL
@ -519,7 +518,6 @@
LEFT JOIN MJ_KAKAO_PROFILE_INFO MKPI
ON M.MSG_NOTICETALK_SENDER_KEY = MKPI.SENDER_KEY
AND MKPI.USER_ID = M.USER_ID
AND MKPI.DELETE_YN = 'N'
LEFT JOIN LETTNGNRLMBER LTM
ON M.USER_ID = LTM.MBER_ID
LEFT JOIN BIZ_LOG BL
@ -1028,6 +1026,109 @@
<!-- 알림톡 예약 발송 리스트 -->
<select id="mjonKakaoATDAO.selectReserveMjonKakaoATGroupList" parameterClass="kakaoVO" resultClass="kakaoVO">
/* mjonKakaoATDAO.selectMjonKakaoATGroupList - 알림톡 예약조회 */
SELECT
M2.totCnt ,
M2.userId ,
M2.msgGroupId ,
M2.msgGroupCnt ,
M2.smsTxt ,
M2.subject ,
M2.regDate ,
M2.reqDate ,
M2.rsltDate ,
M2.callFrom ,
M2.callTo ,
M2.totPrice ,
M2.eachPrice ,
M2.curState ,
M2.rsltCode ,
M2.rsltCode2 ,
M2.orderByrsltCode ,
M2.delFlag ,
M2.msgType ,
M2.fileCnt ,
M2.agentCode ,
M2.reserveYn ,
M2.reserveCYn ,
M2.cancelDate ,
M2.msgTypeName ,
M2.orderByCode ,
M2.msgResult ,
M2.msgNoticetalkSenderKey ,
M2.msgNoticetalkTmpKey ,
M2.yellowId ,
M2.userNm ,
( SELECT COUNT(0)
FROM MJ_MSG_DATA C
WHERE C.DEL_FLAG = 'N'
AND C.RESERVE_C_YN = 'N'
AND C.MSG_GROUP_ID = M2.msgGroupId
AND C.RSLT_CODE = '7000'
) AS successCount ,
( SELECT COUNT(0)
FROM MJ_MSG_DATA C
WHERE C.DEL_FLAG = 'N'
AND C.RESERVE_C_YN = 'N'
AND C.MSG_GROUP_ID = M2.msgGroupId
AND C.RSLT_CODE = '7000'
AND C.MSG_TYPE = '8'
) AS atSuccessCount ,
( SELECT COUNT(0)
FROM MJ_MSG_DATA C
WHERE C.DEL_FLAG = 'N'
AND C.RESERVE_C_YN = 'N'
AND C.MSG_GROUP_ID = M2.msgGroupId
AND C.RSLT_CODE != '7000'
AND C.MSG_TYPE = '8'
) AS atFailCount ,
<!-- ( SELECT COUNT(0)
FROM MJ_MSG_DATA C
WHERE C.DEL_FLAG = 'N'
AND C.RESERVE_C_YN = 'N'
AND C.MSG_GROUP_ID = M2.msgGroupId
AND C.RSLT_CODE = '7000'
AND C.MSG_TYPE = '9'
) AS ftSuccessCount ,
( SELECT COUNT(0)
FROM MJ_MSG_DATA C
WHERE C.DEL_FLAG = 'N'
AND C.RESERVE_C_YN = 'N'
AND C.MSG_GROUP_ID = M2.msgGroupId
AND C.RSLT_CODE != '7000'
AND C.MSG_TYPE = '9'
) AS ftFailCount ,-->
'0' AS ftSuccessCount,
'0' AS ftFailCount,
M2.bizUmid,
M2.callStatus,
M2.bizKakaoResendYn,
( SELECT COUNT(0)
FROM BIZ_LOG BL1,
MJ_MSG_DATA MMD1
WHERE M2.bizKakaoResendYn = 'Y'
AND M2.msgGroupId = 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'
) kakaoResendSuccCount,
( SELECT COUNT(0)
FROM BIZ_LOG BL1,
MJ_MSG_DATA MMD1
WHERE M2.bizKakaoResendYn = 'Y'
AND M2.msgGroupId = MMD1.MSG_GROUP_ID
AND MMD1.BIZ_UMID = BL1.CMID
AND (
CASE
WHEN BL1.CALL_STATUS in ('6600','4100')
THEN 'S'
ELSE 'F'
END ) = 'F'
) kakaoResendFailCount
FROM (
SELECT
COUNT(M.USER_ID) OVER() AS totCnt ,
M.USER_ID AS userId ,
@ -1060,40 +1161,9 @@
MSG_NOTICETALK_TMP_KEY AS msgNoticetalkTmpKey ,
MKPI.YELLOW_ID AS yellowId ,
LTM.MBER_NM AS userNm ,
successCount,
atSuccessCount,
ftSuccessCount,
atFailCount,
ftFailCount,
BIZ_UMID AS bizUmid,
BL.CALL_STATUS AS callStatus,
M.BIZ_KAKAO_RESEND_YN AS bizKakaoResendYn,
( SELECT COUNT(0)
FROM BIZ_LOG BL1,
MJ_MSG_DATA MMD1
WHERE M.BIZ_KAKAO_RESEND_YN = 'Y'
AND M.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'
) kakaoResendSuccCount,
( SELECT COUNT(0)
FROM BIZ_LOG BL1,
MJ_MSG_DATA MMD1
WHERE M.BIZ_KAKAO_RESEND_YN = 'Y'
AND M.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 ) = 'F'
) kakaoResendFailCount
M.BIZ_KAKAO_RESEND_YN AS bizKakaoResendYn
FROM (
SELECT MG.USER_ID ,
MG.MSG_GROUP_ID ,
@ -1138,45 +1208,6 @@
ELSE 'F'
END
) AS result ,
( SELECT COUNT(0)
FROM MJ_MSG_DATA C
WHERE C.DEL_FLAG = 'N'
AND C.RESERVE_C_YN = 'N'
AND C.MSG_GROUP_ID = MG.MSG_GROUP_ID
AND C.RSLT_CODE = '7000'
) AS successCount ,
( SELECT COUNT(0)
FROM MJ_MSG_DATA C
WHERE C.DEL_FLAG = 'N'
AND C.RESERVE_C_YN = 'N'
AND C.MSG_GROUP_ID = MG.MSG_GROUP_ID
AND C.RSLT_CODE = '7000'
AND C.MSG_TYPE = '8'
) AS atSuccessCount ,
( SELECT COUNT(0)
FROM MJ_MSG_DATA C
WHERE C.DEL_FLAG = 'N'
AND C.RESERVE_C_YN = 'N'
AND C.MSG_GROUP_ID = MG.MSG_GROUP_ID
AND C.RSLT_CODE = '7000'
AND C.MSG_TYPE = '9'
) AS ftSuccessCount ,
( SELECT COUNT(0)
FROM MJ_MSG_DATA C
WHERE C.DEL_FLAG = 'N'
AND C.RESERVE_C_YN = 'N'
AND C.MSG_GROUP_ID = MG.MSG_GROUP_ID
AND C.RSLT_CODE != '7000'
AND C.MSG_TYPE = '8'
) AS atFailCount ,
( SELECT COUNT(0)
FROM MJ_MSG_DATA C
WHERE C.DEL_FLAG = 'N'
AND C.RESERVE_C_YN = 'N'
AND C.MSG_GROUP_ID = MG.MSG_GROUP_ID
AND C.RSLT_CODE != '7000'
AND C.MSG_TYPE = '9'
) AS ftFailCount ,
MSG_NOTICETALK_SENDER_KEY ,
MSG_NOTICETALK_TMP_KEY,
MD.BIZ_UMID,
@ -1196,7 +1227,6 @@
LEFT JOIN MJ_KAKAO_PROFILE_INFO MKPI
ON M.MSG_NOTICETALK_SENDER_KEY = MKPI.SENDER_KEY
AND MKPI.USER_ID = M.USER_ID
AND MKPI.DELETE_YN = 'N'
LEFT JOIN LETTNGNRLMBER LTM
ON M.USER_ID = LTM.MBER_ID
LEFT JOIN BIZ_LOG BL
@ -1300,6 +1330,7 @@
$searchSortOrd$
</isNotEmpty>
LIMIT #recordCountPerPage# OFFSET #firstIndex#
) M2
</select>
<!-- 알림톡 상세 리스트 조회 -->