이지우 - 관리자 회원 상세 팝업 내 알림톰/친구톡 전송내역 쿼리 개선(임시용)
This commit is contained in:
parent
3d6e306558
commit
5e89441553
@ -12,6 +12,9 @@ public interface MjonKakaoATService {
|
|||||||
//알림톡 전체 발송 리스트(대시보드용)
|
//알림톡 전체 발송 리스트(대시보드용)
|
||||||
List<KakaoVO> selectMjonKakaoATGroupCompleteByUserList(KakaoVO searchVO) throws Exception;
|
List<KakaoVO> selectMjonKakaoATGroupCompleteByUserList(KakaoVO searchVO) throws Exception;
|
||||||
|
|
||||||
|
//알림톡 전체 발송 리스트(대시보드용) - DB개선 전 임시
|
||||||
|
List<KakaoVO> selectMjonKakaoATGroupCompleteByUserListTemp(KakaoVO searchVO) throws Exception;
|
||||||
|
|
||||||
//알림톡 발송 상세 리스트
|
//알림톡 발송 상세 리스트
|
||||||
List<KakaoVO> selectMjonKakaoATGroupDtList(KakaoVO searchVO) throws Exception;
|
List<KakaoVO> selectMjonKakaoATGroupDtList(KakaoVO searchVO) throws Exception;
|
||||||
|
|
||||||
@ -54,5 +57,8 @@ public interface MjonKakaoATService {
|
|||||||
|
|
||||||
//알림톡 전송내역 상세
|
//알림톡 전송내역 상세
|
||||||
KakaoVO selectMjonKakaoATVO_advc(KakaoVO mjonKakaoATVO) throws Exception;
|
KakaoVO selectMjonKakaoATVO_advc(KakaoVO mjonKakaoATVO) throws Exception;
|
||||||
|
|
||||||
|
//알림톡 전체 발송 리스트 건수
|
||||||
|
int selectMjonKakaoATGroupCompleteByUserListCnt_advc(KakaoVO searchVO) throws Exception;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -21,6 +21,10 @@ public class MjonKakaoATDAO extends EgovAbstractDAO {
|
|||||||
public List<KakaoVO> selectMjonKakaoATGroupCompleteByUserList(KakaoVO p_mjonKakaoATVO) throws Exception{
|
public List<KakaoVO> selectMjonKakaoATGroupCompleteByUserList(KakaoVO p_mjonKakaoATVO) throws Exception{
|
||||||
return (List<KakaoVO>)list("mjonKakaoATDAO.selectMjonKakaoATGroupCompleteByUserList", p_mjonKakaoATVO);
|
return (List<KakaoVO>)list("mjonKakaoATDAO.selectMjonKakaoATGroupCompleteByUserList", p_mjonKakaoATVO);
|
||||||
}
|
}
|
||||||
|
@SuppressWarnings("unchecked")
|
||||||
|
public List<KakaoVO> selectMjonKakaoATGroupCompleteByUserListTemp(KakaoVO p_mjonKakaoATVO) throws Exception{
|
||||||
|
return (List<KakaoVO>)list("mjonKakaoATDAO.selectMjonKakaoATGroupCompleteByUserListTemp", p_mjonKakaoATVO);
|
||||||
|
}
|
||||||
|
|
||||||
@SuppressWarnings("unchecked")
|
@SuppressWarnings("unchecked")
|
||||||
public List<KakaoVO> selectMjonKakaoATGroupDtList(KakaoVO p_mjonKakaoATVO) throws Exception{
|
public List<KakaoVO> selectMjonKakaoATGroupDtList(KakaoVO p_mjonKakaoATVO) throws Exception{
|
||||||
@ -111,4 +115,8 @@ public class MjonKakaoATDAO extends EgovAbstractDAO {
|
|||||||
public KakaoVO selectMjonKakaoATVO_advc(KakaoVO p_mjonKakaoATVO) throws Exception{
|
public KakaoVO selectMjonKakaoATVO_advc(KakaoVO p_mjonKakaoATVO) throws Exception{
|
||||||
return (KakaoVO) select("mjonKakaoATDAO.selectMjonKakaoATVO_advc", p_mjonKakaoATVO);
|
return (KakaoVO) select("mjonKakaoATDAO.selectMjonKakaoATVO_advc", p_mjonKakaoATVO);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public int selectMjonKakaoATGroupCompleteByUserListCnt_advc(KakaoVO p_mjonKakaoATVO) throws Exception{
|
||||||
|
return (int)select("mjonKakaoATDAO.selectMjonKakaoATGroupCompleteByUserListCnt_advc", p_mjonKakaoATVO);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -88,6 +88,22 @@ public class MjonKakaoATServiceImpl extends EgovAbstractServiceImpl implements M
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
@Override
|
||||||
|
public List<KakaoVO> selectMjonKakaoATGroupCompleteByUserListTemp(KakaoVO p_mjonKakaoATVO) throws Exception {
|
||||||
|
|
||||||
|
List<KakaoVO> result = new ArrayList<KakaoVO>();
|
||||||
|
|
||||||
|
try {
|
||||||
|
|
||||||
|
result = mjonKakaoATDAO.selectMjonKakaoATGroupCompleteByUserListTemp(p_mjonKakaoATVO);
|
||||||
|
|
||||||
|
} catch (Exception e) {
|
||||||
|
System.out.println("selectMjonKakaoATGroupCompleteByUserListTemp ServiceImpl Error ::: " + e);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -250,4 +266,21 @@ public class MjonKakaoATServiceImpl extends EgovAbstractServiceImpl implements M
|
|||||||
|
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int selectMjonKakaoATGroupCompleteByUserListCnt_advc(KakaoVO p_mjonKakaoATVO) throws Exception {
|
||||||
|
|
||||||
|
int totCnt = 0;
|
||||||
|
|
||||||
|
try {
|
||||||
|
|
||||||
|
totCnt = mjonKakaoATDAO.selectMjonKakaoATGroupCompleteByUserListCnt_advc(p_mjonKakaoATVO);
|
||||||
|
|
||||||
|
} catch (Exception e) {
|
||||||
|
System.out.println("selectMjonKakaoATGroupCompleteByUserListCnt ServiceImpl Error ::: " + e);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
return totCnt;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -135,6 +135,7 @@ public class MjonKakaoATController {
|
|||||||
|
|
||||||
// resultList = mjonKakaoATService.selectMjonKakaoATGroupCompleteByUserList(kakaoVO);
|
// resultList = mjonKakaoATService.selectMjonKakaoATGroupCompleteByUserList(kakaoVO);
|
||||||
resultList = mjonKakaoATService.selectMjonKakaoATGroupCompleteByUserList_advc(kakaoVO);
|
resultList = mjonKakaoATService.selectMjonKakaoATGroupCompleteByUserList_advc(kakaoVO);
|
||||||
|
int totCnt = mjonKakaoATService.selectMjonKakaoATGroupCompleteByUserListCnt_advc(kakaoVO);
|
||||||
|
|
||||||
model.addAttribute("resultList", resultList);
|
model.addAttribute("resultList", resultList);
|
||||||
|
|
||||||
@ -144,7 +145,7 @@ public class MjonKakaoATController {
|
|||||||
|
|
||||||
model.addAttribute("resultMsgCodeList", resultMsgCodeList);
|
model.addAttribute("resultMsgCodeList", resultMsgCodeList);
|
||||||
|
|
||||||
paginationInfo.setTotalRecordCount(resultList.size() > 0 ? ((KakaoVO)resultList.get(0)).getTotCnt() : 0);
|
paginationInfo.setTotalRecordCount(totCnt);
|
||||||
model.addAttribute("paginationInfo", paginationInfo);
|
model.addAttribute("paginationInfo", paginationInfo);
|
||||||
model.addAttribute("searchVO", kakaoVO);
|
model.addAttribute("searchVO", kakaoVO);
|
||||||
|
|
||||||
|
|||||||
@ -1454,7 +1454,15 @@ public class EgovUserManageController {
|
|||||||
sendKakaoVO.setFirstIndex(0);
|
sendKakaoVO.setFirstIndex(0);
|
||||||
sendKakaoVO.setPageType("sand");
|
sendKakaoVO.setPageType("sand");
|
||||||
List<KakaoVO> kakaoResultList = new ArrayList<KakaoVO>();
|
List<KakaoVO> kakaoResultList = new ArrayList<KakaoVO>();
|
||||||
kakaoResultList = mjonKakaoATService.selectMjonKakaoATGroupCompleteByUserList(sendKakaoVO);
|
//kakaoResultList = mjonKakaoATService.selectMjonKakaoATGroupCompleteByUserList(sendKakaoVO);
|
||||||
|
|
||||||
|
/*250620 - 회원 정보 팝업 내 최근 알림톡/친구톡 전송 내역을 조회하는 임시 쿼리
|
||||||
|
* 기존 쿼리 성능으로 인하여 회원 정보 팝업 오픈 시 간헐적으로 에러 발생
|
||||||
|
* 임시 쿼리는 화면에 필요한 최소한의 정보만 조회하며, USER_ID를 제외한 조건은 하드코딩 처리
|
||||||
|
* DB 개선 작업 이후 알림톡/친구톡 관련 조회 공통 쿼리 생성 예정
|
||||||
|
* */
|
||||||
|
sendKakaoVO.setReserveYn("N");
|
||||||
|
kakaoResultList = mjonKakaoATService.selectMjonKakaoATGroupCompleteByUserListTemp(sendKakaoVO);
|
||||||
|
|
||||||
model.addAttribute("kakaoResultList", kakaoResultList);
|
model.addAttribute("kakaoResultList", kakaoResultList);
|
||||||
|
|
||||||
@ -1474,8 +1482,15 @@ public class EgovUserManageController {
|
|||||||
reserveKakaoVO.setFirstIndex(0);
|
reserveKakaoVO.setFirstIndex(0);
|
||||||
reserveKakaoVO.setPageType("sand");
|
reserveKakaoVO.setPageType("sand");
|
||||||
List<KakaoVO> kakaoReserveList = new ArrayList<KakaoVO>();
|
List<KakaoVO> kakaoReserveList = new ArrayList<KakaoVO>();
|
||||||
kakaoReserveList = mjonKakaoATService.selectReserveMjonKakaoATGroupList(reserveKakaoVO);
|
//kakaoReserveList = mjonKakaoATService.selectReserveMjonKakaoATGroupList(reserveKakaoVO);
|
||||||
|
|
||||||
|
/*250620 - 회원 정보 팝업 내 최근 알림톡/친구톡 전송 내역을 조회하는 임시 쿼리
|
||||||
|
* 기존 쿼리 성능으로 인하여 회원 정보 팝업 오픈 시 간헐적으로 에러 발생
|
||||||
|
* 임시 쿼리는 화면에 필요한 최소한의 정보만 조회하며, USER_ID를 제외한 조건은 하드코딩 처리
|
||||||
|
* DB 개선 작업 이후 알림톡/친구톡 관련 조회 공통 쿼리 생성 예정
|
||||||
|
* */
|
||||||
|
sendKakaoVO.setReserveYn("Y");
|
||||||
|
kakaoReserveList = mjonKakaoATService.selectMjonKakaoATGroupCompleteByUserListTemp(sendKakaoVO);
|
||||||
model.addAttribute("kakaoReserveList", kakaoReserveList);
|
model.addAttribute("kakaoReserveList", kakaoReserveList);
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -28,9 +28,7 @@ Globals.Env = local
|
|||||||
|
|
||||||
# mysql
|
# mysql
|
||||||
Globals.DriverClassName=com.mysql.jdbc.Driver
|
Globals.DriverClassName=com.mysql.jdbc.Driver
|
||||||
#Globals.Url=jdbc:mysql://119.193.215.98:3306/mjon
|
Globals.Url=jdbc:mysql://192.168.0.125:3306/mjon
|
||||||
#Globals.Url=jdbc:mysql://192.168.0.60:3308/mjon
|
|
||||||
Globals.Url=jdbc:mysql://139.150.73.12:3306/mjon_advc
|
|
||||||
Globals.UserName= mjonUr
|
Globals.UserName= mjonUr
|
||||||
Globals.Password= mjon!@#$
|
Globals.Password= mjon!@#$
|
||||||
#Globals.Url=jdbc:mysql://192.168.0.125:3306/mjon
|
#Globals.Url=jdbc:mysql://192.168.0.125:3306/mjon
|
||||||
|
|||||||
@ -28,6 +28,7 @@ Globals.Env = local
|
|||||||
|
|
||||||
# mysql
|
# mysql
|
||||||
Globals.DriverClassName=com.mysql.jdbc.Driver
|
Globals.DriverClassName=com.mysql.jdbc.Driver
|
||||||
|
#Globals.Url=jdbc:mysql://139.150.73.12:3306/mjon
|
||||||
Globals.Url=jdbc:mysql://192.168.0.125:3306/mjon
|
Globals.Url=jdbc:mysql://192.168.0.125:3306/mjon
|
||||||
#Globals.Url=jdbc:mysql://192.168.0.60:3308/mjon
|
#Globals.Url=jdbc:mysql://192.168.0.60:3308/mjon
|
||||||
Globals.UserName= mjonUr
|
Globals.UserName= mjonUr
|
||||||
|
|||||||
@ -642,6 +642,137 @@
|
|||||||
|
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
<select id="mjonKakaoATDAO.selectMjonKakaoATGroupCompleteByUserListTemp" parameterClass="kakaoVO" resultClass="kakaoVO">
|
||||||
|
WITH target_groups as(
|
||||||
|
SELECT
|
||||||
|
MGT.MSG_GROUP_ID
|
||||||
|
from
|
||||||
|
MJ_MSG_GROUP_DATA MGT
|
||||||
|
JOIN (
|
||||||
|
SELECT
|
||||||
|
MSG_GROUP_ID
|
||||||
|
FROM MJ_MSG_DATA
|
||||||
|
WHERE
|
||||||
|
DEL_FLAG = 'N'
|
||||||
|
<isEqual property="reserveYn" compareValue="N" >
|
||||||
|
AND CUR_STATE = '3'
|
||||||
|
</isEqual>
|
||||||
|
GROUP BY MSG_GROUP_ID
|
||||||
|
) MDT
|
||||||
|
ON MDT.MSG_GROUP_ID = MGT.MSG_GROUP_ID
|
||||||
|
WHERE
|
||||||
|
MGT.USER_ID = #userId#
|
||||||
|
AND MGT.DEL_FLAG = 'N'
|
||||||
|
AND MGT.RESERVE_C_YN = 'N'
|
||||||
|
AND MGT.MSG_TYPE in ('8', '9')
|
||||||
|
<isEqual property="reserveYn" compareValue="N" >
|
||||||
|
<![CDATA[
|
||||||
|
AND (
|
||||||
|
(MGT.RESERVE_YN = 'N'
|
||||||
|
and MGT.REQ_DATE <= DATE_ADD(NOW(), interval 60 minute))
|
||||||
|
or (MGT.RESERVE_YN = 'Y'
|
||||||
|
and (MGT.REQ_DATE <= NOW()
|
||||||
|
or (MGT.AT_DELAY_YN = 'Y'
|
||||||
|
and MGT.AT_DELAY_COMPLETE_YN = 'N')))
|
||||||
|
)
|
||||||
|
]]>
|
||||||
|
</isEqual>
|
||||||
|
<isEqual property="reserveYn" compareValue="Y" >
|
||||||
|
and MGT.RESERVE_YN = 'Y'
|
||||||
|
</isEqual>
|
||||||
|
ORDER BY MGT.REQ_DATE desc
|
||||||
|
LIMIT 3 OFFSET 0)
|
||||||
|
|
||||||
|
SELECT
|
||||||
|
MMGD.USER_ID AS userId,
|
||||||
|
MMGD.MSG_GROUP_ID AS msgGroupId,
|
||||||
|
MMGD.MSG_GROUP_CNT AS msgGroupCnt,
|
||||||
|
MMGD.AT_DELAY_YN AS atDelayYn,
|
||||||
|
MMGD.AT_DELAY_COMPLETE_YN AS atDelayCompleteYn,
|
||||||
|
MMGD.CANCELDATE AS cancelDate,
|
||||||
|
MMGD.REQ_DATE AS reqDate,
|
||||||
|
MMGD.REGDATE AS regDate,
|
||||||
|
MMGD.RESERVE_YN AS reserveYn,
|
||||||
|
MMGD.RESERVE_C_YN AS reserveCYn,
|
||||||
|
MMGD.SMS_TXT AS smsTxt,
|
||||||
|
MMGD.MSG_TYPE AS msgType,
|
||||||
|
CASE
|
||||||
|
WHEN MMGD.MSG_TYPE = '8' then '알림톡'
|
||||||
|
when MMGD.MSG_TYPE = '9' then '친구톡'
|
||||||
|
END AS msgTypeName,
|
||||||
|
MD.RSLT_DATE AS rsltDate,
|
||||||
|
MKPI.YELLOW_ID AS yellowId,
|
||||||
|
IFNULL(SCNT.successCount, 0) AS successCount,
|
||||||
|
IFNULL(KRS.kakaoResendSuccCount, 0) AS kakaoResendSuccCount,
|
||||||
|
IFNULL(KRF.kakaoResendFailCount, 0) AS kakaoResendFailCount
|
||||||
|
FROM MJ_MSG_GROUP_DATA MMGD
|
||||||
|
JOIN target_groups TG
|
||||||
|
ON TG.MSG_GROUP_ID = MMGD.MSG_GROUP_ID
|
||||||
|
LEFT JOIN (
|
||||||
|
SELECT
|
||||||
|
MSG_GROUP_ID,
|
||||||
|
COUNT(*) as successCount
|
||||||
|
FROM
|
||||||
|
MJ_MSG_DATA
|
||||||
|
WHERE
|
||||||
|
RESERVE_C_YN = 'N'
|
||||||
|
AND RSLT_CODE = '7000'
|
||||||
|
GROUP BY MSG_GROUP_ID
|
||||||
|
) SCNT
|
||||||
|
ON SCNT.MSG_GROUP_ID = MMGD.MSG_GROUP_ID
|
||||||
|
LEFT JOIN (
|
||||||
|
SELECT
|
||||||
|
a.MSG_GROUP_ID,
|
||||||
|
COUNT(*) as kakaoResendSuccCount
|
||||||
|
FROM
|
||||||
|
MJ_MSG_DATA a
|
||||||
|
JOIN
|
||||||
|
BIZ_LOG b
|
||||||
|
ON a.BIZ_UMID = b.CMID
|
||||||
|
WHERE
|
||||||
|
a.BIZ_KAKAO_RESEND_YN = 'Y'
|
||||||
|
and b.CALL_STATUS in ('6600', '4100')
|
||||||
|
GROUP BY a.MSG_GROUP_ID
|
||||||
|
) KRS
|
||||||
|
ON KRS.MSG_GROUP_ID = MMGD.MSG_GROUP_ID
|
||||||
|
LEFT JOIN (
|
||||||
|
SELECT
|
||||||
|
a.MSG_GROUP_ID,
|
||||||
|
COUNT(*) as kakaoResendFailCount
|
||||||
|
FROM
|
||||||
|
MJ_MSG_DATA a
|
||||||
|
JOIN
|
||||||
|
BIZ_LOG b
|
||||||
|
ON a.BIZ_UMID = b.CMID
|
||||||
|
WHERE
|
||||||
|
a.BIZ_KAKAO_RESEND_YN = 'Y'
|
||||||
|
and b.CALL_STATUS not in ('6600', '4100')
|
||||||
|
GROUP BY a.MSG_GROUP_ID
|
||||||
|
) KRF
|
||||||
|
ON KRF.MSG_GROUP_ID = MMGD.MSG_GROUP_ID
|
||||||
|
LEFT JOIN (
|
||||||
|
SELECT
|
||||||
|
MSG_GROUP_ID,
|
||||||
|
MAX(RSLT_DATE) as RSLT_DATE,
|
||||||
|
MSG_NOTICETALK_SENDER_KEY
|
||||||
|
FROM
|
||||||
|
MJ_MSG_DATA
|
||||||
|
WHERE
|
||||||
|
DEL_FLAG = 'N'
|
||||||
|
<isEqual property="reserveYn" compareValue="N" >
|
||||||
|
and CUR_STATE = '3'
|
||||||
|
</isEqual>
|
||||||
|
GROUP BY MSG_GROUP_ID
|
||||||
|
) MD
|
||||||
|
ON MD.MSG_GROUP_ID = MMGD.MSG_GROUP_ID
|
||||||
|
LEFT JOIN
|
||||||
|
MJ_KAKAO_PROFILE_INFO MKPI
|
||||||
|
ON MKPI.SENDER_KEY = MD.MSG_NOTICETALK_SENDER_KEY
|
||||||
|
AND MKPI.USER_ID = MMGD.USER_ID
|
||||||
|
ORDER BY
|
||||||
|
MMGD.REQ_DATE desc;
|
||||||
|
</select>
|
||||||
|
|
||||||
<!-- 알림톡 상세 리스트 조회 -->
|
<!-- 알림톡 상세 리스트 조회 -->
|
||||||
<select id="mjonKakaoATDAO.selectMjonKakaoATGroupDtList" parameterClass="kakaoVO" resultClass="kakaoVO">
|
<select id="mjonKakaoATDAO.selectMjonKakaoATGroupDtList" parameterClass="kakaoVO" resultClass="kakaoVO">
|
||||||
/* mjonKakaoATDAO.selectMjonKakaoATGroupDtList - 알림톡 전송 개별 리스트 */
|
/* mjonKakaoATDAO.selectMjonKakaoATGroupDtList - 알림톡 전송 개별 리스트 */
|
||||||
@ -2410,7 +2541,6 @@
|
|||||||
|
|
||||||
|
|
||||||
SELECT
|
SELECT
|
||||||
COUNT(MMGD.USER_ID) OVER() AS totCnt,
|
|
||||||
MMGD.USER_ID AS userId,
|
MMGD.USER_ID AS userId,
|
||||||
MMGD.MSG_GROUP_ID AS msgGroupId,
|
MMGD.MSG_GROUP_ID AS msgGroupId,
|
||||||
MMGD.MSG_GROUP_CNT AS msgGroupCnt,
|
MMGD.MSG_GROUP_CNT AS msgGroupCnt,
|
||||||
@ -2430,8 +2560,7 @@
|
|||||||
l.MBER_NM AS userNm,
|
l.MBER_NM AS userNm,
|
||||||
l.AT_SMISHING_YN AS atSmishingYn,
|
l.AT_SMISHING_YN AS atSmishingYn,
|
||||||
l.VIP_YN AS vipYn,
|
l.VIP_YN AS vipYn,
|
||||||
IFNULL(MD.successCount, 0) as successCount,
|
IFNULL(MD.successCount, 0) as successCount
|
||||||
MKPI.YELLOW_ID AS yellowId
|
|
||||||
FROM
|
FROM
|
||||||
mj_msg_group_data MMGD
|
mj_msg_group_data MMGD
|
||||||
LEFT JOIN lettngnrlmber l
|
LEFT JOIN lettngnrlmber l
|
||||||
@ -2439,55 +2568,59 @@
|
|||||||
LEFT JOIN (
|
LEFT JOIN (
|
||||||
SELECT
|
SELECT
|
||||||
MSG_GROUP_ID,
|
MSG_GROUP_ID,
|
||||||
SUM(case when RSLT_CODE = '7000' then 1 else 0 end) as successCount,
|
count(0) as successCount
|
||||||
MAX(MSG_NOTICETALK_SENDER_KEY) as MSG_NOTICETALK_SENDER_KEY
|
|
||||||
FROM
|
FROM
|
||||||
MJ_MSG_DATA
|
MJ_MSG_DATA
|
||||||
|
WHERE
|
||||||
|
RSLT_CODE = '7000'
|
||||||
GROUP BY
|
GROUP BY
|
||||||
MSG_GROUP_ID
|
MSG_GROUP_ID
|
||||||
) MD
|
) MD
|
||||||
ON MD.MSG_GROUP_ID = MMGD.MSG_GROUP_ID
|
ON MD.MSG_GROUP_ID = MMGD.MSG_GROUP_ID
|
||||||
LEFT JOIN mj_kakao_profile_info MKPI
|
|
||||||
ON MKPI.SENDER_KEY = MD.MSG_NOTICETALK_SENDER_KEY
|
|
||||||
AND MKPI.USER_ID = MMGD.USER_ID
|
|
||||||
WHERE
|
WHERE
|
||||||
<![CDATA[
|
<isEmpty property="msgType">
|
||||||
CASE
|
MMGD.MSG_TYPE IN ('8' ,'9')
|
||||||
WHEN RESERVE_YN = 'N'
|
</isEmpty>
|
||||||
THEN (MMGD.REQ_DATE <= DATE_ADD(NOW(), INTERVAL 60 MINUTE))
|
<isEqual property="msgType" compareValue="8">
|
||||||
WHEN RESERVE_YN = 'Y'
|
MMGD.MSG_TYPE = '8'
|
||||||
THEN (MMGD.REQ_DATE <= NOW() OR (MMGD.AT_DELAY_YN = 'Y' AND MMGD.AT_DELAY_COMPLETE_YN = 'N'))
|
</isEqual>
|
||||||
END
|
<isEqual property="msgType" compareValue="9">
|
||||||
]]>
|
MMGD.MSG_TYPE = '9'
|
||||||
|
</isEqual>
|
||||||
AND MMGD.RESERVE_C_YN = 'N'
|
AND MMGD.RESERVE_C_YN = 'N'
|
||||||
|
<isNotEmpty property="ntceBgnde">
|
||||||
|
AND MMGD.REQ_DATE >= #ntceBgnde#
|
||||||
|
</isNotEmpty>
|
||||||
|
|
||||||
|
<isNotEmpty property="ntceEndde">
|
||||||
|
<![CDATA[
|
||||||
|
AND MMGD.REQ_DATE < DATE_ADD(#ntceEndde#, INTERVAL 1 DAY)
|
||||||
|
]]>
|
||||||
|
</isNotEmpty>
|
||||||
|
<![CDATA[
|
||||||
|
AND (
|
||||||
|
(MMGD.RESERVE_YN = 'N'
|
||||||
|
and MMGD.REQ_DATE <= DATE_ADD(NOW(), interval 60 minute))
|
||||||
|
or
|
||||||
|
(MMGD.RESERVE_YN = 'Y'
|
||||||
|
and (
|
||||||
|
MMGD.REQ_DATE <= NOW()
|
||||||
|
or (MMGD.AT_DELAY_YN = 'Y'
|
||||||
|
and MMGD.AT_DELAY_COMPLETE_YN = 'N')
|
||||||
|
))
|
||||||
|
)
|
||||||
|
]]>
|
||||||
<isEqual property="searchCondition2" compareValue="N">
|
<isEqual property="searchCondition2" compareValue="N">
|
||||||
AND IFNULL(MMGD.RESERVE_YN, 'N') = 'N'
|
AND IFNULL(MMGD.RESERVE_YN, 'N') = 'N'
|
||||||
</isEqual>
|
</isEqual>
|
||||||
<isEqual property="searchCondition2" compareValue="Y">
|
<isEqual property="searchCondition2" compareValue="Y">
|
||||||
AND IFNULL(MMGD.RESERVE_YN, 'N') = 'Y'
|
AND IFNULL(MMGD.RESERVE_YN, 'N') = 'Y'
|
||||||
</isEqual>
|
</isEqual>
|
||||||
<isEmpty property="msgType">
|
|
||||||
AND MMGD.MSG_TYPE IN ('8' ,'9')
|
|
||||||
</isEmpty>
|
|
||||||
<isEqual property="msgType" compareValue="8">
|
|
||||||
AND MMGD.MSG_TYPE = '8'
|
|
||||||
</isEqual>
|
|
||||||
<isEqual property="msgType" compareValue="9">
|
|
||||||
AND MMGD.MSG_TYPE = '9'
|
|
||||||
</isEqual>
|
|
||||||
<isNotEmpty property="ntceBgnde">
|
|
||||||
AND MMGD.REQ_DATE >= #ntceBgnde#
|
|
||||||
</isNotEmpty>
|
|
||||||
<isNotEmpty property="ntceEndde">
|
|
||||||
<![CDATA[
|
|
||||||
AND MMGD.REQ_DATE < DATE_ADD(#ntceEndde#, INTERVAL 1 DAY)
|
|
||||||
]]>
|
|
||||||
</isNotEmpty>
|
|
||||||
<isNotEmpty property="searchKeyword">
|
<isNotEmpty property="searchKeyword">
|
||||||
<isEqual property="searchCondition" compareValue="" >
|
<isEqual property="searchCondition" compareValue="" >
|
||||||
AND (
|
AND (
|
||||||
MMGD.USER_ID LIKE CONCAT('%', #searchKeyword#, '%')
|
MMGD.USER_ID LIKE CONCAT('%', #searchKeyword#, '%')
|
||||||
OR MKPI.YELLOW_ID LIKE CONCAT ('%', #searchKeyword#,'%')
|
<!-- OR MKPI.YELLOW_ID LIKE CONCAT ('%', #searchKeyword#,'%') -->
|
||||||
OR MMGD.SMS_TXT LIKE CONCAT ('%', #searchKeyword#,'%')
|
OR MMGD.SMS_TXT LIKE CONCAT ('%', #searchKeyword#,'%')
|
||||||
)
|
)
|
||||||
</isEqual>
|
</isEqual>
|
||||||
@ -2516,6 +2649,71 @@
|
|||||||
</isNotEmpty>
|
</isNotEmpty>
|
||||||
LIMIT #recordCountPerPage# OFFSET #firstIndex#
|
LIMIT #recordCountPerPage# OFFSET #firstIndex#
|
||||||
</select>
|
</select>
|
||||||
|
<select id="mjonKakaoATDAO.selectMjonKakaoATGroupCompleteByUserListCnt_advc" parameterClass="kakaoVO" resultClass="int">
|
||||||
|
|
||||||
|
|
||||||
|
SELECT
|
||||||
|
COUNT(0) AS totCnt
|
||||||
|
FROM
|
||||||
|
mj_msg_group_data MMGD
|
||||||
|
WHERE
|
||||||
|
<isEmpty property="msgType">
|
||||||
|
MMGD.MSG_TYPE IN ('8' ,'9')
|
||||||
|
</isEmpty>
|
||||||
|
<isEqual property="msgType" compareValue="8">
|
||||||
|
MMGD.MSG_TYPE = '8'
|
||||||
|
</isEqual>
|
||||||
|
<isEqual property="msgType" compareValue="9">
|
||||||
|
MMGD.MSG_TYPE = '9'
|
||||||
|
</isEqual>
|
||||||
|
AND MMGD.RESERVE_C_YN = 'N'
|
||||||
|
<isNotEmpty property="ntceBgnde">
|
||||||
|
AND MMGD.REQ_DATE >= #ntceBgnde#
|
||||||
|
</isNotEmpty>
|
||||||
|
|
||||||
|
<isNotEmpty property="ntceEndde">
|
||||||
|
<![CDATA[
|
||||||
|
AND MMGD.REQ_DATE < DATE_ADD(#ntceEndde#, INTERVAL 1 DAY)
|
||||||
|
]]>
|
||||||
|
</isNotEmpty>
|
||||||
|
<![CDATA[
|
||||||
|
AND (
|
||||||
|
(MMGD.RESERVE_YN = 'N'
|
||||||
|
and MMGD.REQ_DATE <= DATE_ADD(NOW(), interval 60 minute))
|
||||||
|
or
|
||||||
|
(MMGD.RESERVE_YN = 'Y'
|
||||||
|
and (
|
||||||
|
MMGD.REQ_DATE <= NOW()
|
||||||
|
or (MMGD.AT_DELAY_YN = 'Y'
|
||||||
|
and MMGD.AT_DELAY_COMPLETE_YN = 'N')
|
||||||
|
))
|
||||||
|
)
|
||||||
|
]]>
|
||||||
|
<isEqual property="searchCondition2" compareValue="N">
|
||||||
|
AND IFNULL(MMGD.RESERVE_YN, 'N') = 'N'
|
||||||
|
</isEqual>
|
||||||
|
<isEqual property="searchCondition2" compareValue="Y">
|
||||||
|
AND IFNULL(MMGD.RESERVE_YN, 'N') = 'Y'
|
||||||
|
</isEqual>
|
||||||
|
<isNotEmpty property="searchKeyword">
|
||||||
|
<isEqual property="searchCondition" compareValue="" >
|
||||||
|
AND (
|
||||||
|
MMGD.USER_ID LIKE CONCAT('%', #searchKeyword#, '%')
|
||||||
|
<!-- OR MKPI.YELLOW_ID LIKE CONCAT ('%', #searchKeyword#,'%') -->
|
||||||
|
OR MMGD.SMS_TXT LIKE CONCAT ('%', #searchKeyword#,'%')
|
||||||
|
)
|
||||||
|
</isEqual>
|
||||||
|
<isEqual property="searchCondition" compareValue="1">
|
||||||
|
AND MMGD.USER_ID LIKE CONCAT('%', #searchKeyword#, '%')
|
||||||
|
</isEqual>
|
||||||
|
<isEqual property="searchCondition" compareValue="2">
|
||||||
|
AND MKPI.YELLOW_ID LIKE CONCAT ('%', #searchKeyword#,'%')
|
||||||
|
</isEqual>
|
||||||
|
<isEqual property="searchCondition" compareValue="3">
|
||||||
|
AND MMGD.SMS_TXT LIKE CONCAT ('%', #searchKeyword#,'%')
|
||||||
|
</isEqual>
|
||||||
|
</isNotEmpty>
|
||||||
|
</select>
|
||||||
|
|
||||||
<select id="mjonKakaoATDAO.selectMjonKakaoATGroupCompleteByUserList_advc_back" parameterClass="kakaoVO" resultClass="kakaoVO">
|
<select id="mjonKakaoATDAO.selectMjonKakaoATGroupCompleteByUserList_advc_back" parameterClass="kakaoVO" resultClass="kakaoVO">
|
||||||
SELECT
|
SELECT
|
||||||
|
|||||||
@ -4737,8 +4737,6 @@ function fnInputSmsTxt(){
|
|||||||
<c:choose>
|
<c:choose>
|
||||||
<c:when test="${not empty kakaoResultList.regDate}">
|
<c:when test="${not empty kakaoResultList.regDate}">
|
||||||
|
|
||||||
<c:out value="${kakaoResultList.regDate}" />
|
|
||||||
|
|
||||||
<%-- ${fnc:setStrToDataFormatter(kakaoResultList.regDate, 'MM-dd HH:mm') } --%>
|
<%-- ${fnc:setStrToDataFormatter(kakaoResultList.regDate, 'MM-dd HH:mm') } --%>
|
||||||
<fmt:parseDate value="${kakaoResultList.regDate}" var="dateValue" pattern="yyyy-MM-dd HH:mm:ss"/>
|
<fmt:parseDate value="${kakaoResultList.regDate}" var="dateValue" pattern="yyyy-MM-dd HH:mm:ss"/>
|
||||||
<fmt:formatDate value="${dateValue}" pattern="MM-dd HH:mm"/>
|
<fmt:formatDate value="${dateValue}" pattern="MM-dd HH:mm"/>
|
||||||
@ -4880,10 +4878,9 @@ function fnInputSmsTxt(){
|
|||||||
<td>
|
<td>
|
||||||
<c:choose>
|
<c:choose>
|
||||||
<c:when test="${not empty kakaoReserveList.regDate}">
|
<c:when test="${not empty kakaoReserveList.regDate}">
|
||||||
<c:out value="${kakaoReserveList.regDate}" />
|
<%-- ${fnc:setStrToDataFormatter(kakaoReserveList.regDate, 'MM-dd HH:mm') } --%>
|
||||||
${fnc:setStrToDataFormatter(kakaoReserveList.regDate, 'MM-dd HH:mm') }
|
<fmt:parseDate value="${kakaoReserveList.regDate}" var="dateValue" pattern="yyyy-MM-dd HH:mm:ss"/>
|
||||||
<%-- <fmt:parseDate value="${kakaoReserveList.regDate}" var="dateValue" pattern="yyyy-MM-dd HH:mm:ss"/> --%>
|
<fmt:formatDate value="${dateValue}" pattern="MM-dd HH:mm"/>
|
||||||
<%-- <fmt:formatDate value="${dateValue}" pattern="MM-dd HH:mm"/> --%>
|
|
||||||
|
|
||||||
</c:when>
|
</c:when>
|
||||||
<c:otherwise>
|
<c:otherwise>
|
||||||
|
|||||||
@ -603,7 +603,7 @@ function fn_SpamMberUpdt(userId, p_mberSttus, p_smiMemo, p_confirm_msg) {
|
|||||||
<select name="searchCondition" class="select" title="검색조건 선택">
|
<select name="searchCondition" class="select" title="검색조건 선택">
|
||||||
<option value="" <c:if test="${searchVO.searchCondition == ''}">selected="selected"</c:if>>ID/내용/발신번호(전체)</option>
|
<option value="" <c:if test="${searchVO.searchCondition == ''}">selected="selected"</c:if>>ID/내용/발신번호(전체)</option>
|
||||||
<option value="1" <c:if test="${searchVO.searchCondition == '1'}">selected="selected"</c:if>>사용자ID</option>
|
<option value="1" <c:if test="${searchVO.searchCondition == '1'}">selected="selected"</c:if>>사용자ID</option>
|
||||||
<option value="2" <c:if test="${searchVO.searchCondition == '2'}">selected="selected"</c:if>>채널ID</option>
|
<%-- <option value="2" <c:if test="${searchVO.searchCondition == '2'}">selected="selected"</c:if>>채널ID</option> --%>
|
||||||
<option value="3" <c:if test="${searchVO.searchCondition == '3'}">selected="selected"</c:if>>전송내용</option>
|
<option value="3" <c:if test="${searchVO.searchCondition == '3'}">selected="selected"</c:if>>전송내용</option>
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
@ -648,7 +648,7 @@ function fn_SpamMberUpdt(userId, p_mberSttus, p_smiMemo, p_confirm_msg) {
|
|||||||
<col style="width: 3%">
|
<col style="width: 3%">
|
||||||
<col style="width: 5%">
|
<col style="width: 5%">
|
||||||
<col style="width: 13%">
|
<col style="width: 13%">
|
||||||
<col style="width: 13%">
|
<%-- <col style="width: 13%"> --%>
|
||||||
<col style="width: 10%">
|
<col style="width: 10%">
|
||||||
<col style="width: 13%">
|
<col style="width: 13%">
|
||||||
<col style="width: 10%">
|
<col style="width: 10%">
|
||||||
@ -661,7 +661,7 @@ function fn_SpamMberUpdt(userId, p_mberSttus, p_smiMemo, p_confirm_msg) {
|
|||||||
<th><input type="checkbox" name="checkAll" id="checkAll" onclick="fnCheckAll();" /><label for="checkAll"></label></th>
|
<th><input type="checkbox" name="checkAll" id="checkAll" onclick="fnCheckAll();" /><label for="checkAll"></label></th>
|
||||||
<th>번호<input type="button" class="sort sortBtn" id="sort_msgGroupId"></th>
|
<th>번호<input type="button" class="sort sortBtn" id="sort_msgGroupId"></th>
|
||||||
<th>아이디<input type="button" class="sort sortBtn" id="sort_userId"></th>
|
<th>아이디<input type="button" class="sort sortBtn" id="sort_userId"></th>
|
||||||
<th>채널ID<input type="button" class="sort sortBtn" id="sort_yellowId"></th>
|
<!-- <th>채널ID<input type="button" class="sort sortBtn" id="sort_yellowId"></th> -->
|
||||||
<th>발송건수<input type="button" class="sort sortBtn" id="sort_msgGroupCnt"></th>
|
<th>발송건수<input type="button" class="sort sortBtn" id="sort_msgGroupCnt"></th>
|
||||||
<th>스미싱의심</th>
|
<th>스미싱의심</th>
|
||||||
<th>요청시간<input type="button" class="sort sortBtn" id="sort_reqDate"></th>
|
<th>요청시간<input type="button" class="sort sortBtn" id="sort_reqDate"></th>
|
||||||
@ -692,9 +692,9 @@ function fn_SpamMberUpdt(userId, p_mberSttus, p_smiMemo, p_confirm_msg) {
|
|||||||
</a>
|
</a>
|
||||||
</div>
|
</div>
|
||||||
</td>
|
</td>
|
||||||
<td onclick="fn_detail_list('<c:out value="${result.msgGroupId}"/>', '<c:out value="${result.userId}"/>'); return false;" style="cursor:pointer;" <c:if test="${result.atSmishingYn eq 'Y'}">class="smishing"</c:if>>
|
<%-- <td onclick="fn_detail_list('<c:out value="${result.msgGroupId}"/>', '<c:out value="${result.userId}"/>'); return false;" style="cursor:pointer;" <c:if test="${result.atSmishingYn eq 'Y'}">class="smishing"</c:if>>
|
||||||
<c:out value="${result.yellowId}"/>
|
<c:out value="${result.yellowId}"/>
|
||||||
</td>
|
</td> --%>
|
||||||
<td onclick="fn_detail_list('<c:out value="${result.msgGroupId}"/>', '<c:out value="${result.userId}"/>'); return false;" style="cursor:pointer;" <c:if test="${result.atSmishingYn eq 'Y'}">class="smishing"</c:if>>
|
<td onclick="fn_detail_list('<c:out value="${result.msgGroupId}"/>', '<c:out value="${result.userId}"/>'); return false;" style="cursor:pointer;" <c:if test="${result.atSmishingYn eq 'Y'}">class="smishing"</c:if>>
|
||||||
<c:choose>
|
<c:choose>
|
||||||
<c:when test="${result.successCount > 0}">
|
<c:when test="${result.successCount > 0}">
|
||||||
@ -781,7 +781,7 @@ function fn_SpamMberUpdt(userId, p_mberSttus, p_smiMemo, p_confirm_msg) {
|
|||||||
</tr>
|
</tr>
|
||||||
</c:forEach>
|
</c:forEach>
|
||||||
<c:if test="${empty resultList}">
|
<c:if test="${empty resultList}">
|
||||||
<tr><td colspan="8"><spring:message code="common.nodata.msg" /></td></tr>
|
<tr><td colspan="9"><spring:message code="common.nodata.msg" /></td></tr>
|
||||||
</c:if>
|
</c:if>
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user