후불제 고객 마이페이지 이용내역 정보 표시 추가

This commit is contained in:
rosewiper 2024-01-02 12:35:13 +09:00
parent bbc89cd149
commit 2ba3dd567d
4 changed files with 162 additions and 53 deletions

View File

@ -2647,20 +2647,14 @@ public class MjonPayController {
//누적 사용금액 조회 (캐시 테이블에서 현재까지 사용된 금액 합산 - 캐시 테이블에서 "-" 사용된 금액만 합산)
String totSumCashAfterPay = mjonPayService.selectTotalSumCashForAfterPay(userId);
System.out.println(totSumCashAfterPay);
model.addAttribute("totSumCashAfterPay", totSumCashAfterPay);
//누적 사용 포인트 조회 (포인트 테이블에서 현재까지 사용된 포인트 합산 - 회원 포인트 정보 업데이트시 사용되는 쿼리 이용)
String totSumPointAfterPay = mjonPayService.selectTotalSumPointForAfterPay(userId);
System.out.println(totSumPointAfterPay);
model.addAttribute("totSumPointAfterPay", totSumPointAfterPay);
//누적 납부금액 조회 (후불회원이 사용금액을 납부한 금액 합산 - 미납 금액 제외한 합산 금액)
String totSumPaymentAfterPay = mjonPayService.selectTotSumPaymentAfterPay(userId);
System.out.println(totSumPaymentAfterPay);
model.addAttribute("totSumPaymentAfterPay", totSumPaymentAfterPay);
//누적 납부 포인트 조회 ( 누적 납부금액 합산에 대한 2% 포인트 정보 계산)
@ -2670,22 +2664,15 @@ public class MjonPayController {
p_i_re_point = sysJoinSetVO.getPointPer();
}
int paymentPointAfterPay = Math.round((Float.parseFloat(totSumPaymentAfterPay) * p_i_re_point / 100));
System.out.println(paymentPointAfterPay);
model.addAttribute("sumPaymentPointAfterPay", paymentPointAfterPay);
//당월 납부 예상금액 (누적 사용금액 합산 - 누적 납부금액 합산 정보 계산)
float unPaymentAfterPay = Float.parseFloat(totSumCashAfterPay) - Float.parseFloat(totSumPaymentAfterPay);
System.out.println(unPaymentAfterPay);
model.addAttribute("unPaymentAfterPay", unPaymentAfterPay);
//당월 납부 예상 포인트 (당월 납부 예상 금액에 대한 2% 포인트 정보 계산)
int unPaymentPointAfterPay = Math.round((unPaymentAfterPay * p_i_re_point / 100));
System.out.println(unPaymentPointAfterPay);
model.addAttribute("unPaymentPointAfterPay", unPaymentPointAfterPay);
}

View File

@ -392,6 +392,48 @@ public class EgovMypageController {
model.addAttribute("pageTab", "myPageIndex");
model.addAttribute("loginVO", loginVO);
{
/**
* 후불제 회원 관련 사용 요금 내역 정보 조회하기
* 20240102 우영두 추가
* 누적사용금액, 누적 납부금액, 당월 납부 예상금액 정보 조회
*
* */
//누적 사용금액 조회 (캐시 테이블에서 현재까지 사용된 금액 합산 - 캐시 테이블에서 "-" 사용된 금액만 합산)
String totSumCashAfterPay = mjonPayService.selectTotalSumCashForAfterPay(userId);
model.addAttribute("totSumCashAfterPay", totSumCashAfterPay);
//누적 사용 포인트 조회 (포인트 테이블에서 현재까지 사용된 포인트 합산 - 회원 포인트 정보 업데이트시 사용되는 쿼리 이용)
String totSumPointAfterPay = mjonPayService.selectTotalSumPointForAfterPay(userId);
model.addAttribute("totSumPointAfterPay", totSumPointAfterPay);
//누적 납부금액 조회 (후불회원이 사용금액을 납부한 금액 합산 - 미납 금액 제외한 합산 금액)
String totSumPaymentAfterPay = mjonPayService.selectTotSumPaymentAfterPay(userId);
model.addAttribute("totSumPaymentAfterPay", totSumPaymentAfterPay);
//누적 납부 포인트 조회 ( 누적 납부금액 합산에 대한 2% 포인트 정보 계산)
float p_i_re_point = 0;
JoinSettingVO sysJoinSetVO = mjonMsgDataService.selectJoinSettingInfo();
if (sysJoinSetVO != null) {
p_i_re_point = sysJoinSetVO.getPointPer();
}
int paymentPointAfterPay = Math.round((Float.parseFloat(totSumPaymentAfterPay) * p_i_re_point / 100));
model.addAttribute("sumPaymentPointAfterPay", paymentPointAfterPay);
//당월 납부 예상금액 (누적 사용금액 합산 - 누적 납부금액 합산 정보 계산)
float unPaymentAfterPay = Float.parseFloat(totSumCashAfterPay) - Float.parseFloat(totSumPaymentAfterPay);
model.addAttribute("unPaymentAfterPay", unPaymentAfterPay);
//당월 납부 예상 포인트 (당월 납부 예상 금액에 대한 2% 포인트 정보 계산)
int unPaymentPointAfterPay = Math.round((unPaymentAfterPay * p_i_re_point / 100));
model.addAttribute("unPaymentPointAfterPay", unPaymentPointAfterPay);
}
return "web/user/mberInfoIndex";
}

View File

@ -2188,7 +2188,7 @@
<select id="mjonPayDAO.selectCashInfoList" parameterClass="String" resultClass="mjonPayVO">
SELECT
'chargeCash' AS divFlag
,SUM(CASH) AS cashSum
,NVL(SUM(CASH),0) AS cashSum
FROM
MJ_PG
WHERE 1=1
@ -2225,7 +2225,7 @@
<![CDATA[
SELECT
'chargePoint' AS divFlag
,SUM(POINT) AS sumPay
,NVL(SUM(POINT),0) AS sumPay
FROM
MJ_POINT
WHERE 1=1

View File

@ -365,44 +365,124 @@ function getMberGrdChk() {
</div>
<div class="my_dashboard_cont3">
<p class="dashboard_title">이용내역</p>
<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>
<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>
</c:when>
<c:otherwise>
<p class="reqTxt2">(단위 : 건, 원) VAT 별도</p>
<div class="table_wrap">
<table>
<caption>구분, 충전금액, 사용금액, 잔액 등 정보를 제공하는 표</caption>
<colgroup>
<col style="width: 115px;">
<col style="width: calc((100% - 115px)/4);">
<col style="width: calc((100% - 115px)/4);">
<col style="width: calc((100% - 115px)/4);">
<col style="width: calc((100% - 115px)/4);">
</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:forEach var="cashInfo" items="${cashInfoList}" varStatus="status">
<td>
<fmt:formatNumber value="${cashInfo.cashSum}" pattern="" />
</td>
</c:forEach> --%>
<td>
<%-- 누적 사용금액 => 현재까지 실제 문자발송에 사용된 캐시의 합산 --%>
<fmt:formatNumber value="${totSumCashAfterPay}" pattern="" />
</td>
<td>
<%-- 누적 납부금액 => 현재까지 실제 납입하여 결제 완료 처리된 금액 (미납금액 제외) --%>
<fmt:formatNumber value="${totSumPaymentAfterPay}" pattern="" />
</td>
<td>
<%-- 당월 납부 예상 금액 => (누적 사용금액 - 누적 납부금액) --%>
<fmt:formatNumber value="${unPaymentAfterPay}" pattern="" />
</td>
<td>
<%-- 현재 회원의 보유잔액(캐시) --%>
<fmt:formatNumber value="${mberManageVO.userMoney}" pattern="" />
</td>
</tr>
<tr>
<td>포인트</td>
<%-- <c:forEach var="pointInfo" items="${pointInfoList}" varStatus="status">
<td>
<fmt:formatNumber value="${pointInfo.sumPay}" pattern="" />
</td>
</c:forEach> --%>
<td>
<%-- 현재까지 적립된 포인트의 합산 --%>
<fmt:formatNumber value="${totSumPointAfterPay}" pattern="" />
</td>
<td>
<%-- 누적 납부금액에 대한 2%의 포인트 --%>
<fmt:formatNumber value="${sumPaymentPointAfterPay}" pattern="" />
</td>
<td>
<%-- 당월 납부 예상금액에 대한 2%의 포인트 --%>
<fmt:formatNumber value="${unPaymentPointAfterPay}" pattern="" />
</td>
<td>
<%-- 현재 회원의 보유 포인트 --%>
<fmt:formatNumber value="${mberManageVO.userPoint}" pattern="" />
</td>
</tr>
</tbody>
</table>
</div>
</c:otherwise>
</c:choose>
<button type="button" onclick="location.href='/web/member/pay/PayUserList.do';">
<img src="/publish/images/content/mypage_plus.png" alt="더보기">
</button>