2024-03-20 16:34 마이페이지 최근 발송내역-문자 쿼리 성능개선
This commit is contained in:
parent
c9a35c1c46
commit
bf289e9e42
@ -378,6 +378,9 @@ public class EgovMberManageServiceImpl extends EgovAbstractServiceImpl implement
|
|||||||
public List<MjonMsgSentVO> selectMberMsgSentLatestList(String mberId) throws Exception{
|
public List<MjonMsgSentVO> selectMberMsgSentLatestList(String mberId) throws Exception{
|
||||||
return mberManageDAO.selectMberMsgSentLatestList(mberId);
|
return mberManageDAO.selectMberMsgSentLatestList(mberId);
|
||||||
}
|
}
|
||||||
|
public List<MjonMsgSentVO> selectMberMsgSentLatestListNew20240320(String mberId) throws Exception{
|
||||||
|
return mberManageDAO.selectMberMsgSentLatestListNew20240320(mberId);
|
||||||
|
}
|
||||||
|
|
||||||
//회원 최근 발송 문자내용 3개 불러오기(예약)
|
//회원 최근 발송 문자내용 3개 불러오기(예약)
|
||||||
public List<MjonMsgSentVO> selectMberMsgSentLatestList2(String mberId) throws Exception{
|
public List<MjonMsgSentVO> selectMberMsgSentLatestList2(String mberId) throws Exception{
|
||||||
|
|||||||
@ -212,6 +212,10 @@ public class MberManageDAO extends EgovComAbstractDAO{
|
|||||||
public List<MjonMsgSentVO> selectMberMsgSentLatestList(String mberId) throws Exception{
|
public List<MjonMsgSentVO> selectMberMsgSentLatestList(String mberId) throws Exception{
|
||||||
return (List<MjonMsgSentVO>) list("mberManageDAO.selectMberMsgSentLatestList", mberId);
|
return (List<MjonMsgSentVO>) list("mberManageDAO.selectMberMsgSentLatestList", mberId);
|
||||||
}
|
}
|
||||||
|
@SuppressWarnings("unchecked")
|
||||||
|
public List<MjonMsgSentVO> selectMberMsgSentLatestListNew20240320(String mberId) throws Exception{
|
||||||
|
return (List<MjonMsgSentVO>) list("mberManageDAO.selectMberMsgSentLatestListNew20240320", mberId);
|
||||||
|
}
|
||||||
|
|
||||||
//회원 최근 발송 문자내용 3개 불러오기(예약)
|
//회원 최근 발송 문자내용 3개 불러오기(예약)
|
||||||
@SuppressWarnings("unchecked")
|
@SuppressWarnings("unchecked")
|
||||||
|
|||||||
@ -363,7 +363,7 @@ public class EgovMypageController {
|
|||||||
}
|
}
|
||||||
|
|
||||||
{//최근 발송 문자 내용 불러오기 - 최근 3개 내역만
|
{//최근 발송 문자 내용 불러오기 - 최근 3개 내역만
|
||||||
List<MjonMsgSentVO> mjonMsgSentList = mberManageService.selectMberMsgSentLatestList(userId);
|
List<MjonMsgSentVO> mjonMsgSentList = mberManageService.selectMberMsgSentLatestListNew20240320(userId);
|
||||||
model.addAttribute("mjonMsgSentList", mjonMsgSentList);
|
model.addAttribute("mjonMsgSentList", mjonMsgSentList);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -198,6 +198,8 @@ public interface EgovMberManageService {
|
|||||||
|
|
||||||
//회원 최근 발송 문자내용 3개 불러오기
|
//회원 최근 발송 문자내용 3개 불러오기
|
||||||
public List<MjonMsgSentVO> selectMberMsgSentLatestList(String mberId) throws Exception;
|
public List<MjonMsgSentVO> selectMberMsgSentLatestList(String mberId) throws Exception;
|
||||||
|
//성능개선 2024-03-20
|
||||||
|
public List<MjonMsgSentVO> selectMberMsgSentLatestListNew20240320(String mberId) throws Exception;
|
||||||
|
|
||||||
//회원 최근 발송 문자내용 3개 불러오기(예약)
|
//회원 최근 발송 문자내용 3개 불러오기(예약)
|
||||||
public List<MjonMsgSentVO> selectMberMsgSentLatestList2(String mberId) throws Exception;
|
public List<MjonMsgSentVO> selectMberMsgSentLatestList2(String mberId) throws Exception;
|
||||||
|
|||||||
@ -1194,7 +1194,7 @@ public class EgovUserManageController {
|
|||||||
model.addAttribute("flowTypeCode", cmmUseService.selectCmmCodeDetail(vo));
|
model.addAttribute("flowTypeCode", cmmUseService.selectCmmCodeDetail(vo));
|
||||||
|
|
||||||
//최근 발송 문자 내용 불러오기 - 최근 3개 내역만
|
//최근 발송 문자 내용 불러오기 - 최근 3개 내역만
|
||||||
List<MjonMsgSentVO> mjonMsgSentList = mberManageService.selectMberMsgSentLatestList(userId);
|
List<MjonMsgSentVO> mjonMsgSentList = mberManageService.selectMberMsgSentLatestListNew20240320(userId);
|
||||||
model.addAttribute("mjonMsgSentList", mjonMsgSentList);
|
model.addAttribute("mjonMsgSentList", mjonMsgSentList);
|
||||||
|
|
||||||
//최근 발송 문자 내용 불러오기 - 최근 3개 내역만(에약)
|
//최근 발송 문자 내용 불러오기 - 최근 3개 내역만(에약)
|
||||||
|
|||||||
@ -74,6 +74,7 @@
|
|||||||
|
|
||||||
<select id="MjonEventDAO.selectEventMsgMberDefaultInfo" parameterClass="eventVO" resultClass="eventVO">
|
<select id="MjonEventDAO.selectEventMsgMberDefaultInfo" parameterClass="eventVO" resultClass="eventVO">
|
||||||
|
|
||||||
|
/* MjonEventDAO.selectEventMsgMberDefaultInfo */
|
||||||
SELECT a.EVENT_INFO_ID AS eventInfoId,
|
SELECT a.EVENT_INFO_ID AS eventInfoId,
|
||||||
a.MBER_ID AS mberId,
|
a.MBER_ID AS mberId,
|
||||||
a.MBER_NM AS mberNm,
|
a.MBER_NM AS mberNm,
|
||||||
|
|||||||
@ -2111,6 +2111,7 @@
|
|||||||
|
|
||||||
<select id="mjonMsgDAO.selectMberManageInfo" parameterClass="String" resultClass="mberManageVO">
|
<select id="mjonMsgDAO.selectMberManageInfo" parameterClass="String" resultClass="mberManageVO">
|
||||||
|
|
||||||
|
/* mjonMsgDAO.selectMberManageInfo */
|
||||||
SELECT
|
SELECT
|
||||||
MBER_ID AS mberId
|
MBER_ID AS mberId
|
||||||
, MBER_NM AS mberNm
|
, MBER_NM AS mberNm
|
||||||
|
|||||||
@ -2187,6 +2187,7 @@
|
|||||||
</select>
|
</select>
|
||||||
|
|
||||||
<select id="mjonPayDAO.selectCashInfoList" parameterClass="String" resultClass="mjonPayVO">
|
<select id="mjonPayDAO.selectCashInfoList" parameterClass="String" resultClass="mjonPayVO">
|
||||||
|
/* mjonPayDAO.selectCashInfoList */
|
||||||
SELECT
|
SELECT
|
||||||
'chargeCash' AS divFlag
|
'chargeCash' AS divFlag
|
||||||
,NVL(SUM(CASH),0) AS cashSum
|
,NVL(SUM(CASH),0) AS cashSum
|
||||||
@ -2223,6 +2224,7 @@
|
|||||||
</select>
|
</select>
|
||||||
|
|
||||||
<select id="mjonPayDAO.selectPointInfoList" parameterClass="String" resultClass="mjonPayVO">
|
<select id="mjonPayDAO.selectPointInfoList" parameterClass="String" resultClass="mjonPayVO">
|
||||||
|
/* mjonPayDAO.selectPointInfoList */
|
||||||
<![CDATA[
|
<![CDATA[
|
||||||
SELECT
|
SELECT
|
||||||
'chargePoint' AS divFlag
|
'chargePoint' AS divFlag
|
||||||
|
|||||||
@ -1318,6 +1318,7 @@
|
|||||||
</select>
|
</select>
|
||||||
|
|
||||||
<select id="mberManageDAO.selectMberMsgSentLatestList" parameterClass="String" resultClass="mjonMsgSentVO">
|
<select id="mberManageDAO.selectMberMsgSentLatestList" parameterClass="String" resultClass="mjonMsgSentVO">
|
||||||
|
/* mberManageDAO.selectMberMsgSentLatestList */
|
||||||
SELECT
|
SELECT
|
||||||
msgId
|
msgId
|
||||||
, msgGroupId
|
, msgGroupId
|
||||||
@ -1438,6 +1439,135 @@
|
|||||||
|
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
<select id="mberManageDAO.selectMberMsgSentLatestListNew20240320" parameterClass="String" resultClass="mjonMsgSentVO">
|
||||||
|
/* mberManageDAO.selectMberMsgSentLatestListNew20240320 */
|
||||||
|
SELECT
|
||||||
|
msgId
|
||||||
|
, msgGroupId
|
||||||
|
, userId
|
||||||
|
, MGD.TOT_PRICE AS totPrice
|
||||||
|
, MGD.EACH_PRICE AS eachPrice
|
||||||
|
, MGD.MSG_GROUP_CNT AS msgGroupCnt
|
||||||
|
, (SELECT
|
||||||
|
COUNT(0)
|
||||||
|
FROM
|
||||||
|
MJ_MSG_DATA A
|
||||||
|
WHERE 1=1
|
||||||
|
AND A.MSG_GROUP_ID = A.msgGroupId
|
||||||
|
AND (<include refid="MjonMsgSentDAO.selectAgentResultQuery_A"/>) = 'S'
|
||||||
|
) AS successCnt
|
||||||
|
, MGD.SEND_KIND AS sendKind
|
||||||
|
, MGD.SMS_TXT AS smsTxt
|
||||||
|
, userdata
|
||||||
|
, curState
|
||||||
|
, DATE_FORMAT(sentDate, '%Y-%m-%d %T') AS sentDate
|
||||||
|
, DATE_FORMAT(reqDate, '%Y-%m-%d %T') AS reqdate
|
||||||
|
, result AS resultType
|
||||||
|
, rsltCode
|
||||||
|
, rsltCode2
|
||||||
|
, rsltNet
|
||||||
|
, callFrom
|
||||||
|
, callTo
|
||||||
|
, agentCode
|
||||||
|
, msgType
|
||||||
|
, neoType
|
||||||
|
, delFlag
|
||||||
|
, fileCnt
|
||||||
|
, filePath1
|
||||||
|
, filePath2
|
||||||
|
, filePath3
|
||||||
|
, reserveCYn
|
||||||
|
, MGD.RESERVE_YN AS reserveYn
|
||||||
|
, DATE_FORMAT(MGD.CANCELDATE, '%Y-%m-%d %T') AS cancelDate
|
||||||
|
, DATE_FORMAT(MGD.REGDATE, '%Y-%m-%d %T') AS regdate
|
||||||
|
, refundYn
|
||||||
|
, MGD.DELAY_YN AS delayYn
|
||||||
|
, MGD.DELAY_COMPLETE_YN AS delayCompleteYn
|
||||||
|
,(
|
||||||
|
SELECT
|
||||||
|
CONCAT(
|
||||||
|
(
|
||||||
|
IF(B.FILE_PATH1 IS NOT NULL, (SELECT
|
||||||
|
ATCH_FILE_ID
|
||||||
|
FROM LETTNFILEDETAIL
|
||||||
|
WHERE CONCAT(STRE_FILE_NM, '.', FILE_EXTSN) = CONCAT(SUBSTRING_INDEX(B.FILE_PATH1, '/', -1))
|
||||||
|
LIMIT 1), '')
|
||||||
|
)
|
||||||
|
,'^',
|
||||||
|
(
|
||||||
|
IF(B.FILE_PATH2 IS NOT NULL, (SELECT
|
||||||
|
ATCH_FILE_ID
|
||||||
|
FROM LETTNFILEDETAIL
|
||||||
|
WHERE CONCAT(STRE_FILE_NM, '.', FILE_EXTSN) = CONCAT(SUBSTRING_INDEX(B.FILE_PATH2, '/', -1))
|
||||||
|
LIMIT 1), '')
|
||||||
|
)
|
||||||
|
,'^',
|
||||||
|
(
|
||||||
|
IF(B.FILE_PATH3 IS NOT NULL, (SELECT
|
||||||
|
ATCH_FILE_ID
|
||||||
|
FROM LETTNFILEDETAIL
|
||||||
|
WHERE CONCAT(STRE_FILE_NM, '.', FILE_EXTSN) = CONCAT(SUBSTRING_INDEX(B.FILE_PATH3, '/', -1))
|
||||||
|
LIMIT 1), '')
|
||||||
|
))
|
||||||
|
FROM
|
||||||
|
MJ_MSG_DATA B
|
||||||
|
WHERE
|
||||||
|
B.MSG_GROUP_ID = msgGroupId
|
||||||
|
LIMIT 1
|
||||||
|
) AS atchFiles
|
||||||
|
FROM
|
||||||
|
(
|
||||||
|
SELECT *
|
||||||
|
FROM MJ_MSG_GROUP_DATA MGD0
|
||||||
|
WHERE MGD0.USER_ID = #mberId#
|
||||||
|
AND NOW() >= MGD0.REQ_DATE
|
||||||
|
AND MGD0.RESERVE_C_YN = 'N'
|
||||||
|
AND (MGD0.DELAY_YN = 'N' OR (MGD0.DELAY_YN = 'Y' AND MGD0.DELAY_COMPLETE_YN = 'Y'))/**발송 지연 건이 아니거나 지연건이라면 처리 완료된 건만 보여지도록 처리*/
|
||||||
|
ORDER BY
|
||||||
|
MGD0.regDate DESC
|
||||||
|
|
||||||
|
LIMIT 3
|
||||||
|
) MGD,
|
||||||
|
|
||||||
|
(SELECT
|
||||||
|
MSG_ID AS msgId
|
||||||
|
, MSG_GROUP_ID AS msgGroupId
|
||||||
|
, USER_ID AS userId
|
||||||
|
, USERDATA AS userdata
|
||||||
|
, CUR_STATE AS curState
|
||||||
|
, SENT_DATE AS sentDate
|
||||||
|
, REQ_DATE AS reqDate,
|
||||||
|
(<include refid="MjonMsgSentDAO.selectAgentResultQuery_A"/>) AS result
|
||||||
|
, RSLT_CODE AS rsltCode
|
||||||
|
, RSLT_CODE2 AS rsltCode2
|
||||||
|
, RSLT_NET AS rsltNet
|
||||||
|
, CALL_FROM AS callFrom
|
||||||
|
, CALL_TO AS callTo
|
||||||
|
, SMS_TXT AS smsTxt
|
||||||
|
, MSG_TYPE AS msgType
|
||||||
|
, AGENT_CODE AS agentCode
|
||||||
|
, DEL_FLAG AS delFlag
|
||||||
|
, FILE_CNT AS fileCnt
|
||||||
|
, FILE_PATH1 AS filePath1
|
||||||
|
, FILE_PATH2 AS filePath2
|
||||||
|
, FILE_PATH3 AS filePath3
|
||||||
|
, NEO_TYPE AS neoType
|
||||||
|
, RESERVE_C_YN AS reserveCYn
|
||||||
|
, REFUND_YN AS refundYn
|
||||||
|
FROM
|
||||||
|
MJ_MSG_DATA A
|
||||||
|
WHERE
|
||||||
|
A.USER_ID = #mberId#
|
||||||
|
AND A.MSG_TYPE IN (4, 6)
|
||||||
|
GROUP BY A.MSG_GROUP_ID
|
||||||
|
)A
|
||||||
|
|
||||||
|
WHERE 1=1
|
||||||
|
AND A.msgGroupId = MGD.MSG_GROUP_ID
|
||||||
|
|
||||||
|
|
||||||
|
</select>
|
||||||
|
|
||||||
<select id="mberManageDAO.selectMberMsgSentLatestList2" parameterClass="String" resultClass="mjonMsgSentVO">
|
<select id="mberManageDAO.selectMberMsgSentLatestList2" parameterClass="String" resultClass="mjonMsgSentVO">
|
||||||
SELECT
|
SELECT
|
||||||
msgId
|
msgId
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user