2024-03-21 14:15 마이페이지 성능개선을 위해서 이용내역 ajax로 분리 처리함
This commit is contained in:
parent
bf289e9e42
commit
f02d3bfd5c
@ -293,6 +293,9 @@ public class EgovMypageController {
|
||||
model.addAttribute("mberManageVO", mberManageVO);
|
||||
}
|
||||
|
||||
/*
|
||||
* #1.로딩 문제 해결을 위해 ajax로 이전 2024-03-21
|
||||
* /web/user/subcontent/mberInfo_cash_pointAjax.do
|
||||
{//캐시 정보
|
||||
List<MjonPayVO> cashInfoList = mjonPayService.selectCashInfoList(userId);
|
||||
model.addAttribute("cashInfoList", cashInfoList);
|
||||
@ -302,9 +305,15 @@ public class EgovMypageController {
|
||||
List<MjonPayVO> pointInfoList = mjonPayService.selectPointInfoList(userId);
|
||||
model.addAttribute("pointInfoList", pointInfoList);
|
||||
}
|
||||
*/
|
||||
|
||||
MjonMsgVO mjonMsgVO = new MjonMsgVO();
|
||||
mjonMsgVO.setUserId(userId);
|
||||
|
||||
/*
|
||||
* #2.로딩 문제 해결을 위해 ajax로 이전 2024-03-21
|
||||
* /web/user/subcontent/mberInfo_send_reservAjax.do
|
||||
*
|
||||
{ // 발송건수
|
||||
mjonMsgVO.setReserveYn("N");
|
||||
List<MjonMsgVO> sendTotList = mjonMsgService.selectWithKakaoSendTotCnt(mjonMsgVO);
|
||||
@ -316,7 +325,7 @@ public class EgovMypageController {
|
||||
List<MjonMsgVO> reservToList = mjonMsgService.selectWithKakaoSendTotCnt(mjonMsgVO);
|
||||
model.addAttribute("reservToList", reservToList);
|
||||
}
|
||||
|
||||
*/
|
||||
|
||||
|
||||
{// 충전캐시
|
||||
@ -329,12 +338,14 @@ public class EgovMypageController {
|
||||
model.addAttribute("sumPoint", sumPoint);
|
||||
}
|
||||
|
||||
/*
|
||||
{// 총 사용금액
|
||||
MjonPayVO mjonPayVO = new MjonPayVO();
|
||||
mjonPayVO.setUserId(userId);
|
||||
List<MjonPayVO> usedCashTotList = mjonPayService.selectUsedCashWithKakaoTotCnt(mjonPayVO);
|
||||
model.addAttribute("usedCashTotList", usedCashTotList);
|
||||
}
|
||||
*/
|
||||
|
||||
{// 사용가능한 금액
|
||||
MberManageVO mberManageVO = mjonMsgDataService.selectMberManageInfo(userId);
|
||||
@ -437,6 +448,75 @@ public class EgovMypageController {
|
||||
return "web/user/mberInfoIndex";
|
||||
}
|
||||
|
||||
/**
|
||||
* 마이페이지 - 이용내역 - ajax
|
||||
* @param mjonMsgVO
|
||||
* @param model
|
||||
* @return "/web/member/pay/PayUserListAjax.do"
|
||||
* @throws Exception
|
||||
*/
|
||||
@RequestMapping(value="/web/user/subcontent/mberInfo_cash_pointAjax.do")
|
||||
public String mberInfo_cash_pointAjax(@ModelAttribute("searchVO") MjonMsgVO mjonMsgVO,
|
||||
HttpServletRequest request,
|
||||
ModelMap model) throws Exception{
|
||||
|
||||
System.out.println("mberInfo_cash_pointAjax");
|
||||
|
||||
LoginVO loginVO = (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser();
|
||||
String userId = loginVO == null ? "" : EgovStringUtil.isNullToString(loginVO.getId());
|
||||
|
||||
|
||||
{//캐시 정보
|
||||
List<MjonPayVO> cashInfoList = mjonPayService.selectCashInfoList(userId);
|
||||
model.addAttribute("cashInfoList", cashInfoList);
|
||||
}
|
||||
|
||||
{//포인트 정보
|
||||
List<MjonPayVO> pointInfoList = mjonPayService.selectPointInfoList(userId);
|
||||
model.addAttribute("pointInfoList", pointInfoList);
|
||||
}
|
||||
|
||||
System.out.println("mberInfo_cash_pointAjax_end");
|
||||
|
||||
return "/web/user/subcontent/mberInfo_cash_pointAjax";
|
||||
}
|
||||
|
||||
/**
|
||||
* 마이페이지 - 이용내역 - 발송건수/예약건수 ajax
|
||||
* @param mjonMsgVO
|
||||
* @param model
|
||||
* @return "/web/member/pay/PayUserListAjax.do"
|
||||
* @throws Exception
|
||||
*/
|
||||
@RequestMapping(value="/web/user/subcontent/mberInfo_send_reservAjax.do")
|
||||
public String mberInfo_send_reservAjax(
|
||||
HttpServletRequest request,
|
||||
ModelMap model) throws Exception{
|
||||
|
||||
System.out.println("mberInfo_cash_pointAjax");
|
||||
|
||||
LoginVO loginVO = (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser();
|
||||
String userId = loginVO == null ? "" : EgovStringUtil.isNullToString(loginVO.getId());
|
||||
|
||||
MjonMsgVO mjonMsgVO = new MjonMsgVO();
|
||||
mjonMsgVO.setUserId(userId);
|
||||
|
||||
{ // 발송건수
|
||||
mjonMsgVO.setReserveYn("N");
|
||||
List<MjonMsgVO> sendTotList = mjonMsgService.selectWithKakaoSendTotCnt(mjonMsgVO);
|
||||
model.addAttribute("sendTotList", sendTotList);
|
||||
}
|
||||
|
||||
{ // 예약건수
|
||||
mjonMsgVO.setReserveYn("Y");
|
||||
List<MjonMsgVO> reservToList = mjonMsgService.selectWithKakaoSendTotCnt(mjonMsgVO);
|
||||
model.addAttribute("reservToList", reservToList);
|
||||
}
|
||||
|
||||
System.out.println("mberInfo_cash_pointAjax_end");
|
||||
|
||||
return "/web/user/subcontent/mberInfo_send_reservAjax";
|
||||
}
|
||||
|
||||
//발송문자 건수 계산하는 함수
|
||||
public String[] getTotalSendCnt(List<MjonMsgSentVO> mjonMsgSentVO) {
|
||||
|
||||
@ -6605,6 +6605,7 @@
|
||||
|
||||
<!-- 사용자 총 사용금액 조회(카카오 테스트용) -->
|
||||
<select id="mjonMsgDAO.selectWithKakaoSendTotCnt" parameterClass="mjonMsgVO" resultClass="mjonMsgVO">
|
||||
/* mjonMsgDAO.selectWithKakaoSendTotCnt */
|
||||
WITH TBL AS
|
||||
(
|
||||
SELECT
|
||||
|
||||
@ -2149,6 +2149,7 @@
|
||||
</select>
|
||||
|
||||
<select id="mjonPayDAO.selectUsedCashWithKakaoTotCnt" parameterClass="mjonPayVO" resultClass="mjonPayVO">
|
||||
/* mjonPayDAO.selectUsedCashWithKakaoTotCnt */
|
||||
SELECT
|
||||
'CASH' AS divFlag
|
||||
, ifnull(ROUND(SUM(M.eachPrice) + (SUM(M.totalPrice) * 0), 2), 0) AS totalPrice
|
||||
|
||||
@ -40,6 +40,11 @@ $(document).ready(function(){
|
||||
|
||||
thisYearStart = date.getFullYear() + "/01/01" ;
|
||||
thisYearEnd = date.getFullYear() + "/12/31" ;
|
||||
|
||||
//이용내역 loading
|
||||
subContent(); //이용내역 총금액
|
||||
|
||||
subContentSendReserv(); //발송,예약건수
|
||||
});
|
||||
|
||||
//기간 요일 지정
|
||||
@ -68,6 +73,76 @@ function payUserListAjax(pageNo){
|
||||
});
|
||||
}
|
||||
|
||||
//마이페이지 - 세부내역
|
||||
function subContent(p_content_no){
|
||||
|
||||
var sendData = $(document.listForm).serializeArray();
|
||||
var v_html_pre = '<table>'
|
||||
+ '<caption>구분, 충전금액, 사용금액, 잔액 등 정보를 제공하는 표</caption>'
|
||||
+ '<colgroup>'
|
||||
+ '<col style="width: 115px;">'
|
||||
+ '<col style="width: calc((100% - 115px)/3);">'
|
||||
+ '<col style="width: calc((100% - 115px)/3);">'
|
||||
+ '<col style="width: calc((100% - 115px)/3);">'
|
||||
+ '</colgroup>'
|
||||
+ '<thead>'
|
||||
+ '<tr>'
|
||||
+ '<th scope="col">구분</th>'
|
||||
+ '<th scope="col">충전금액</th>'
|
||||
+ '<th scope="col">사용금액</th>'
|
||||
+ '<th scope="col">잔액</th>'
|
||||
+ '</tr>'
|
||||
+ '</thead>'
|
||||
+ '<tbody>'
|
||||
+ '<tr><td colspan="4">LOADING...</td></tr>'
|
||||
+ '</tbody>'
|
||||
+ '</table>';
|
||||
//$("#prePaymentYn_Y").html('<div class="list_info"><table class="tType4"><tbody><tr><td colspan="12">LOADING...</td></tr></tbody></table></div>');
|
||||
$("#prePaymentYn_Y").html(v_html_pre);
|
||||
|
||||
|
||||
|
||||
$("#prePaymentYn_Y").load("/web/user/subcontent/mberInfo_cash_pointAjax.do", sendData ,function(response, status, xhr){
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
//마이페이지 - 세부내역 - 발송/예약건수
|
||||
function subContentSendReserv(p_content_no){
|
||||
|
||||
var sendData = $(document.listForm).serializeArray();
|
||||
var v_html_pre = '<table>'
|
||||
+ '<caption>구분, 문자, 알림톡, 친구톡, 팩스, 계 등 정보를 제공하는 표</caption>'
|
||||
+ '<colgroup>'
|
||||
+ '<col style="width: calc(100% / 5);">'
|
||||
+ '<col style="width: calc(100% / 5);">'
|
||||
+ '<col style="width: calc(100% / 5);">'
|
||||
+ '<col style="width: calc(100% / 5);">'
|
||||
+ '<col style="width: calc(100% / 5);">'
|
||||
+ '</colgroup>'
|
||||
+ '<thead>'
|
||||
+ '<tr>'
|
||||
+ '<th scope="col">구분</th>'
|
||||
+ '<th scope="col">문자</th>'
|
||||
+ '<th scope="col">알림톡</th>'
|
||||
+ '<th scope="col">팩스</th>'
|
||||
+ '<th scope="col">계</th>'
|
||||
+ '</tr>'
|
||||
+ '</thead>'
|
||||
+ '<tbody>'
|
||||
+ '<tr><td colspan="5">LOADING...</td></tr>'
|
||||
+ '</tbody>'
|
||||
+ '</table>';
|
||||
//$("#prePaymentYn_Y").html('<div class="list_info"><table class="tType4"><tbody><tr><td colspan="12">LOADING...</td></tr></tbody></table></div>');
|
||||
$("#send_reserv").html(v_html_pre);
|
||||
|
||||
|
||||
|
||||
$("#send_reserv").load("/web/user/subcontent/mberInfo_send_reservAjax.do", sendData ,function(response, status, xhr){
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
//[문자]상세보기 버튼 실행
|
||||
function fnRevDetailPop(msgGroupId, fileCnt){
|
||||
document.resPopForm.msgGroupId.value = msgGroupId;
|
||||
@ -370,43 +445,8 @@ function getMberGrdChk() {
|
||||
<c:choose>
|
||||
<c:when test="${mberManageVO.prePaymentYn eq 'Y'}">
|
||||
<p class="reqTxt2">(단위 : 건, 원)</p>
|
||||
<div class="table_wrap">
|
||||
<table>
|
||||
<caption>구분, 충전금액, 사용금액, 잔액 등 정보를 제공하는 표</caption>
|
||||
<colgroup>
|
||||
<col style="width: 115px;">
|
||||
<col style="width: calc((100% - 115px)/3);">
|
||||
<col style="width: calc((100% - 115px)/3);">
|
||||
<col style="width: calc((100% - 115px)/3);">
|
||||
</colgroup>
|
||||
<thead>
|
||||
<tr>
|
||||
<th scope="col">구분</th>
|
||||
<th scope="col">충전금액</th>
|
||||
<th scope="col">사용금액</th>
|
||||
<th scope="col">잔액</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>캐시</td>
|
||||
<c:forEach var="cashInfo" items="${cashInfoList}" varStatus="status">
|
||||
<td>
|
||||
<fmt:formatNumber value="${cashInfo.cashSum}" pattern="" />
|
||||
</td>
|
||||
</c:forEach>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>포인트</td>
|
||||
<c:forEach var="pointInfo" items="${pointInfoList}" varStatus="status">
|
||||
<td>
|
||||
<fmt:formatNumber value="${pointInfo.sumPay}" pattern="" />
|
||||
</td>
|
||||
</c:forEach>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<div class="table_wrap" id="prePaymentYn_Y">
|
||||
</div>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
<p class="reqTxt2">(단위 : 건, 원) VAT 별도</p>
|
||||
@ -487,61 +527,8 @@ function getMberGrdChk() {
|
||||
<button type="button" onclick="location.href='/web/member/pay/PayUserSWList.do';">
|
||||
<img src="/publish/images/content/mypage_plus.png" alt="더보기">
|
||||
</button>
|
||||
<div class="table_wrap">
|
||||
<table>
|
||||
<caption>구분, 문자, 알림톡, 친구톡, 팩스, 계 등 정보를 제공하는 표</caption>
|
||||
<colgroup>
|
||||
<col style="width: calc(100% / 5);">
|
||||
<col style="width: calc(100% / 5);">
|
||||
<col style="width: calc(100% / 5);">
|
||||
<col style="width: calc(100% / 5);">
|
||||
<col style="width: calc(100% / 5);">
|
||||
</colgroup>
|
||||
<thead>
|
||||
<tr>
|
||||
<th scope="col">구분</th>
|
||||
<th scope="col">문자</th>
|
||||
<th scope="col">알림톡</th>
|
||||
<th scope="col">팩스</th>
|
||||
<th scope="col">계</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>발송건(매)수</td>
|
||||
<c:set var="sandSum" value="0"/>
|
||||
<c:forEach var="sendToInfo" items="${sendTotList}" varStatus="status">
|
||||
<td>
|
||||
<fmt:formatNumber value="${sendToInfo.totCnt}" pattern="" />
|
||||
<c:if test="${sendToInfo.msgType eq 'fax' && sendToInfo.fileCnt ne '0'}">
|
||||
(<c:out value="${sendToInfo.fileCnt }"/>)
|
||||
</c:if>
|
||||
</td>
|
||||
<c:set var="sandSum" value="${sandSum + sendToInfo.totCnt}"/>
|
||||
</c:forEach>
|
||||
<td>
|
||||
<fmt:formatNumber value="${sandSum}" pattern="" />
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>예약건(매)수</td>
|
||||
<c:set var="reservSum" value="0"/>
|
||||
<c:forEach var="reservToInfo" items="${reservToList}" varStatus="status">
|
||||
<td>
|
||||
<fmt:formatNumber value="${reservToInfo.totCnt}" pattern="" />
|
||||
<c:if test="${reservToInfo.msgType eq 'fax' && reservToInfo.fileCnt ne '0'}">
|
||||
(<c:out value="${reservToInfo.fileCnt }"/>)
|
||||
</c:if>
|
||||
</td>
|
||||
<c:set var="reservSum" value="${reservSum + reservToInfo.totCnt}"/>
|
||||
</c:forEach>
|
||||
<td>
|
||||
<fmt:formatNumber value="${reservSum}" pattern="" />
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<div class="table_wrap" id="send_reserv">
|
||||
</div>
|
||||
</div>
|
||||
<p class="tType1_title">
|
||||
<img src="/publish/images/content/icon_details_breakdown.png" alt="알림톡 아이콘 이미지">세부내역
|
||||
|
||||
@ -0,0 +1,61 @@
|
||||
<%--
|
||||
Class Name : mberInfo_cash_point.jsp
|
||||
Description : 마이페이지 - 이용내역 캐시&포인트
|
||||
Modification Information
|
||||
|
||||
수정일 수정자 수정내용
|
||||
------- -------- ---------------------------
|
||||
2021.03.31 신명섭 최초 생성
|
||||
|
||||
Copyright (C) 2009 by ITN All right reserved.
|
||||
--%>
|
||||
<%@ page contentType="text/html; charset=utf-8"%>
|
||||
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
|
||||
<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%>
|
||||
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>
|
||||
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
|
||||
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
|
||||
<%@ taglib prefix="ec" uri="/WEB-INF/tld/ecnet_tld.tld"%>
|
||||
|
||||
<script src="/publish/js/content.js"></script>
|
||||
<script>
|
||||
$(document).ready(function(){
|
||||
|
||||
});
|
||||
|
||||
</script>
|
||||
<table>
|
||||
<caption>구분, 충전금액, 사용금액, 잔액 등 정보를 제공하는 표</caption>
|
||||
<colgroup>
|
||||
<col style="width: 115px;">
|
||||
<col style="width: calc((100% - 115px)/3);">
|
||||
<col style="width: calc((100% - 115px)/3);">
|
||||
<col style="width: calc((100% - 115px)/3);">
|
||||
</colgroup>
|
||||
<thead>
|
||||
<tr>
|
||||
<th scope="col">구분</th>
|
||||
<th scope="col">충전금액</th>
|
||||
<th scope="col">사용금액</th>
|
||||
<th scope="col">잔액</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>캐시</td>
|
||||
<c:forEach var="cashInfo" items="${cashInfoList}" varStatus="status">
|
||||
<td>
|
||||
<fmt:formatNumber value="${cashInfo.cashSum}" pattern="" />
|
||||
</td>
|
||||
</c:forEach>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>포인트</td>
|
||||
<c:forEach var="pointInfo" items="${pointInfoList}" varStatus="status">
|
||||
<td>
|
||||
<fmt:formatNumber value="${pointInfo.sumPay}" pattern="" />
|
||||
</td>
|
||||
</c:forEach>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
@ -0,0 +1,79 @@
|
||||
<%--
|
||||
Class Name : mberInfo_cash_point.jsp
|
||||
Description : 마이페이지 - 이용내역 캐시&포인트
|
||||
Modification Information
|
||||
|
||||
수정일 수정자 수정내용
|
||||
------- -------- ---------------------------
|
||||
2021.03.31 신명섭 최초 생성
|
||||
|
||||
Copyright (C) 2009 by ITN All right reserved.
|
||||
--%>
|
||||
<%@ page contentType="text/html; charset=utf-8"%>
|
||||
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
|
||||
<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%>
|
||||
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>
|
||||
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
|
||||
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
|
||||
<%@ taglib prefix="ec" uri="/WEB-INF/tld/ecnet_tld.tld"%>
|
||||
|
||||
<script src="/publish/js/content.js"></script>
|
||||
<script>
|
||||
$(document).ready(function(){
|
||||
|
||||
});
|
||||
|
||||
</script>
|
||||
<table>
|
||||
<caption>구분, 문자, 알림톡, 친구톡, 팩스, 계 등 정보를 제공하는 표</caption>
|
||||
<colgroup>
|
||||
<col style="width: calc(100% / 5);">
|
||||
<col style="width: calc(100% / 5);">
|
||||
<col style="width: calc(100% / 5);">
|
||||
<col style="width: calc(100% / 5);">
|
||||
<col style="width: calc(100% / 5);">
|
||||
</colgroup>
|
||||
<thead>
|
||||
<tr>
|
||||
<th scope="col">구분</th>
|
||||
<th scope="col">문자</th>
|
||||
<th scope="col">알림톡</th>
|
||||
<th scope="col">팩스</th>
|
||||
<th scope="col">계</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>발송건(매)수</td>
|
||||
<c:set var="sandSum" value="0"/>
|
||||
<c:forEach var="sendToInfo" items="${sendTotList}" varStatus="status">
|
||||
<td>
|
||||
<fmt:formatNumber value="${sendToInfo.totCnt}" pattern="" />
|
||||
<c:if test="${sendToInfo.msgType eq 'fax' && sendToInfo.fileCnt ne '0'}">
|
||||
(<c:out value="${sendToInfo.fileCnt }"/>)
|
||||
</c:if>
|
||||
</td>
|
||||
<c:set var="sandSum" value="${sandSum + sendToInfo.totCnt}"/>
|
||||
</c:forEach>
|
||||
<td>
|
||||
<fmt:formatNumber value="${sandSum}" pattern="" />
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>예약건(매)수</td>
|
||||
<c:set var="reservSum" value="0"/>
|
||||
<c:forEach var="reservToInfo" items="${reservToList}" varStatus="status">
|
||||
<td>
|
||||
<fmt:formatNumber value="${reservToInfo.totCnt}" pattern="" />
|
||||
<c:if test="${reservToInfo.msgType eq 'fax' && reservToInfo.fileCnt ne '0'}">
|
||||
(<c:out value="${reservToInfo.fileCnt }"/>)
|
||||
</c:if>
|
||||
</td>
|
||||
<c:set var="reservSum" value="${reservSum + reservToInfo.totCnt}"/>
|
||||
</c:forEach>
|
||||
<td>
|
||||
<fmt:formatNumber value="${reservSum}" pattern="" />
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
Loading…
Reference in New Issue
Block a user