This commit is contained in:
wyh 2023-07-17 11:23:44 +09:00
commit 07ff1e34ca
20 changed files with 477 additions and 58 deletions

View File

@ -543,7 +543,7 @@ public class AddrBlockController {
//전송사 구분 코드 - 01 : 아이하트, 02 : 현대 퓨쳐넷, 03 : 아이엠오
//mjonMsgVO.setAgentCode("01");
// 하드코딩
//sendAgent = "02";
mjonMsgVO.setAgentCode(sendAgent);

View File

@ -76,11 +76,6 @@ public class MjonEventPayV2Controller {
return "redirect:/web/user/login/login.do";
}
// 하드코딩
if(!userId.equals("nobledeco") && !userId.equals("nobledeco2") && !userId.equals("nopay")) {
return "redirect:/web/main/mainPage.do";
}
//기존 결제 내역이 있는 회원인지 확인
int payCnt = 0;
if(StringUtil.isNotEmpty(userId)) {

View File

@ -83,6 +83,8 @@ import itn.let.mjo.reservmsg.service.MjonReservMsgService;
import itn.let.mjo.tax.service.TaxService;
import itn.let.mjo.tax.service.TaxVO;
import itn.let.schdlr.service.SchdlrManageService;
import itn.let.sym.grd.service.MberGrdService;
import itn.let.sym.grd.service.MberGrdVO;
import itn.let.sym.site.service.EgovSiteManagerService;
import itn.let.sym.site.service.JoinSettingVO;
import itn.let.uat.uia.service.AuthCertVO;
@ -158,6 +160,9 @@ public class MjonPayController {
@Resource(name = "egovSiteManagerService")
EgovSiteManagerService egovSiteManagerService;
@Resource(name = "mberGrdService")
MberGrdService mberGrdService;
//배열 정의{"컬럼순차번호, 컬럼이름, 컬럼내용, 컬럼이름에 붙여야할 내용(엑셀코드양식다운로드시 필요)"}
private String[][] sendPayExcelValue ={
{"0" ,"번호" , "1" , "" },
@ -1627,6 +1632,10 @@ public class MjonPayController {
}
model.addAttribute("tabType", tabType);
MberGrdVO mberGrdVO = new MberGrdVO();
List<MberGrdVO> mberGrdSettingList = mberGrdService.selectMberGrdSettingList(mberGrdVO);
model.addAttribute("mberGrdSettingList", mberGrdSettingList);
return "/web/pay/PayGuide";
}
@ -1651,7 +1660,6 @@ public class MjonPayController {
float picturePrice2 = 0; // 그림문자(MMS) 2장
float picturePrice3 = 0; // 그림문자(MMS) 3장
// 하드코딩 => 그림문자 2장, 3장 금액은 30원씩 플러스
shortPrice = sysJoinSetVO.getShortPrice();
longPrice = sysJoinSetVO.getLongPrice();
picturePrice = sysJoinSetVO.getPicturePrice();

View File

@ -35,6 +35,8 @@ import itn.let.mjo.pay.service.MjonPayVO;
import itn.let.mjo.pay.service.MjonVaMsgLogVO;
import itn.let.mjo.payva.service.VacsVactService;
import itn.let.mjo.payva.service.VacsVactVO;
import itn.let.sym.grd.service.MberGrdService;
import itn.let.sym.grd.service.MberGrdVO;
import itn.let.sym.site.service.EgovSiteManagerService;
import itn.let.sym.site.service.JoinSettingVO;
import itn.let.uss.umt.service.EgovMberManageService;
@ -76,6 +78,8 @@ public class MjonPayV2Controller {
@Resource(name="MjonCommon")
private MjonCommon mjonCommon;
@Resource(name = "mberGrdService")
MberGrdService mberGrdService;
/** KG 모빌리언스 설정 */
// CARD
@ -119,11 +123,10 @@ public class MjonPayV2Controller {
return "redirect:/web/user/login/login.do";
}
// 하드코딩
// Itm Member Id Check
if(!getItnMemberId(userId)) {
return "redirect:/web/main/mainPage.do";
}
//if(!getItnMemberId(userId)) {
// return "redirect:/web/main/mainPage.do";
//}
MberManageVO mberManageVO = mberManageService.selectMber(loginVO.getId());
model.addAttribute("mberManageVO", mberManageVO);
@ -181,6 +184,10 @@ public class MjonPayV2Controller {
}
model.addAttribute("tabType", tabType);
MberGrdVO mberGrdVO = new MberGrdVO();
List<MberGrdVO> mberGrdSettingList = mberGrdService.selectMberGrdSettingList(mberGrdVO);
model.addAttribute("mberGrdSettingList", mberGrdSettingList);
return "/web/pay/PayViewV2";
}

View File

@ -5,6 +5,7 @@ import java.util.List;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import org.apache.commons.lang.StringUtils;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.ModelAttribute;
@ -77,8 +78,36 @@ public class MberGrdController {
return "/web/grd/MberGrdHistListAjax";
}
// 등급제 시행 ON/OFF 체크
@RequestMapping(value = "/web/grd/mberSettDetailAjax.do")
public ModelAndView mberSettingDetailAjax(
@ModelAttribute("mberGrdVO") MberGrdVO mberGrdVO) throws Exception {
ModelAndView modelAndView = new ModelAndView();
modelAndView.setViewName("jsonView");
boolean isSuccess = false;
String msg = "";
try{
MberGrdVO mberGrdVO1 = new MberGrdVO();
mberGrdVO1 = mberGrdService.selectMberSettingDetail(mberGrdVO);
if (mberGrdVO1.getGrdNoti().equals("Y") && null != mberGrdVO1.getGrdDate() && mberGrdVO1.getGrdDatePrgYn().equals("Y")) {
isSuccess = true;
}
}
catch(Exception e) {
msg = e.getMessage();
}
modelAndView.addObject("isSuccess", isSuccess);
modelAndView.addObject("msg", msg);
return modelAndView;
}
// 등급제 적용여부 체크
@RequestMapping(value = "/web/member/grd/mberGrdChkAjax.do")
@RequestMapping(value = "/web/grd/mberGrdChkAjax.do")
public ModelAndView mberGrdChkAjax(
@ModelAttribute("mberGrdVO") MberGrdVO mberGrdVO) throws Exception {
@ -88,25 +117,28 @@ public class MberGrdController {
// 로그인VO에서 사용자 정보 가져오기
LoginVO loginVO = (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser();
String userId = loginVO == null ? "" : EgovStringUtil.isNullToString(loginVO.getId());
mberGrdVO.setMberId(userId);
boolean isSuccess = false;
String msg = "";
MberGrdVO rtnMberGrdVO = new MberGrdVO();
try{
// 회원별 이벤트 진행여부
int mberEventPrgCnt = mberGrdService.selectMberEventPrgCnt(mberGrdVO.getMberId());
if (mberEventPrgCnt == 0) {
rtnMberGrdVO = mberGrdService.selectMberGrdInfo(mberGrdVO.getMberId());
if (null != rtnMberGrdVO) {
isSuccess = true;
}
else {
msg = "종료";
}
if (StringUtils.isNotEmpty(userId)) {
mberGrdVO.setMberId(userId);
// 회원별 이벤트 진행여부
int mberEventPrgCnt = mberGrdService.selectMberEventPrgCnt(mberGrdVO.getMberId());
if (mberEventPrgCnt == 0) {
rtnMberGrdVO = mberGrdService.selectMberGrdInfo(mberGrdVO.getMberId());
if (null != rtnMberGrdVO) {
isSuccess = true;
}
else {
msg = "종료";
}
}
}
}
catch(Exception e) {
msg = e.getMessage();
@ -117,6 +149,6 @@ public class MberGrdController {
modelAndView.addObject("msg", msg);
return modelAndView;
}
}
}

View File

@ -471,6 +471,8 @@ public class EgovMberManageServiceImpl extends EgovAbstractServiceImpl implement
//이용정지 처리 해당 회원 접속 기록이 있는 IP들 차단 처리
hackIpVO.setFrstRegisterId(mberManageVO.getMberSttusUpdusrId());
hackIpVO.setIgnoreDc("이용정지로 인한 IP 차단");
// JSPark 2023.07.13 => 이용정지시 아이피 차단 기능 주석처리(장팀장 요청)
/*
for (int i=0; i<IpList.size() ; i++){
//회사 IP는 차단에서 제외
if(!"119.193.215.98".equals(IpList.get(i))
@ -481,18 +483,20 @@ public class EgovMberManageServiceImpl extends EgovAbstractServiceImpl implement
}
}
System.out.println(IpList);
*/
}else if(mberSttus.equals("Y")) {
//이용정지 해제 차단된 IP들 차단해제 처리
//이용정지 해제 회원 처리
//step1-2.이용정지해제시
//step1-2-1.이용정지IP삭제
// JSPark 2023.07.13 => 이용정지시 아이피 차단 기능 주석처리(장팀장 요청)
/*
for (int i=0; i<IpList.size() ; i++){
hackIpVO.setIgnoreIp(IpList.get(i));
hackIpService.deleteIgnoreIpByIp(hackIpVO);
}
*/
}
// 22.11.24 관리자 처리 히스토리 남기기 로직 추가

View File

@ -579,15 +579,19 @@ public class EgovUserManageServiceImpl extends EgovAbstractServiceImpl implement
// 업데이트
userManageDAO.updateUserSmishingYn(userManageVO);
/*
// B선 전송사 이용고객 => 전송사 JJ로 변경안함
MberManageVO mberManageVO = new MberManageVO();
mberManageVO.setMberId(userManageVO.getMberId());
String blineCode = mberManageService.selectBlineCodeByMberId(mberManageVO);
if (blineCode != null && blineCode.equals("N")) {
// 전송사 JJ로 변경
mberManageVO.setHotlineAgentCode("05"); // 전송사 JJ
mberManageVO.setHotlineAgentName("첫결제 JJ");
mberManageVO.setHotlineAgentCode("05");
mberManageVO.setAdmUserId("admin");
mjonMsgAgentStsService.updateMberHotlineAgentCodeInfo(mberManageVO);
}
*/
}
// 알림톡 스미싱의심 /오프

View File

@ -2316,6 +2316,19 @@ public class EgovUserManageController {
}
// 관리자 메모
String memo = "";
if(mberManageVO.getMberSttus().equals("Y")) {
memo = "회원상태 변경 : 일반";
}
else if(mberManageVO.getMberSttus().equals("B")) {
memo = "회원상태 변경 : 이용정지";
}
mberManageVO.setMberId(mberId);
mberManageVO.setMemoCn(memo);
mberManageVO.setFrstRegisterId(userId);
mberManageService.insertMberMemo(mberManageVO);
modelAndView.addObject("message", "이용자 상태를 수정하였습니다.");
modelAndView.addObject("result", "success");
@ -2648,7 +2661,14 @@ public class EgovUserManageController {
resultCnt = mberManageService.updateUserSecessionMsttus(mberManageVO);
if(resultCnt > 0) {
// 관리자 메모
String memo = "";
memo = "회원상태 변경 : 탈퇴";
mberManageVO.setMberId(mberId);
mberManageVO.setMemoCn(memo);
mberManageVO.setFrstRegisterId(userId);
mberManageService.insertMberMemo(mberManageVO);
modelAndView.addObject("message", "이용자 탈퇴가 완료 되었습니다.");
modelAndView.addObject("result", "success");

View File

@ -95,7 +95,7 @@ Globals.fax.file.permit.ext=hwp,hwpml,doc,xls,ppt,pdf,txt,docx,xlsx,pptx,tif,jpg
#KG \ubaa8\ube4c\ub9ac\uc5b8\uc2a4 \uc124\uc815
#CARD
Globals.pay.kgm.card.cnSvcid=191017078687
Globals.pay.kgm.card.cnSvcid=230523133878
Globals.pay.kgm.card.payMode=10
#BANK
Globals.pay.kgm.bank.raSvcid=230510133362

View File

@ -140,8 +140,46 @@
A.MBER_ID = #searchKeyword#
</isEqual>
</isNotEmpty>
<isNotEmpty prepend="AND" property="searchGrdStatus">
A.GRD_STATUS = #searchGrdStatus#
<isNotEmpty property="searchGrdStatus">
<isEqual property="searchGrdStatus" compareValue="Y">
AND (CASE
WHEN E.EVENT_STATUS = 'Y' AND DATE_FORMAT(NOW(), '%Y-%m-%d') BETWEEN DATE_FORMAT(E.EVENT_START_DATE, '%Y-%m-%d') AND DATE_FORMAT(E.EVENT_END_DATE, '%Y-%m-%d')
THEN '대기'
WHEN A.GRD_STATUS = 'Y' AND NOW() BETWEEN A.GRD_START_DATE AND A.GRD_END_DATE
THEN '진행'
WHEN A.GRD_STATUS = 'N'
THEN '대기'
WHEN A.GRD_STATUS = 'E'
THEN '종료'
ELSE '종료'
END) = '진행'
</isEqual>
<isEqual property="searchGrdStatus" compareValue="N">
AND (CASE
WHEN E.EVENT_STATUS = 'Y' AND DATE_FORMAT(NOW(), '%Y-%m-%d') BETWEEN DATE_FORMAT(E.EVENT_START_DATE, '%Y-%m-%d') AND DATE_FORMAT(E.EVENT_END_DATE, '%Y-%m-%d')
THEN '대기'
WHEN A.GRD_STATUS = 'Y' AND NOW() BETWEEN A.GRD_START_DATE AND A.GRD_END_DATE
THEN '진행'
WHEN A.GRD_STATUS = 'N'
THEN '대기'
WHEN A.GRD_STATUS = 'E'
THEN '종료'
ELSE '종료'
END) = '대기'
</isEqual>
<isEqual property="searchGrdStatus" compareValue="E">
AND (CASE
WHEN E.EVENT_STATUS = 'Y' AND DATE_FORMAT(NOW(), '%Y-%m-%d') BETWEEN DATE_FORMAT(E.EVENT_START_DATE, '%Y-%m-%d') AND DATE_FORMAT(E.EVENT_END_DATE, '%Y-%m-%d')
THEN '대기'
WHEN A.GRD_STATUS = 'Y' AND NOW() BETWEEN A.GRD_START_DATE AND A.GRD_END_DATE
THEN '진행'
WHEN A.GRD_STATUS = 'N'
THEN '대기'
WHEN A.GRD_STATUS = 'E'
THEN '종료'
ELSE '종료'
END) = '종료'
</isEqual>
</isNotEmpty>
ORDER BY 1=1
<isNotEmpty property="searchSortCnd">
@ -181,6 +219,7 @@
<!-- 회원 등급제 대상여부 정보(사용자화면용) -->
<select id="mberGrdDAO.selectMberGrdInfo" parameterClass="String" resultClass="mberGrdVO">
<![CDATA[
SELECT
M.mberId
, blineCode
@ -239,6 +278,8 @@
ON G.GRD_SET_NO = S.GRD_SET_NO
JOIN MJ_MBER_SETTING B
WHERE 1=1
AND B.GRD_NOTI = 'Y'
AND DATE_FORMAT(B.GRD_DATE, '%Y-%m-%d') <= DATE_FORMAT(NOW(), '%Y-%m-%d')
AND G.GRD_STATUS = 'Y'
AND NOW() BETWEEN G.GRD_START_DATE AND G.GRD_END_DATE
AND G.MBER_ID = #mberId#
@ -246,6 +287,7 @@
WHERE M.isSalePrice = 'N'
OR M.blineCode != 'N'
LIMIT 1
]]>
</select>
<!-- 회원별 등급 누적결제액 상세 -->

View File

@ -101,8 +101,8 @@ function getMberGrdChk(mberId) {
<select id="searchGrdStatus" name="searchGrdStatus" title="상태">
<option value="" <c:if test="${empty searchVO.searchGrdStatus }">selected="selected"</c:if> >상태</option>
<option value="Y" <c:if test="${searchVO.searchGrdStatus == 'Y'}">selected="selected"</c:if> >진행</option>
<option value="N" <c:if test="${searchVO.searchGrdStatus == 'N'}">selected="selected"</c:if> >미진행</option>
<option value="Y" <c:if test="${searchVO.searchGrdStatus == 'Y'}">selected="selected"</c:if> >진행</option>
<option value="N" <c:if test="${searchVO.searchGrdStatus == 'N'}">selected="selected"</c:if> >대기</option>
<option value="E" <c:if test="${searchVO.searchGrdStatus == 'E'}">selected="selected"</c:if> >종료</option>
</select>

View File

@ -991,7 +991,6 @@ function SetBlockResultMode(obj, blockId) {
function SetBlockResultSave() {
//alert(globalBlockId);
// 하드코딩
//alert("준비중입니다.");
//return;

View File

@ -1053,6 +1053,20 @@ function actionLogin() {
<div class="skip_menu">
<a href="#cont" title="본문 바로가기" class="contGo" rel="nosublink">본문 바로가기</a>
</div><!--// skip 메뉴 -->
<!-- 요금안내 top 배너 시작 -->
<c:choose>
<c:when test="${fn:contains(pageContext.request.requestURL , 'web/main/mainPage.do')}">
<!--
<img class="price_top_banner" src="/publish/images/level/top_banner.png" alt="최저 8.1원 요금안내" usemap="#topbanner">
<map name="topbanner">
<area shape="poly" coords="45,165,194,164,182,183,155,200,124,208,85,202,63,187,46,167" href="/web/pay/PayGuide.do" alt="">
</map>
-->
</c:when>
</c:choose>
<!-- quick 메뉴 -->
<!-- 메인화면 퀵 메뉴와 서브화면 퀵메뉴 클래스 분기 -->
<c:choose>

View File

@ -60,8 +60,8 @@ function goClose() {
<p><c:out value='${Resultmsg}'/></p>
</div>
<div class="popup_btn" style="margin: 30px auto 0 auto;">
<%--<button type="button" onclick="goPayList();">요금결제내역 보기</button>--%>
<button type="button" onclick="goClose();">닫기</button>
<button type="button" onclick="goPayList();">요금결제내역 보기</button>
<button type="button" onclick="goPayList();">닫기</button>
</div>
</div>
</div>

View File

@ -60,8 +60,8 @@ function goClose() {
<p><c:out value='${Resultmsg}'/></p>
</div>
<div class="popup_btn" style="margin: 30px auto 0 auto;">
<%--<button type="button" onclick="goPayList();">요금결제내역 보기</button>--%>
<button type="button" onclick="goClose();">닫기</button>
<button type="button" onclick="goPayList();">요금결제내역 보기</button>
<button type="button" onclick="goPayList();">닫기</button>
</div>
</div>
</div>

View File

@ -60,8 +60,8 @@ function goClose() {
<p><c:out value='${Resultmsg}'/></p>
</div>
<div class="popup_btn" style="margin: 30px auto 0 auto;">
<%--<button type="button" onclick="goPayList();">요금결제내역 보기</button>--%>
<button type="button" onclick="goClose();">닫기</button>
<button type="button" onclick="goPayList();">요금결제내역 보기</button>
<button type="button" onclick="goPayList();">닫기</button>
</div>
</div>
</div>

View File

@ -65,6 +65,12 @@ $(document).ready(function () {
$("#btnEstimate").trigger("click");
}
//등급제 시행 ON/OFF 체크
//getMberSettingDetail();
// 등급제 대상 여부
//getMberGrdChk();
});
//품목정보 추가
@ -318,21 +324,70 @@ function fn_gunClear(){
}
//체크박스 전체선택/해제
$(document).on("click", "#chkAll", function(e) {
var isChecked = $(this).is(":checked");
$("input[name=chkEach]:checkbox").prop("checked", isChecked);
});
//체크박스 전체선택/해제
$(document).on("click", "#chkAll", function(e) {
var isChecked = $(this).is(":checked");
$("input[name=chkEach]:checkbox").prop("checked", isChecked);
});
/* 윈도우팝업 열기 */
function infoPop(pageUrl){
document.infoPopForm.pageType.value = pageUrl;
document.infoPopForm.action = "/web/pop/infoPop.do";
document.infoPopForm.method = "post";
window.open("about:blank", 'infoPop', 'width=790, height=280, top=100, left=100, fullscreen=no, menubar=no, status=no, toolbar=no, titlebar=yes, location=no, scrollbars=1');
document.infoPopForm.target = "infoPop";
document.infoPopForm.submit();
}
//등급제 시행 ON/OFF 체크
function getMberSettingDetail() {
$.ajax({
type: "POST",
url: "/web/grd/mberSettDetailAjax.do",
data: {},
dataType:'json',
async: false,
success: function (data) {
if (data.isSuccess) {
// 문자(등급별 요금 안내)
$("#mberGrdSettingArea").show();
}
else {
//alert("Msg : " + data.msg);
}
},
error: function (e) {
//alert("ERROR : " + JSON.stringify(e));
}
});
}
// 등급제 대상 여부
function getMberGrdChk() {
$.ajax({
type: "POST",
url: "/web/grd/mberGrdChkAjax.do",
data: {},
dataType:'json',
async: false,
success: function (data) {
if (data.isSuccess) {
// 등급제 누적결제액 세부내역
$("#grdShowArea").html("(등급 : " + data.rtnMberGrdVO.grdSetNm + ")");
$("#levelSubTitle").html("(" + data.rtnMberGrdVO.grdDate + " ~ 현재)");
}
else {
//alert("Msg : " + data.msg);
}
},
error: function (e) {
//alert("ERROR : " + JSON.stringify(e));
}
});
}
/* 윈도우팝업 열기 */
function infoPop(pageUrl){
document.infoPopForm.pageType.value = pageUrl;
document.infoPopForm.action = "/web/pop/infoPop.do";
document.infoPopForm.method = "post";
window.open("about:blank", 'infoPop', 'width=790, height=280, top=100, left=100, fullscreen=no, menubar=no, status=no, toolbar=no, titlebar=yes, location=no, scrollbars=1');
document.infoPopForm.target = "infoPop";
document.infoPopForm.submit();
}
</script>
<form name="popForm" method="post">
@ -376,7 +431,7 @@ function fn_gunClear(){
<div class="fee_cont current" id="tab1_1">
<div>
<p class="tType1_title">
<img src="/publish/images/content/icon_fee1.png" alt="문자이미지"> 문자
<img src="/publish/images/content/icon_fee1.png" alt="문자이미지"> 문자<span class="level_first" id="grdShowArea"></span>
</p>
<table class="tType2">
<caption></caption>
@ -412,6 +467,57 @@ function fn_gunClear(){
</table>
<span class="reqTxt4">* 텍스트 용량(Byte)에 대한 안내 : 한글2Byte, 영문·숫자 1Byte를 차지.</span>
<!--문자_등급별 요금 안내 추가 시작-->
<div id="mberGrdSettingArea" style="display: none;">
<p class="tType1_title level"><img src="/publish/images/content/icon_fee1.png" alt="문자이미지"> 문자<span>(등급별 요금 안내)</span></p>
<table class="tType2 tType2_level">
<caption></caption>
<colgroup>
<col style="width: 13%;">
<col style="width: auto;">
<col style="width: 11%;">
<col style="width: 11%;">
<col style="width: 11%;">
<col style="width: 11%;">
<col style="width: 11%;">
</colgroup>
<thead>
<tr>
<th>등급</th>
<th class="th_second">누적결제액<span id="levelSubTitle"></span></th>
<th>단문</th>
<th>장문</th>
<th>그림(1장)</th>
<th>그림(2장)</th>
<th>그림(3장)</th>
</tr>
</thead>
<tbody>
<c:forEach var="result" items="${mberGrdSettingList}" varStatus="status">
<tr class="level_table">
<th><c:out value="${result.grdSetNm}"/></th>
<td class="level_price"><c:out value="${result.stdAmtComma}"/></td>
<td><c:out value="${result.shortPrice}"/></td>
<td><c:out value="${result.longPrice}"/></td>
<td><c:out value="${result.picturePrice}"/></td>
<td><c:out value="${result.picture2Price}"/></td>
<td><c:out value="${result.picture3Price}"/></td>
</tr>
</c:forEach>
</tbody>
</table>
<span class="reqTxt4">
* 등급별 요금제는 당사의 정책 및 운영의 필요상 수정, 중단 또는 변경될 수 있습니다. <br>
* 누적결제액은 등급별 요금제 적용일로부터 적립된 결제금액을 말하며, 누적결제액에 따라 등급은 자동으로 적용됩니다. <br>
* "첫결제 이벤트" 등 이벤트 결제금액은 등급별 요금제 누적결제액에서 제외됩니다. <br>
</span>
<p class="reqTxt4 reqTxt4_last">
* 문자피싱, 스미싱, 주식, 도박, 로또, 스팸, 사기, 협박, 범죄, 유사투자, 유사수신 등을 목적으로 하거나 교사 또는 방조하는 내용의 정보, 발신번호 조작 등으로 인지되는 문자에 대해서는 사전 또는 즉시 발송을 차단하고
이용을 정지시킬 수 있으며, 이에 대한 어떠한 환불이나 보상을 실시하지 않습니다. 또한, 상기 문자를 발송한 회원에 대해서는 그 즉시 등급별 요금제 혜택을 취소합니다.
</p>
</div>
<!--문자_등급별 요금 안내 추가 끝-->
<p class="tType1_title"><img src="/publish/images/content/icon_fee2.png" alt="알림톡 아이콘 이미지"> 알림톡</p>
<table class="tType2">
<colgroup>

View File

@ -89,6 +89,8 @@ $(document).ready(function(){
$(this).val($(this).val().replace(/[^\.0-9]/g,""))
})
// 등급제 대상 여부
//getMberGrdChk();
});
@ -307,6 +309,46 @@ $(document).on("click", "#chkAll", function(e) {
var isChecked = $(this).is(":checked");
$("input[name=eachChk]:checkbox").prop("checked", isChecked);
});
//등급제 누적결제액 세부내역
function mberGrdHistListAjax(pageNo){
document.levelForm.pageIndex.value = pageNo;
var sendData= $(document.levelForm).serializeArray();
$("#mberGrdHistListLoad").load("/web/member/grd/mberGrdHistListAjax.do", sendData ,function(response, status, xhr){
});
}
// 등급제 대상 여부
function getMberGrdChk() {
$.ajax({
type: "POST",
url: "/web/grd/mberGrdChkAjax.do",
data: {},
dataType:'json',
async: false,
success: function (data) {
if (data.isSuccess) {
// 등급제 누적결제액 세부내역
$("#levelSubTitle").html("(" + data.rtnMberGrdVO.grdDate + " ~ 현재)");
document.levelForm.grdSetNm.value = data.rtnMberGrdVO.grdSetNm;
document.levelForm.totAmt.value = data.rtnMberGrdVO.totAmt;
mberGrdHistListAjax(1);
$("#levelIconBtn").show();
}
else {
//alert("Msg : " + data.msg);
}
},
error: function (e) {
//alert("ERROR : " + JSON.stringify(e));
}
});
}
</script>
<form id="listForm" name="listForm" action="<c:url value='/web/member/pay/PayList.do'/>" method="post">
<input name="pageIndex" type="hidden" value="<c:out value='${searchVO.pageIndex}'/>"/>
@ -351,6 +393,9 @@ $(document).on("click", "#chkAll", function(e) {
-->
</div>
<div>
<button type="button" class="level_btn" data-tooltip="level_check_popup01" id="levelIconBtn" style="display: none;">
<img src="/publish/images/level/level_btn_icon.png" alt="등급 및 누적결제액 확인 버튼">등급 및 누적결제액 확인
</button>
<button type="button" class="excel_btn" onclick="javascript:payExcelDownload();">
<i class="downroad"></i>엑셀 다운로드
</button>
@ -852,3 +897,28 @@ $(document).on("click", "#chkAll", function(e) {
</form>
</div>
<!--// 세금계산서 팝업 -->
<form id="levelForm" name="levelForm" method="post">
<input type="hidden" id="pageType" name="pageType" value=""/>
<input type="hidden" id="pageIndex" name="pageIndex" value=""/>
<input type="hidden" id="grdSetNm" name="grdSetNm" value=""/>
<input type="hidden" id="totAmt" name="totAmt" value=""/>
</form>
<!-- 등급 및 누적결제액 확인 팝업 data-tooltip:level_check_popup01 시작 -->
<div class="tooltip-wrap level_popup">
<div class="popup-com candidate_layer level_check_popup01" tabindex="0" data-tooltip-con="level_check_popup01"
data-focus="level_check_popup01" data-focus-prev="level_check_popup01-close" style="width: 680px;">
<div class="popup_heading">
<p>누적결제액 세부내역<span id="levelSubTitle"></span></p>
<button type="button" class="tooltip-close" data-focus="level_check_popup01-close"><img
src="/publish/images/content/layerPopup_close.png" alt="팝업 닫기"></button>
</div>
<div class="layer_in" id="mberGrdHistListLoad" style="padding-bottom: 0px;">
</div>
<div class="popup_btn_wrap2" style="margin-bottom: 30px;">
<button type="button" class="tooltip-close" data-focus="level_check_popup01-close">닫기</button>
</div>
</div>
</div>
<!-- 등급 및 누적결제액 확인 팝업 data-tooltip:level_check_popup01 끝 -->

View File

@ -29,6 +29,11 @@ $(document).ready(function(){
$("#btnDdedicatedAccount").trigger("click");
}
//등급제 시행 ON/OFF 체크
//getMberSettingDetail();
// 등급제 대상 여부
//getMberGrdChk();
});
@ -601,6 +606,59 @@ function TabTypePay(obj, tabId) {
// 충전금액 세팅
setPriceMake();
}
//등급제 시행 ON/OFF 체크
function getMberSettingDetail() {
$.ajax({
type: "POST",
url: "/web/grd/mberSettDetailAjax.do",
data: {},
dataType:'json',
async: false,
success: function (data) {
if (data.isSuccess) {
// 문자(등급별 요금 안내)
$("#mberGrdSettingArea").show();
}
else {
//alert("Msg : " + data.msg);
}
},
error: function (e) {
//alert("ERROR : " + JSON.stringify(e));
}
});
}
// 등급제 대상 여부
function getMberGrdChk() {
$.ajax({
type: "POST",
url: "/web/grd/mberGrdChkAjax.do",
data: {},
dataType:'json',
async: false,
success: function (data) {
if (data.isSuccess) {
// 등급제 누적결제액 세부내역
var sHtml = "";
sHtml += "<p>등급 : <span><img src='/publish/images/level/level_icon/level_small/" + data.rtnMberGrdVO.grdSetIcon + "_small_icon.png' alt='등급 스몰 아이콘'>" + data.rtnMberGrdVO.grdSetNm;
sHtml += "(누적결제액 : &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span>" + numberWithCommas(data.rtnMberGrdVO.totAmt) + "</span>원)</span></p>";
$("#grdShowArea").html(sHtml);
$("#grdShowArea").show();
$("#levelSubTitle").html("(" + data.rtnMberGrdVO.grdDate + " ~ 현재)");
}
else {
//alert("Msg : " + data.msg);
}
},
error: function (e) {
//alert("ERROR : " + JSON.stringify(e));
}
});
}
</script>
<!-- </head>
@ -1037,6 +1095,66 @@ function TabTypePay(obj, tabId) {
</div>
<!-- //즉시이체 -->
</div>
<!--누적결제액별 등급 및 단가 추가 시작-->
<div class="accrue_price" id="grdShowArea" style="display: none;">
</div>
<div class="accrue_level" id="mberGrdSettingArea" style="display: none;">
<p class="tType1_title level"><img src="/publish/images/level/accrue.png" alt="누적결제액별 등급 및 단가 아이콘"> 누적결제액별 등급 및 단가
</p>
<table class="tType2 tType2_level">
<caption></caption>
<colgroup>
<col style="width: 13%;">
<col style="width: auto;">
<col style="width: 11%;">
<col style="width: 11%;">
<col style="width: 11%;">
<col style="width: 11%;">
<col style="width: 11%;">
</colgroup>
<thead>
<tr>
<th>등급</th>
<th class="th_second">누적결제액<span id="levelSubTitle"></span></th>
<th>단문</th>
<th>장문</th>
<th>그림(1장)</th>
<th>그림(2장)</th>
<th>그림(3장)</th>
</tr>
</thead>
<tbody>
<c:forEach var="result" items="${mberGrdSettingList}" varStatus="status">
<tr>
<th><c:out value="${result.grdSetNm}"/></th>
<td class="level_price"><c:out value="${result.stdAmtComma}"/></td>
<td><c:out value="${result.shortPrice}"/></td>
<td><c:out value="${result.longPrice}"/></td>
<td><c:out value="${result.picturePrice}"/></td>
<td><c:out value="${result.picture2Price}"/></td>
<td><c:out value="${result.picture3Price}"/></td>
</tr>
</c:forEach>
</tbody>
</table>
<span class="reqTxt4">
* 등급별 요금제는 당사의 정책 및 운영의 필요상 수정, 중단 또는 변경될 수 있습니다. <br>
* 누적결제액은 등급별 요금제 적용일로부터 적립된 결제금액을 말하며, 누적결제액에 따라 등급은 자동으로 적용됩니다. <br>
* "첫결제 이벤트" 등 이벤트 결제금액은 등급별 요금제 누적결제액에서 제외됩니다. <br>
</span>
<p class="reqTxt4 reqTxt4_last">
* 문자피싱, 스미싱, 주식, 도박, 로또, 스팸, 사기, 협박, 범죄, 유사투자, 유사수신 등을 목적으로 하거나 교사 또는 방조하는 내용의 정보, 발신번호 조작
등으로 인지되는 문자에 대해서는
사전 또는 즉시 발송을 차단하고
이용을 정지시킬 수 있으며, 이에 대한 어떠한 환불이나 보상을 실시하지 않습니다. 또한, 상기 문자를 발송한 회원에 대해서는 그 즉시 등급별 요금제 혜택을
취소합니다.
</p>
</div>
<!--문자_등급별 요금 안내 추가 끝-->
</div><!-- 결제관리 - 결제하기 -->
</div><!--// send top -->
</div>

View File

@ -111,7 +111,7 @@ function mberGrdHistListAjax(pageNo){
function getMberGrdChk() {
$.ajax({
type: "POST",
url: "/web/member/grd/mberGrdChkAjax.do",
url: "/web/grd/mberGrdChkAjax.do",
data: {},
dataType:'json',
async: false,
@ -121,7 +121,7 @@ function getMberGrdChk() {
$("#levelSubTitle").html("(" + data.rtnMberGrdVO.grdDate + " ~ 현재)");
document.levelForm.grdSetNm.value = data.rtnMberGrdVO.grdSetNm;
document.levelForm.totAmt.value = data.rtnMberGrdVO.totAmt;
mberGrdHistListAjax(1, data.rtnMberGrdVO.grdSetNm, data.rtnMberGrdVO.totAmt);
mberGrdHistListAjax(1);
// 등급제 아이콘 버튼 노출여부
var sHtml = "";