2024-03-20 16:34 마이페이지 최근 발송내역-문자 쿼리 성능개선
@bf289e9e42d585e3c8d6c4deec74ca7c30822c67
--- src/main/java/itn/let/uat/uia/service/impl/EgovMberManageServiceImpl.java
+++ src/main/java/itn/let/uat/uia/service/impl/EgovMberManageServiceImpl.java
... | ... | @@ -378,6 +378,9 @@ |
| 378 | 378 |
public List<MjonMsgSentVO> selectMberMsgSentLatestList(String mberId) throws Exception{
|
| 379 | 379 |
return mberManageDAO.selectMberMsgSentLatestList(mberId); |
| 380 | 380 |
} |
| 381 |
+ public List<MjonMsgSentVO> selectMberMsgSentLatestListNew20240320(String mberId) throws Exception{
|
|
| 382 |
+ return mberManageDAO.selectMberMsgSentLatestListNew20240320(mberId); |
|
| 383 |
+ } |
|
| 381 | 384 |
|
| 382 | 385 |
//회원 최근 발송 문자내용 3개 불러오기(예약) |
| 383 | 386 |
public List<MjonMsgSentVO> selectMberMsgSentLatestList2(String mberId) throws Exception{
|
--- src/main/java/itn/let/uat/uia/service/impl/MberManageDAO.java
+++ src/main/java/itn/let/uat/uia/service/impl/MberManageDAO.java
... | ... | @@ -212,6 +212,10 @@ |
| 212 | 212 |
public List<MjonMsgSentVO> selectMberMsgSentLatestList(String mberId) throws Exception{
|
| 213 | 213 |
return (List<MjonMsgSentVO>) list("mberManageDAO.selectMberMsgSentLatestList", mberId);
|
| 214 | 214 |
} |
| 215 |
+ @SuppressWarnings("unchecked")
|
|
| 216 |
+ public List<MjonMsgSentVO> selectMberMsgSentLatestListNew20240320(String mberId) throws Exception{
|
|
| 217 |
+ return (List<MjonMsgSentVO>) list("mberManageDAO.selectMberMsgSentLatestListNew20240320", mberId);
|
|
| 218 |
+ } |
|
| 215 | 219 |
|
| 216 | 220 |
//회원 최근 발송 문자내용 3개 불러오기(예약) |
| 217 | 221 |
@SuppressWarnings("unchecked")
|
--- src/main/java/itn/let/uat/uia/web/EgovMypageController.java
+++ src/main/java/itn/let/uat/uia/web/EgovMypageController.java
... | ... | @@ -363,7 +363,7 @@ |
| 363 | 363 |
} |
| 364 | 364 |
|
| 365 | 365 |
{//최근 발송 문자 내용 불러오기 - 최근 3개 내역만
|
| 366 |
- List<MjonMsgSentVO> mjonMsgSentList = mberManageService.selectMberMsgSentLatestList(userId); |
|
| 366 |
+ List<MjonMsgSentVO> mjonMsgSentList = mberManageService.selectMberMsgSentLatestListNew20240320(userId); |
|
| 367 | 367 |
model.addAttribute("mjonMsgSentList", mjonMsgSentList);
|
| 368 | 368 |
} |
| 369 | 369 |
|
--- src/main/java/itn/let/uss/umt/service/EgovMberManageService.java
+++ src/main/java/itn/let/uss/umt/service/EgovMberManageService.java
... | ... | @@ -198,6 +198,8 @@ |
| 198 | 198 |
|
| 199 | 199 |
//회원 최근 발송 문자내용 3개 불러오기 |
| 200 | 200 |
public List<MjonMsgSentVO> selectMberMsgSentLatestList(String mberId) throws Exception; |
| 201 |
+ //성능개선 2024-03-20 |
|
| 202 |
+ public List<MjonMsgSentVO> selectMberMsgSentLatestListNew20240320(String mberId) throws Exception; |
|
| 201 | 203 |
|
| 202 | 204 |
//회원 최근 발송 문자내용 3개 불러오기(예약) |
| 203 | 205 |
public List<MjonMsgSentVO> selectMberMsgSentLatestList2(String mberId) throws Exception; |
--- src/main/java/itn/let/uss/umt/web/EgovUserManageController.java
+++ src/main/java/itn/let/uss/umt/web/EgovUserManageController.java
... | ... | @@ -1194,7 +1194,7 @@ |
| 1194 | 1194 |
model.addAttribute("flowTypeCode", cmmUseService.selectCmmCodeDetail(vo));
|
| 1195 | 1195 |
|
| 1196 | 1196 |
//최근 발송 문자 내용 불러오기 - 최근 3개 내역만 |
| 1197 |
- List<MjonMsgSentVO> mjonMsgSentList = mberManageService.selectMberMsgSentLatestList(userId); |
|
| 1197 |
+ List<MjonMsgSentVO> mjonMsgSentList = mberManageService.selectMberMsgSentLatestListNew20240320(userId); |
|
| 1198 | 1198 |
model.addAttribute("mjonMsgSentList", mjonMsgSentList);
|
| 1199 | 1199 |
|
| 1200 | 1200 |
//최근 발송 문자 내용 불러오기 - 최근 3개 내역만(에약) |
--- src/main/resources/egovframework/sqlmap/let/mjo/event/Event_SQL_Mysql.xml
+++ src/main/resources/egovframework/sqlmap/let/mjo/event/Event_SQL_Mysql.xml
... | ... | @@ -74,6 +74,7 @@ |
| 74 | 74 |
|
| 75 | 75 |
<select id="MjonEventDAO.selectEventMsgMberDefaultInfo" parameterClass="eventVO" resultClass="eventVO"> |
| 76 | 76 |
|
| 77 |
+ /* MjonEventDAO.selectEventMsgMberDefaultInfo */ |
|
| 77 | 78 |
SELECT a.EVENT_INFO_ID AS eventInfoId, |
| 78 | 79 |
a.MBER_ID AS mberId, |
| 79 | 80 |
a.MBER_NM AS mberNm, |
--- src/main/resources/egovframework/sqlmap/let/msg/MjonMsgData_SQL_mysql.xml
+++ src/main/resources/egovframework/sqlmap/let/msg/MjonMsgData_SQL_mysql.xml
... | ... | @@ -2111,6 +2111,7 @@ |
| 2111 | 2111 |
|
| 2112 | 2112 |
<select id="mjonMsgDAO.selectMberManageInfo" parameterClass="String" resultClass="mberManageVO"> |
| 2113 | 2113 |
|
| 2114 |
+ /* mjonMsgDAO.selectMberManageInfo */ |
|
| 2114 | 2115 |
SELECT |
| 2115 | 2116 |
MBER_ID AS mberId |
| 2116 | 2117 |
, MBER_NM AS mberNm |
--- src/main/resources/egovframework/sqlmap/let/pay/MjonPay_SQL_mysql.xml
+++ src/main/resources/egovframework/sqlmap/let/pay/MjonPay_SQL_mysql.xml
... | ... | @@ -2187,6 +2187,7 @@ |
| 2187 | 2187 |
</select> |
| 2188 | 2188 |
|
| 2189 | 2189 |
<select id="mjonPayDAO.selectCashInfoList" parameterClass="String" resultClass="mjonPayVO"> |
| 2190 |
+ /* mjonPayDAO.selectCashInfoList */ |
|
| 2190 | 2191 |
SELECT |
| 2191 | 2192 |
'chargeCash' AS divFlag |
| 2192 | 2193 |
,NVL(SUM(CASH),0) AS cashSum |
... | ... | @@ -2223,6 +2224,7 @@ |
| 2223 | 2224 |
</select> |
| 2224 | 2225 |
|
| 2225 | 2226 |
<select id="mjonPayDAO.selectPointInfoList" parameterClass="String" resultClass="mjonPayVO"> |
| 2227 |
+ /* mjonPayDAO.selectPointInfoList */ |
|
| 2226 | 2228 |
<![CDATA[ |
| 2227 | 2229 |
SELECT |
| 2228 | 2230 |
'chargePoint' AS divFlag |
--- src/main/resources/egovframework/sqlmap/let/uss/umt/EgovMberManage_SQL_Mysql.xml
+++ src/main/resources/egovframework/sqlmap/let/uss/umt/EgovMberManage_SQL_Mysql.xml
... | ... | @@ -1318,6 +1318,7 @@ |
| 1318 | 1318 |
</select> |
| 1319 | 1319 |
|
| 1320 | 1320 |
<select id="mberManageDAO.selectMberMsgSentLatestList" parameterClass="String" resultClass="mjonMsgSentVO"> |
| 1321 |
+ /* mberManageDAO.selectMberMsgSentLatestList */ |
|
| 1321 | 1322 |
SELECT |
| 1322 | 1323 |
msgId |
| 1323 | 1324 |
, msgGroupId |
... | ... | @@ -1438,6 +1439,135 @@ |
| 1438 | 1439 |
|
| 1439 | 1440 |
</select> |
| 1440 | 1441 |
|
| 1442 |
+ <select id="mberManageDAO.selectMberMsgSentLatestListNew20240320" parameterClass="String" resultClass="mjonMsgSentVO"> |
|
| 1443 |
+ /* mberManageDAO.selectMberMsgSentLatestListNew20240320 */ |
|
| 1444 |
+ SELECT |
|
| 1445 |
+ msgId |
|
| 1446 |
+ , msgGroupId |
|
| 1447 |
+ , userId |
|
| 1448 |
+ , MGD.TOT_PRICE AS totPrice |
|
| 1449 |
+ , MGD.EACH_PRICE AS eachPrice |
|
| 1450 |
+ , MGD.MSG_GROUP_CNT AS msgGroupCnt |
|
| 1451 |
+ , (SELECT |
|
| 1452 |
+ COUNT(0) |
|
| 1453 |
+ FROM |
|
| 1454 |
+ MJ_MSG_DATA A |
|
| 1455 |
+ WHERE 1=1 |
|
| 1456 |
+ AND A.MSG_GROUP_ID = A.msgGroupId |
|
| 1457 |
+ AND (<include refid="MjonMsgSentDAO.selectAgentResultQuery_A"/>) = 'S' |
|
| 1458 |
+ ) AS successCnt |
|
| 1459 |
+ , MGD.SEND_KIND AS sendKind |
|
| 1460 |
+ , MGD.SMS_TXT AS smsTxt |
|
| 1461 |
+ , userdata |
|
| 1462 |
+ , curState |
|
| 1463 |
+ , DATE_FORMAT(sentDate, '%Y-%m-%d %T') AS sentDate |
|
| 1464 |
+ , DATE_FORMAT(reqDate, '%Y-%m-%d %T') AS reqdate |
|
| 1465 |
+ , result AS resultType |
|
| 1466 |
+ , rsltCode |
|
| 1467 |
+ , rsltCode2 |
|
| 1468 |
+ , rsltNet |
|
| 1469 |
+ , callFrom |
|
| 1470 |
+ , callTo |
|
| 1471 |
+ , agentCode |
|
| 1472 |
+ , msgType |
|
| 1473 |
+ , neoType |
|
| 1474 |
+ , delFlag |
|
| 1475 |
+ , fileCnt |
|
| 1476 |
+ , filePath1 |
|
| 1477 |
+ , filePath2 |
|
| 1478 |
+ , filePath3 |
|
| 1479 |
+ , reserveCYn |
|
| 1480 |
+ , MGD.RESERVE_YN AS reserveYn |
|
| 1481 |
+ , DATE_FORMAT(MGD.CANCELDATE, '%Y-%m-%d %T') AS cancelDate |
|
| 1482 |
+ , DATE_FORMAT(MGD.REGDATE, '%Y-%m-%d %T') AS regdate |
|
| 1483 |
+ , refundYn |
|
| 1484 |
+ , MGD.DELAY_YN AS delayYn |
|
| 1485 |
+ , MGD.DELAY_COMPLETE_YN AS delayCompleteYn |
|
| 1486 |
+ ,( |
|
| 1487 |
+ SELECT |
|
| 1488 |
+ CONCAT( |
|
| 1489 |
+ ( |
|
| 1490 |
+ IF(B.FILE_PATH1 IS NOT NULL, (SELECT |
|
| 1491 |
+ ATCH_FILE_ID |
|
| 1492 |
+ FROM LETTNFILEDETAIL |
|
| 1493 |
+ WHERE CONCAT(STRE_FILE_NM, '.', FILE_EXTSN) = CONCAT(SUBSTRING_INDEX(B.FILE_PATH1, '/', -1)) |
|
| 1494 |
+ LIMIT 1), '') |
|
| 1495 |
+ ) |
|
| 1496 |
+ ,'^', |
|
| 1497 |
+ ( |
|
| 1498 |
+ IF(B.FILE_PATH2 IS NOT NULL, (SELECT |
|
| 1499 |
+ ATCH_FILE_ID |
|
| 1500 |
+ FROM LETTNFILEDETAIL |
|
| 1501 |
+ WHERE CONCAT(STRE_FILE_NM, '.', FILE_EXTSN) = CONCAT(SUBSTRING_INDEX(B.FILE_PATH2, '/', -1)) |
|
| 1502 |
+ LIMIT 1), '') |
|
| 1503 |
+ ) |
|
| 1504 |
+ ,'^', |
|
| 1505 |
+ ( |
|
| 1506 |
+ IF(B.FILE_PATH3 IS NOT NULL, (SELECT |
|
| 1507 |
+ ATCH_FILE_ID |
|
| 1508 |
+ FROM LETTNFILEDETAIL |
|
| 1509 |
+ WHERE CONCAT(STRE_FILE_NM, '.', FILE_EXTSN) = CONCAT(SUBSTRING_INDEX(B.FILE_PATH3, '/', -1)) |
|
| 1510 |
+ LIMIT 1), '') |
|
| 1511 |
+ )) |
|
| 1512 |
+ FROM |
|
| 1513 |
+ MJ_MSG_DATA B |
|
| 1514 |
+ WHERE |
|
| 1515 |
+ B.MSG_GROUP_ID = msgGroupId |
|
| 1516 |
+ LIMIT 1 |
|
| 1517 |
+ ) AS atchFiles |
|
| 1518 |
+ FROM |
|
| 1519 |
+ ( |
|
| 1520 |
+ SELECT * |
|
| 1521 |
+ FROM MJ_MSG_GROUP_DATA MGD0 |
|
| 1522 |
+ WHERE MGD0.USER_ID = #mberId# |
|
| 1523 |
+ AND NOW() >= MGD0.REQ_DATE |
|
| 1524 |
+ AND MGD0.RESERVE_C_YN = 'N' |
|
| 1525 |
+ AND (MGD0.DELAY_YN = 'N' OR (MGD0.DELAY_YN = 'Y' AND MGD0.DELAY_COMPLETE_YN = 'Y'))/**발송 지연 건이 아니거나 지연건이라면 처리 완료된 건만 보여지도록 처리*/ |
|
| 1526 |
+ ORDER BY |
|
| 1527 |
+ MGD0.regDate DESC |
|
| 1528 |
+ |
|
| 1529 |
+ LIMIT 3 |
|
| 1530 |
+ ) MGD, |
|
| 1531 |
+ |
|
| 1532 |
+ (SELECT |
|
| 1533 |
+ MSG_ID AS msgId |
|
| 1534 |
+ , MSG_GROUP_ID AS msgGroupId |
|
| 1535 |
+ , USER_ID AS userId |
|
| 1536 |
+ , USERDATA AS userdata |
|
| 1537 |
+ , CUR_STATE AS curState |
|
| 1538 |
+ , SENT_DATE AS sentDate |
|
| 1539 |
+ , REQ_DATE AS reqDate, |
|
| 1540 |
+ (<include refid="MjonMsgSentDAO.selectAgentResultQuery_A"/>) AS result |
|
| 1541 |
+ , RSLT_CODE AS rsltCode |
|
| 1542 |
+ , RSLT_CODE2 AS rsltCode2 |
|
| 1543 |
+ , RSLT_NET AS rsltNet |
|
| 1544 |
+ , CALL_FROM AS callFrom |
|
| 1545 |
+ , CALL_TO AS callTo |
|
| 1546 |
+ , SMS_TXT AS smsTxt |
|
| 1547 |
+ , MSG_TYPE AS msgType |
|
| 1548 |
+ , AGENT_CODE AS agentCode |
|
| 1549 |
+ , DEL_FLAG AS delFlag |
|
| 1550 |
+ , FILE_CNT AS fileCnt |
|
| 1551 |
+ , FILE_PATH1 AS filePath1 |
|
| 1552 |
+ , FILE_PATH2 AS filePath2 |
|
| 1553 |
+ , FILE_PATH3 AS filePath3 |
|
| 1554 |
+ , NEO_TYPE AS neoType |
|
| 1555 |
+ , RESERVE_C_YN AS reserveCYn |
|
| 1556 |
+ , REFUND_YN AS refundYn |
|
| 1557 |
+ FROM |
|
| 1558 |
+ MJ_MSG_DATA A |
|
| 1559 |
+ WHERE |
|
| 1560 |
+ A.USER_ID = #mberId# |
|
| 1561 |
+ AND A.MSG_TYPE IN (4, 6) |
|
| 1562 |
+ GROUP BY A.MSG_GROUP_ID |
|
| 1563 |
+ )A |
|
| 1564 |
+ |
|
| 1565 |
+ WHERE 1=1 |
|
| 1566 |
+ AND A.msgGroupId = MGD.MSG_GROUP_ID |
|
| 1567 |
+ |
|
| 1568 |
+ |
|
| 1569 |
+ </select> |
|
| 1570 |
+ |
|
| 1441 | 1571 |
<select id="mberManageDAO.selectMberMsgSentLatestList2" parameterClass="String" resultClass="mjonMsgSentVO"> |
| 1442 | 1572 |
SELECT |
| 1443 | 1573 |
msgId |
Add a comment
Delete comment
Once you delete this comment, you won't be able to recover it. Are you sure you want to delete this comment?