Merge branch 'master' of http://hylee@vcs.iten.co.kr:9999/hylee/mjon_git
@445fc82b583532be4ca4223ebf9bcf52cf7cce12
--- src/main/java/itn/let/kakao/admin/kakaoAt/web/MjonKakaoATController.java
+++ src/main/java/itn/let/kakao/admin/kakaoAt/web/MjonKakaoATController.java
... | ... | @@ -758,6 +758,7 @@ |
| 758 | 758 |
String profileId = resultChannelList.get(i).getProfileId(); |
| 759 | 759 |
String deleteYn = resultChannelList.get(i).getDeleteYn(); |
| 760 | 760 |
String userId = resultChannelList.get(i).getUserId(); |
| 761 |
+ String lastUpdtPnttm = resultChannelList.get(i).getLastUpdtPnttm(); |
|
| 761 | 762 |
kakaoProfileVO.setSenderKey(senderKey); |
| 762 | 763 |
kakaoProfileVO.setProfileId(profileId); |
| 763 | 764 |
|
... | ... | @@ -774,6 +775,7 @@ |
| 774 | 775 |
returnChannelVO.setModifiedAt(tmpProfileVO.getModifiedAt()); |
| 775 | 776 |
returnChannelVO.setDeleteYn(deleteYn); |
| 776 | 777 |
returnChannelVO.setUserId(userId); |
| 778 |
+ returnChannelVO.setLastUpdtPnttm(lastUpdtPnttm); |
|
| 777 | 779 |
|
| 778 | 780 |
resultApiProfileList.add(returnChannelVO); |
| 779 | 781 |
|
--- src/main/java/itn/let/mjo/event/web/MjonEventPayV2Controller.java
+++ src/main/java/itn/let/mjo/event/web/MjonEventPayV2Controller.java
... | ... | @@ -77,10 +77,8 @@ |
| 77 | 77 |
} |
| 78 | 78 |
|
| 79 | 79 |
// 하드코딩 |
| 80 |
- if(!userId.equals("nobledeco")) {
|
|
| 81 |
- if(!userId.equals("nopay")) {
|
|
| 82 |
- return "redirect:/web/main/mainPage.do"; |
|
| 83 |
- } |
|
| 80 |
+ if(!userId.equals("nobledeco") && !userId.equals("nobledeco2") && !userId.equals("nopay")) {
|
|
| 81 |
+ return "redirect:/web/main/mainPage.do"; |
|
| 84 | 82 |
} |
| 85 | 83 |
|
| 86 | 84 |
//기존 결제 내역이 있는 회원인지 확인 |
--- src/main/java/itn/let/mjo/pay/web/MjonPayController.java
+++ src/main/java/itn/let/mjo/pay/web/MjonPayController.java
... | ... | @@ -1841,6 +1841,7 @@ |
| 1841 | 1841 |
"/web/member/pay/PayListCardAjax.do", |
| 1842 | 1842 |
"/web/member/pay/PayListVBankAjax.do", |
| 1843 | 1843 |
"/web/member/pay/PayListBankAjax.do", |
| 1844 |
+ "/web/member/pay/PayListSPayAjax.do", |
|
| 1844 | 1845 |
"/web/member/pay/PayListOfflineAjax.do", |
| 1845 | 1846 |
"/web/member/pay/PayListRefundAjax.do" |
| 1846 | 1847 |
}) |
... | ... | @@ -1894,6 +1895,7 @@ |
| 1894 | 1895 |
|| pattern.equals("/web/member/pay/PayListCardAjax.do")
|
| 1895 | 1896 |
|| pattern.equals("/web/member/pay/PayListVBankAjax.do")
|
| 1896 | 1897 |
|| pattern.equals("/web/member/pay/PayListBankAjax.do")
|
| 1898 |
+ || pattern.equals("/web/member/pay/PayListSPayAjax.do")
|
|
| 1897 | 1899 |
|| pattern.equals("/web/member/pay/PayListOfflineAjax.do")
|
| 1898 | 1900 |
|| pattern.equals("/web/member/pay/PayListRefundAjax.do")
|
| 1899 | 1901 |
) { //전체 , 모바일, 신용카드
|
... | ... | @@ -2024,6 +2026,11 @@ |
| 2024 | 2026 |
mjonPayVO.setPayMethod("BANK");
|
| 2025 | 2027 |
mjonPayVO.setPageType("bank");
|
| 2026 | 2028 |
} |
| 2029 |
+ if(pattern.equals("/web/member/pay/PayListSPayAjax.do")) { //즉시이체
|
|
| 2030 |
+ mjonPayVO.setSearchCondition2("SPAY");
|
|
| 2031 |
+ mjonPayVO.setPayMethod("SPAY");
|
|
| 2032 |
+ mjonPayVO.setPageType("SPAY");
|
|
| 2033 |
+ } |
|
| 2027 | 2034 |
if(pattern.equals("/web/member/pay/PayListOfflineAjax.do")) { //무통장
|
| 2028 | 2035 |
mjonPayVO.setSearchCondition2("OFFLINE");
|
| 2029 | 2036 |
mjonPayVO.setPayMethod("OFFLINE");
|
--- src/main/java/itn/let/mjo/pay/web/MjonPayV2Controller.java
+++ src/main/java/itn/let/mjo/pay/web/MjonPayV2Controller.java
... | ... | @@ -946,7 +946,7 @@ |
| 946 | 946 |
UserManageVO userManageVO = new UserManageVO(); |
| 947 | 947 |
userManageVO.setSmishingYn("Y");
|
| 948 | 948 |
userManageVO.setMberId(Userid); |
| 949 |
- userManageService.updateOneUserSmishingYn(userManageVO); |
|
| 949 |
+ userManageService.updateOneUserSmishingYnNotAlert(userManageVO); |
|
| 950 | 950 |
} |
| 951 | 951 |
else {
|
| 952 | 952 |
// 대상 : 휴대폰결제, 즉시이체, 전용계좌 |
... | ... | @@ -977,7 +977,7 @@ |
| 977 | 977 |
UserManageVO userManageVO = new UserManageVO(); |
| 978 | 978 |
userManageVO.setSmishingYn("Y");
|
| 979 | 979 |
userManageVO.setMberId(Userid); |
| 980 |
- userManageService.updateOneUserSmishingYn(userManageVO); |
|
| 980 |
+ userManageService.updateOneUserSmishingYnNotAlert(userManageVO); |
|
| 981 | 981 |
} |
| 982 | 982 |
} |
| 983 | 983 |
} |
... | ... | @@ -1376,7 +1376,7 @@ |
| 1376 | 1376 |
UserManageVO userManageVO = new UserManageVO(); |
| 1377 | 1377 |
userManageVO.setSmishingYn("Y");
|
| 1378 | 1378 |
userManageVO.setMberId(Userid); |
| 1379 |
- userManageService.updateOneUserSmishingYn(userManageVO); |
|
| 1379 |
+ userManageService.updateOneUserSmishingYnNotAlert(userManageVO); |
|
| 1380 | 1380 |
} |
| 1381 | 1381 |
} |
| 1382 | 1382 |
} |
--- src/main/java/itn/let/mjo/pay/web/RefundController.java
+++ src/main/java/itn/let/mjo/pay/web/RefundController.java
... | ... | @@ -929,13 +929,25 @@ |
| 929 | 929 |
* 결제취소 등록 |
| 930 | 930 |
* @param RefundVO |
| 931 | 931 |
* @param model |
| 932 |
- * @return "/uss/ion/pay/RefundRegist" |
|
| 932 |
+ * @return "/uss/ion/pay/cancelRegist" |
|
| 933 | 933 |
* @throws Exception |
| 934 | 934 |
*/ |
| 935 | 935 |
@RequestMapping(value="/uss/ion/pay/cancelRegist.do") |
| 936 | 936 |
public String cancelRegist(@ModelAttribute("refundVO") RefundVO refundVO) throws Exception{
|
| 937 | 937 |
return "/uss/ion/pay/cancelRegist"; |
| 938 | 938 |
} |
| 939 |
+ |
|
| 940 |
+ /** |
|
| 941 |
+ * 환불 등록 |
|
| 942 |
+ * @param RefundVO |
|
| 943 |
+ * @param model |
|
| 944 |
+ * @return "/uss/ion/pay/RefundRegist" |
|
| 945 |
+ * @throws Exception |
|
| 946 |
+ */ |
|
| 947 |
+ @RequestMapping(value="/uss/ion/pay/refundRegist.do") |
|
| 948 |
+ public String refundRegist(@ModelAttribute("refundVO") RefundVO refundVO) throws Exception{
|
|
| 949 |
+ return "/uss/ion/pay/RefundRegist"; |
|
| 950 |
+ } |
|
| 939 | 951 |
|
| 940 | 952 |
/** |
| 941 | 953 |
* 결제취소 페이지 |
... | ... | @@ -1000,6 +1012,86 @@ |
| 1000 | 1012 |
return ResponseEntity.ok().body(refundService.insertPayCanAjax(userInfoAdd(refundVO))); |
| 1001 | 1013 |
} |
| 1002 | 1014 |
|
| 1015 |
+ |
|
| 1016 |
+ @RequestMapping(value = {"/uss/ion/msg/refMonInsAjax.do"})
|
|
| 1017 |
+ public ModelAndView refMonInsAjax(final MultipartHttpServletRequest multiRequest |
|
| 1018 |
+ , RefundVO refundVO , HttpServletRequest request) throws Exception {
|
|
| 1019 |
+ |
|
| 1020 |
+ ModelAndView modelAndView = new ModelAndView(); |
|
| 1021 |
+ modelAndView.setViewName("jsonView");
|
|
| 1022 |
+ |
|
| 1023 |
+ try {
|
|
| 1024 |
+ String atchFileId = ""; |
|
| 1025 |
+ final Map<String, MultipartFile> files = multiRequest.getFileMap(); |
|
| 1026 |
+ if (!files.isEmpty()) {
|
|
| 1027 |
+ if(files.containsKey("bank")){
|
|
| 1028 |
+ Map<String, MultipartFile> tmpMap = new LinkedHashMap<>(); |
|
| 1029 |
+ tmpMap.put("bank", files.get("bank"));
|
|
| 1030 |
+ List<FileVO> result = fileUtil.parseFileInf(tmpMap, "REFUND_", 0, "", "", ""); |
|
| 1031 |
+ atchFileId = fileMngService.insertFileInfs(result); |
|
| 1032 |
+ refundVO.setBankAtchFileId(atchFileId); |
|
| 1033 |
+ } |
|
| 1034 |
+ if(files.containsKey("docu")){
|
|
| 1035 |
+ Map<String, MultipartFile> tmpMap = new LinkedHashMap<>(); |
|
| 1036 |
+ tmpMap.put("docu", files.get("docu"));
|
|
| 1037 |
+ List<FileVO> result = fileUtil.parseFileInf(tmpMap, "REFUND_", 0, "", "", ""); |
|
| 1038 |
+ atchFileId = fileMngService.insertFileInfs(result); |
|
| 1039 |
+ refundVO.setDocuAtchFileId(atchFileId); |
|
| 1040 |
+ } |
|
| 1041 |
+ } |
|
| 1042 |
+ |
|
| 1043 |
+ refundVO.setFrstRegisterId(refundVO.getMberId()); |
|
| 1044 |
+ refundVO.setRefundStatus("1");
|
|
| 1045 |
+ refundService.insertRefund(refundVO); |
|
| 1046 |
+ |
|
| 1047 |
+ modelAndView.addObject("status", "success");
|
|
| 1048 |
+ }catch (Exception e) {
|
|
| 1049 |
+ System.out.println("REFUND ERROR : " + e.getMessage());
|
|
| 1050 |
+ |
|
| 1051 |
+ modelAndView.addObject("status", "fail");
|
|
| 1052 |
+ } |
|
| 1053 |
+ |
|
| 1054 |
+ return modelAndView; |
|
| 1055 |
+ } |
|
| 1056 |
+ |
|
| 1057 |
+ |
|
| 1058 |
+ /** |
|
| 1059 |
+ * 환불신청금액(환불요청 상태) Ajax |
|
| 1060 |
+ * @param RefundVO |
|
| 1061 |
+ * @param model |
|
| 1062 |
+ * @return modelAndView |
|
| 1063 |
+ * @throws Exception |
|
| 1064 |
+ */ |
|
| 1065 |
+ @RequestMapping(value = {"/uss/ion/pay/refMonSumAjax.do"})
|
|
| 1066 |
+ public ModelAndView refMonSumAjax(RefundVO refundVO, HttpServletRequest request) throws Exception {
|
|
| 1067 |
+ |
|
| 1068 |
+ ModelAndView modelAndView = new ModelAndView(); |
|
| 1069 |
+ modelAndView.setViewName("jsonView");
|
|
| 1070 |
+ |
|
| 1071 |
+ boolean isSuccess = true; |
|
| 1072 |
+ String msg = ""; |
|
| 1073 |
+ int refundMoneySum = 0; |
|
| 1074 |
+ int userMoney = 0; |
|
| 1075 |
+ |
|
| 1076 |
+ try {
|
|
| 1077 |
+ refundVO = refundService.selectRefundMberInfo(refundVO); |
|
| 1078 |
+ userMoney = (int)Double.parseDouble(refundVO.getMberMoney()); // 보유Cash |
|
| 1079 |
+ |
|
| 1080 |
+ refundMoneySum = refundService.selectRefundMoneySum(refundVO); // 환불신청금액(환불요청 상태) |
|
| 1081 |
+ |
|
| 1082 |
+ } catch (Exception e) {
|
|
| 1083 |
+ isSuccess = false; |
|
| 1084 |
+ msg = e.getMessage(); |
|
| 1085 |
+ } |
|
| 1086 |
+ |
|
| 1087 |
+ modelAndView.addObject("isSuccess", isSuccess);
|
|
| 1088 |
+ modelAndView.addObject("msg", msg);
|
|
| 1089 |
+ modelAndView.addObject("userMoney", userMoney);
|
|
| 1090 |
+ modelAndView.addObject("refundMoneySum", refundMoneySum);
|
|
| 1091 |
+ |
|
| 1092 |
+ return modelAndView; |
|
| 1093 |
+ } |
|
| 1094 |
+ |
|
| 1003 | 1095 |
/** |
| 1004 | 1096 |
* 캐쉬 환불 처리 |
| 1005 | 1097 |
* @param refundVO |
--- src/main/java/itn/let/schdlr/service/impl/SchdlrManageServiceImpl.java
+++ src/main/java/itn/let/schdlr/service/impl/SchdlrManageServiceImpl.java
... | ... | @@ -19,6 +19,7 @@ |
| 19 | 19 |
import itn.com.cmm.service.impl.FileManageDAO; |
| 20 | 20 |
import itn.let.fax.user.service.impl.FaxDAO; |
| 21 | 21 |
import itn.let.kakao.user.kakaoAt.service.KakaoAlimTalkService; |
| 22 |
+import itn.let.mjo.mjocommon.MjonCommon; |
|
| 22 | 23 |
import itn.let.mjo.msgdata.service.MjonMsgDataService; |
| 23 | 24 |
import itn.let.mjo.pay.service.MjonPayService; |
| 24 | 25 |
import itn.let.mjo.pay.service.StVcVO; |
... | ... | @@ -26,6 +27,9 @@ |
| 26 | 27 |
import itn.let.mjo.payva.service.VacsAhstVO; |
| 27 | 28 |
import itn.let.schdlr.service.SchdlrManageService; |
| 28 | 29 |
import itn.let.schdlr.service.SchdlrVO; |
| 30 |
+import itn.let.sym.site.service.EgovSiteManagerService; |
|
| 31 |
+import itn.let.uss.umt.service.EgovUserManageService; |
|
| 32 |
+import itn.let.utl.user.service.MjonNoticeSendUtil; |
|
| 29 | 33 |
|
| 30 | 34 |
@Service("SchdlrManageService")
|
| 31 | 35 |
public class SchdlrManageServiceImpl extends EgovAbstractServiceImpl implements SchdlrManageService {
|
... | ... | @@ -73,6 +77,21 @@ |
| 73 | 77 |
@Resource(name = "mjonPayService") |
| 74 | 78 |
private MjonPayService mjonPayService; |
| 75 | 79 |
|
| 80 |
+ /** userManageService */ |
|
| 81 |
+ @Resource(name = "userManageService") |
|
| 82 |
+ private EgovUserManageService userManageService; |
|
| 83 |
+ |
|
| 84 |
+ /** 사이트 설정 */ |
|
| 85 |
+ @Resource(name = "egovSiteManagerService") |
|
| 86 |
+ EgovSiteManagerService egovSiteManagerService; |
|
| 87 |
+ |
|
| 88 |
+ /** 알림전송 Util */ |
|
| 89 |
+ @Resource(name = "mjonNoticeSendUtil") |
|
| 90 |
+ private MjonNoticeSendUtil mjonNoticeSendUtil; |
|
| 91 |
+ |
|
| 92 |
+ @Resource(name="MjonCommon") |
|
| 93 |
+ private MjonCommon mjonCommon; |
|
| 94 |
+ |
|
| 76 | 95 |
@Resource(name = "faxDAO") |
| 77 | 96 |
public FaxDAO faxDao; |
| 78 | 97 |
|
... | ... | @@ -343,6 +362,53 @@ |
| 343 | 362 |
//세틀뱅크 입금 내역 원장에 처리 완료 내용 입력해 주기 |
| 344 | 363 |
vacsAhstService.updateVacsAhstCashComplete(temp); |
| 345 | 364 |
|
| 365 |
+ /* |
|
| 366 |
+ try {
|
|
| 367 |
+ String Userid = temp.getMberId(); |
|
| 368 |
+ String mberNm = ""; |
|
| 369 |
+ |
|
| 370 |
+ // 대상 : 휴대폰결제, 즉시이체, 전용계좌 |
|
| 371 |
+ // Step 1. 스미싱의심 지정 여부 |
|
| 372 |
+ JoinSettingVO joinSettingVO = new JoinSettingVO(); |
|
| 373 |
+ joinSettingVO = egovSiteManagerService.selectAdminNotiDetail(); |
|
| 374 |
+ if (joinSettingVO != null && joinSettingVO.getSmishingNoti().equals("Y")) {
|
|
| 375 |
+ // Step 1. 개인회원 여부 체크 |
|
| 376 |
+ int isPersnalMemberCnt = egovSiteManagerService.selectPersnalMemberCnt(Userid); |
|
| 377 |
+ if (isPersnalMemberCnt == 1) {
|
|
| 378 |
+ // Step 2. 첫결제 여부 체크 |
|
| 379 |
+ int isFirstPayCnt = egovSiteManagerService.selectFirstPayCnt(Userid); |
|
| 380 |
+ if (isFirstPayCnt == 1) {
|
|
| 381 |
+ // SMS 체크 |
|
| 382 |
+ if (joinSettingVO != null && joinSettingVO.getSmsNoti().equals("Y")) {
|
|
| 383 |
+ // 스미싱의심 SMS 알림전송 |
|
| 384 |
+ mjonNoticeSendUtil.smishingSmsNoticeSend("스미싱의심/전용계좌 첫결제", Userid, mberNm);
|
|
| 385 |
+ } |
|
| 386 |
+ |
|
| 387 |
+ // SLACK 체크 |
|
| 388 |
+ if (joinSettingVO != null && joinSettingVO.getSlackNoti().equals("Y")) {
|
|
| 389 |
+ // Slack 메시지 발송(단순본문) |
|
| 390 |
+ String msg = "[문자온] 스미싱의심/전용계좌 첫결제 - " + mberNm +"("+ Userid + ")";
|
|
| 391 |
+ mjonCommon.sendSimpleSlackMsg(msg); |
|
| 392 |
+ } |
|
| 393 |
+ |
|
| 394 |
+ // 스미싱 의심회원으로 변경 |
|
| 395 |
+ UserManageVO userManageVO = new UserManageVO(); |
|
| 396 |
+ userManageVO.setSmishingYn("Y");
|
|
| 397 |
+ userManageVO.setMberId(Userid); |
|
| 398 |
+ userManageService.updateOneUserSmishingYnNotAlert(userManageVO); |
|
| 399 |
+ } |
|
| 400 |
+ } |
|
| 401 |
+ } |
|
| 402 |
+ |
|
| 403 |
+ } |
|
| 404 |
+ catch (Exception e) {
|
|
| 405 |
+ System.out.println("#############################################################");
|
|
| 406 |
+ System.out.println("전용계좌 슬랙알림 & 스미싱의심 처리 Error");
|
|
| 407 |
+ System.out.println("전용계좌 TrNo : " + temp.getTrNo());
|
|
| 408 |
+ System.out.println("전용계좌 e.getMessage() : " + e.getMessage());
|
|
| 409 |
+ } |
|
| 410 |
+ */ |
|
| 411 |
+ |
|
| 346 | 412 |
} |
| 347 | 413 |
|
| 348 | 414 |
} |
+++ src/main/java/itn/let/sym/grd/service/MberGrdService.java
... | ... | @@ -0,0 +1,9 @@ |
| 1 | +package itn.let.sym.grd.service; | |
| 2 | + | |
| 3 | +import java.util.List; | |
| 4 | + | |
| 5 | +public interface MberGrdService { | |
| 6 | + | |
| 7 | + List<MberGrdVO> selectMberGrdSettingList(MberGrdVO mberGrdVO) throws Exception ; | |
| 8 | + | |
| 9 | +} |
+++ src/main/java/itn/let/sym/grd/service/MberGrdVO.java
... | ... | @@ -0,0 +1,151 @@ |
| 1 | +package itn.let.sym.grd.service; | |
| 2 | + | |
| 3 | +import java.util.List; | |
| 4 | + | |
| 5 | +public class MberGrdVO { | |
| 6 | + | |
| 7 | + private int grdSetNo; // 등급설정번호 | |
| 8 | + private String grdSetNm; // 등급설정명 | |
| 9 | + private long totAmt; // 누적결제액 | |
| 10 | + private String totAmtComma; // 누적결제액(콤마) | |
| 11 | + private float shortPrice; // 단문 단가 | |
| 12 | + private float longPrice; //장문 단가 | |
| 13 | + private float picturePrice; // 그림 단가 | |
| 14 | + private float picture2Price; // 그림 2장단가 | |
| 15 | + private float picture3Price; // 그림 3장단가 | |
| 16 | + private String regId; // 최초등록자 아이디 | |
| 17 | + private String regDate; // 최초등록 일자 | |
| 18 | + private String editId; // 수정등록자 아이디 | |
| 19 | + private String editDate; // 수정등록 일자 | |
| 20 | + | |
| 21 | + private List<String> grdSetNos; | |
| 22 | + private List<String> totAmts; | |
| 23 | + private List<String> shortPrices; | |
| 24 | + private List<String> longPrices; | |
| 25 | + private List<String> picturePrices; | |
| 26 | + private List<String> picture2Prices; | |
| 27 | + private List<String> picture3Prices; | |
| 28 | + | |
| 29 | + public int getGrdSetNo() { | |
| 30 | + return grdSetNo; | |
| 31 | + } | |
| 32 | + public void setGrdSetNo(int grdSetNo) { | |
| 33 | + this.grdSetNo = grdSetNo; | |
| 34 | + } | |
| 35 | + public String getGrdSetNm() { | |
| 36 | + return grdSetNm; | |
| 37 | + } | |
| 38 | + public void setGrdSetNm(String grdSetNm) { | |
| 39 | + this.grdSetNm = grdSetNm; | |
| 40 | + } | |
| 41 | + public long getTotAmt() { | |
| 42 | + return totAmt; | |
| 43 | + } | |
| 44 | + public void setTotAmt(long totAmt) { | |
| 45 | + this.totAmt = totAmt; | |
| 46 | + } | |
| 47 | + public String getTotAmtComma() { | |
| 48 | + return totAmtComma; | |
| 49 | + } | |
| 50 | + public void setTotAmtComma(String totAmtComma) { | |
| 51 | + this.totAmtComma = totAmtComma; | |
| 52 | + } | |
| 53 | + public float getShortPrice() { | |
| 54 | + return shortPrice; | |
| 55 | + } | |
| 56 | + public void setShortPrice(float shortPrice) { | |
| 57 | + this.shortPrice = shortPrice; | |
| 58 | + } | |
| 59 | + public float getLongPrice() { | |
| 60 | + return longPrice; | |
| 61 | + } | |
| 62 | + public void setLongPrice(float longPrice) { | |
| 63 | + this.longPrice = longPrice; | |
| 64 | + } | |
| 65 | + public float getPicturePrice() { | |
| 66 | + return picturePrice; | |
| 67 | + } | |
| 68 | + public void setPicturePrice(float picturePrice) { | |
| 69 | + this.picturePrice = picturePrice; | |
| 70 | + } | |
| 71 | + public float getPicture2Price() { | |
| 72 | + return picture2Price; | |
| 73 | + } | |
| 74 | + public void setPicture2Price(float picture2Price) { | |
| 75 | + this.picture2Price = picture2Price; | |
| 76 | + } | |
| 77 | + public float getPicture3Price() { | |
| 78 | + return picture3Price; | |
| 79 | + } | |
| 80 | + public void setPicture3Price(float picture3Price) { | |
| 81 | + this.picture3Price = picture3Price; | |
| 82 | + } | |
| 83 | + public String getRegId() { | |
| 84 | + return regId; | |
| 85 | + } | |
| 86 | + public void setRegId(String regId) { | |
| 87 | + this.regId = regId; | |
| 88 | + } | |
| 89 | + public String getRegDate() { | |
| 90 | + return regDate; | |
| 91 | + } | |
| 92 | + public void setRegDate(String regDate) { | |
| 93 | + this.regDate = regDate; | |
| 94 | + } | |
| 95 | + public String getEditId() { | |
| 96 | + return editId; | |
| 97 | + } | |
| 98 | + public void setEditId(String editId) { | |
| 99 | + this.editId = editId; | |
| 100 | + } | |
| 101 | + public String getEditDate() { | |
| 102 | + return editDate; | |
| 103 | + } | |
| 104 | + public void setEditDate(String editDate) { | |
| 105 | + this.editDate = editDate; | |
| 106 | + } | |
| 107 | + | |
| 108 | + public List<String> getGrdSetNos() { | |
| 109 | + return grdSetNos; | |
| 110 | + } | |
| 111 | + public void setGrdSetNos(List<String> grdSetNos) { | |
| 112 | + this.grdSetNos = grdSetNos; | |
| 113 | + } | |
| 114 | + public List<String> getTotAmts() { | |
| 115 | + return totAmts; | |
| 116 | + } | |
| 117 | + public void setTotAmts(List<String> totAmts) { | |
| 118 | + this.totAmts = totAmts; | |
| 119 | + } | |
| 120 | + public List<String> getShortPrices() { | |
| 121 | + return shortPrices; | |
| 122 | + } | |
| 123 | + public void setShortPrices(List<String> shortPrices) { | |
| 124 | + this.shortPrices = shortPrices; | |
| 125 | + } | |
| 126 | + public List<String> getLongPrices() { | |
| 127 | + return longPrices; | |
| 128 | + } | |
| 129 | + public void setLongPrices(List<String> longPrices) { | |
| 130 | + this.longPrices = longPrices; | |
| 131 | + } | |
| 132 | + public List<String> getPicturePrices() { | |
| 133 | + return picturePrices; | |
| 134 | + } | |
| 135 | + public void setPicturePrices(List<String> picturePrices) { | |
| 136 | + this.picturePrices = picturePrices; | |
| 137 | + } | |
| 138 | + public List<String> getPicture2Prices() { | |
| 139 | + return picture2Prices; | |
| 140 | + } | |
| 141 | + public void setPicture2Prices(List<String> picture2Prices) { | |
| 142 | + this.picture2Prices = picture2Prices; | |
| 143 | + } | |
| 144 | + public List<String> getPicture3Prices() { | |
| 145 | + return picture3Prices; | |
| 146 | + } | |
| 147 | + public void setPicture3Prices(List<String> picture3Prices) { | |
| 148 | + this.picture3Prices = picture3Prices; | |
| 149 | + } | |
| 150 | + | |
| 151 | +} |
+++ src/main/java/itn/let/sym/grd/service/impl/MberGrdDAO.java
... | ... | @@ -0,0 +1,18 @@ |
| 1 | +package itn.let.sym.grd.service.impl; | |
| 2 | + | |
| 3 | +import java.util.List; | |
| 4 | + | |
| 5 | +import org.springframework.stereotype.Repository; | |
| 6 | + | |
| 7 | +import egovframework.rte.psl.dataaccess.EgovAbstractDAO; | |
| 8 | +import itn.let.sym.grd.service.MberGrdVO; | |
| 9 | + | |
| 10 | +@Repository("mberGrdDAO") | |
| 11 | +public class MberGrdDAO extends EgovAbstractDAO { | |
| 12 | + | |
| 13 | + @SuppressWarnings("unchecked") | |
| 14 | + public List<MberGrdVO> selectMberGrdSettingList(MberGrdVO mberGrdVO) throws Exception{ | |
| 15 | + return (List<MberGrdVO>)list("mberGrdDAO.selectMberGrdSettingList", mberGrdVO); | |
| 16 | + } | |
| 17 | + | |
| 18 | +} |
+++ src/main/java/itn/let/sym/grd/service/impl/MberGrdServiceImpl.java
... | ... | @@ -0,0 +1,24 @@ |
| 1 | +package itn.let.sym.grd.service.impl; | |
| 2 | + | |
| 3 | +import java.util.List; | |
| 4 | + | |
| 5 | +import javax.annotation.Resource; | |
| 6 | + | |
| 7 | +import org.springframework.stereotype.Service; | |
| 8 | + | |
| 9 | +import egovframework.rte.fdl.cmmn.EgovAbstractServiceImpl; | |
| 10 | +import itn.let.sym.grd.service.MberGrdService; | |
| 11 | +import itn.let.sym.grd.service.MberGrdVO; | |
| 12 | + | |
| 13 | +@Service("mberGrdService") | |
| 14 | +public class MberGrdServiceImpl extends EgovAbstractServiceImpl implements MberGrdService { | |
| 15 | + | |
| 16 | + @Resource(name="mberGrdDAO") | |
| 17 | + MberGrdDAO mberGrdDAO; | |
| 18 | + | |
| 19 | + @Override | |
| 20 | + public List<MberGrdVO> selectMberGrdSettingList(MberGrdVO mberGrdVO) throws Exception { | |
| 21 | + return mberGrdDAO.selectMberGrdSettingList(mberGrdVO); | |
| 22 | + } | |
| 23 | + | |
| 24 | +} |
+++ src/main/java/itn/let/sym/grd/web/MberGrdController.java
... | ... | @@ -0,0 +1,73 @@ |
| 1 | +package itn.let.sym.grd.web; | |
| 2 | + | |
| 3 | +import java.util.List; | |
| 4 | + | |
| 5 | +import javax.annotation.Resource; | |
| 6 | + | |
| 7 | +import org.springframework.stereotype.Controller; | |
| 8 | +import org.springframework.ui.ModelMap; | |
| 9 | +import org.springframework.web.bind.annotation.ModelAttribute; | |
| 10 | +import org.springframework.web.bind.annotation.RequestMapping; | |
| 11 | +import org.springframework.web.servlet.ModelAndView; | |
| 12 | + | |
| 13 | +import egovframework.rte.fdl.security.userdetails.util.EgovUserDetailsHelper; | |
| 14 | +import itn.com.cmm.LoginVO; | |
| 15 | +import itn.let.sym.grd.service.MberGrdService; | |
| 16 | +import itn.let.sym.grd.service.MberGrdVO; | |
| 17 | + | |
| 18 | +@Controller | |
| 19 | +public class MberGrdController { | |
| 20 | + | |
| 21 | + @Resource(name = "mberGrdService") | |
| 22 | + MberGrdService mberGrdService; | |
| 23 | + | |
| 24 | + /** | |
| 25 | + * 등급제 관리 화면 | |
| 26 | + * | |
| 27 | + * @param mberGrdVO | |
| 28 | + * @param model | |
| 29 | + * @return | |
| 30 | + * @throws Exception | |
| 31 | + */ | |
| 32 | + @RequestMapping("/sym/grd/selectMberGrdSetting.do") | |
| 33 | + public String selectJoinSetting(MberGrdVO mberGrdVO, ModelMap model) throws Exception { | |
| 34 | + | |
| 35 | + List<MberGrdVO> mberGrdSettingList = mberGrdService.selectMberGrdSettingList(mberGrdVO); | |
| 36 | + | |
| 37 | + model.addAttribute("mberGrdSettingList", mberGrdSettingList); | |
| 38 | + | |
| 39 | + return "/sym/grd/mberGrdSetting"; | |
| 40 | + } | |
| 41 | + | |
| 42 | + // 등급제 일괄 저장 | |
| 43 | + @RequestMapping(value = "/sym/grd/mberGrdSettingMassUpdateAjax.do") | |
| 44 | + public ModelAndView mberGrdSettingMassUpdateAjax( | |
| 45 | + @ModelAttribute("mberGrdVO") MberGrdVO mberGrdVO) throws Exception { | |
| 46 | + | |
| 47 | + ModelAndView modelAndView = new ModelAndView(); | |
| 48 | + modelAndView.setViewName("jsonView"); | |
| 49 | + | |
| 50 | + boolean isSuccess = true; | |
| 51 | + String msg = ""; | |
| 52 | + | |
| 53 | + // 로그인VO에서 사용자 정보 가져오기 | |
| 54 | + LoginVO loginVO = (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser(); | |
| 55 | + String frstRegisterId = loginVO == null ? "" : loginVO.getId(); | |
| 56 | + mberGrdVO.setRegId(frstRegisterId); // 최초등록자ID | |
| 57 | + | |
| 58 | + try{ | |
| 59 | + // 등급제 업데이트 | |
| 60 | + //mberGrdService.updateHashTagList(mberGrdVO); | |
| 61 | + } | |
| 62 | + catch(Exception e) { | |
| 63 | + isSuccess = false; | |
| 64 | + msg = e.getMessage(); | |
| 65 | + } | |
| 66 | + | |
| 67 | + modelAndView.addObject("isSuccess", isSuccess); | |
| 68 | + modelAndView.addObject("msg", msg); | |
| 69 | + | |
| 70 | + return modelAndView; | |
| 71 | + } | |
| 72 | + | |
| 73 | +} |
--- src/main/java/itn/let/sym/log/clg/service/EgovLoginLogAspect.java
+++ src/main/java/itn/let/sym/log/clg/service/EgovLoginLogAspect.java
... | ... | @@ -3,6 +3,8 @@ |
| 3 | 3 |
import egovframework.rte.fdl.security.userdetails.util.EgovUserDetailsHelper; |
| 4 | 4 |
import itn.com.cmm.LoginVO; |
| 5 | 5 |
|
| 6 |
+import java.net.InetAddress; |
|
| 7 |
+ |
|
| 6 | 8 |
import javax.annotation.Resource; |
| 7 | 9 |
|
| 8 | 10 |
/** |
--- src/main/java/itn/let/uss/umt/service/EgovUserManageService.java
+++ src/main/java/itn/let/uss/umt/service/EgovUserManageService.java
... | ... | @@ -185,6 +185,9 @@ |
| 185 | 185 |
// 스미싱의심 온/오프 - 상세에서 단일로 |
| 186 | 186 |
public void updateOneUserSmishingYn(UserManageVO userManageVO) throws Exception; |
| 187 | 187 |
|
| 188 |
+ // 스미싱의심 온/오프 - 상세에서 단일로 => 슬랙, 문자 알림 No |
|
| 189 |
+ public void updateOneUserSmishingYnNotAlert(UserManageVO userManageVO) throws Exception; |
|
| 190 |
+ |
|
| 188 | 191 |
// 알림톡 스미싱의심 온/오프 |
| 189 | 192 |
public void updateUserAtSmishingYn(UserManageVO userManageVO, String checkedIdForUpt) throws Exception; |
| 190 | 193 |
|
--- src/main/java/itn/let/uss/umt/service/UserDefaultVO.java
+++ src/main/java/itn/let/uss/umt/service/UserDefaultVO.java
... | ... | @@ -171,6 +171,16 @@ |
| 171 | 171 |
|
| 172 | 172 |
private String searchHotlineAgentCode; |
| 173 | 173 |
|
| 174 |
+ private String searchDeleteType; |
|
| 175 |
+ |
|
| 176 |
+ public String getSearchDeleteType() {
|
|
| 177 |
+ return searchDeleteType; |
|
| 178 |
+ } |
|
| 179 |
+ |
|
| 180 |
+ public void setSearchDeleteType(String searchDeleteType) {
|
|
| 181 |
+ this.searchDeleteType = searchDeleteType; |
|
| 182 |
+ } |
|
| 183 |
+ |
|
| 174 | 184 |
public String getSearchHotlineAgentCode() {
|
| 175 | 185 |
return searchHotlineAgentCode; |
| 176 | 186 |
} |
--- src/main/java/itn/let/uss/umt/service/impl/EgovUserManageServiceImpl.java
+++ src/main/java/itn/let/uss/umt/service/impl/EgovUserManageServiceImpl.java
... | ... | @@ -539,32 +539,37 @@ |
| 539 | 539 |
|
| 540 | 540 |
// 스미싱의심 온/오프 단일 |
| 541 | 541 |
public void updateOneUserSmishingYn(UserManageVO userManageVO) throws Exception {
|
| 542 |
- // 업데이트 |
|
| 543 |
- userManageDAO.updateUserSmishingYn(userManageVO); |
|
| 544 |
- |
|
| 545 |
- // 법인폰 알림문자 발송 |
|
| 546 |
- UserManageVO rtnVO = new UserManageVO(); |
|
| 547 |
- rtnVO = selectSmishingYnUserInfo(userManageVO); |
|
| 548 |
- if (rtnVO.getSmishingYn().equals("Y")) {
|
|
| 549 |
- // 법인폰 알람여부 체크 |
|
| 550 |
- JoinSettingVO joinSettingVO = new JoinSettingVO(); |
|
| 551 |
- joinSettingVO = egovSiteManagerService.selectAdminNotiDetail(); |
|
| 552 |
- // SMS 체크 |
|
| 553 |
- if (joinSettingVO != null && joinSettingVO.getSmsNoti().equals("Y")) {
|
|
| 554 |
- // 스미싱의심 SMS 알림전송 |
|
| 555 |
- mjonNoticeSendUtil.smishingSmsNoticeSend("스미싱 의심!", rtnVO.getMberId(), rtnVO.getMberNm());
|
|
| 556 |
- } |
|
| 557 |
- |
|
| 558 |
- // SLACK 체크 |
|
| 559 |
- if (joinSettingVO != null && joinSettingVO.getSlackNoti().equals("Y")) {
|
|
| 560 |
- // Slack 메시지 발송(단순본문) |
|
| 561 |
- String msg = "[문자온] 스미싱 의심! - " + rtnVO.getMberNm() +"("+ rtnVO.getMberId() + ")";
|
|
| 562 |
- mjonCommon.sendSimpleSlackMsg(msg); |
|
| 563 |
- } |
|
| 564 |
- } |
|
| 542 |
+ // 업데이트 |
|
| 543 |
+ userManageDAO.updateUserSmishingYn(userManageVO); |
|
| 565 | 544 |
|
| 545 |
+ // 법인폰 알림문자 발송 |
|
| 546 |
+ UserManageVO rtnVO = new UserManageVO(); |
|
| 547 |
+ rtnVO = selectSmishingYnUserInfo(userManageVO); |
|
| 548 |
+ if (rtnVO.getSmishingYn().equals("Y")) {
|
|
| 549 |
+ // 법인폰 알람여부 체크 |
|
| 550 |
+ JoinSettingVO joinSettingVO = new JoinSettingVO(); |
|
| 551 |
+ joinSettingVO = egovSiteManagerService.selectAdminNotiDetail(); |
|
| 552 |
+ // SMS 체크 |
|
| 553 |
+ if (joinSettingVO != null && joinSettingVO.getSmsNoti().equals("Y")) {
|
|
| 554 |
+ // 스미싱의심 SMS 알림전송 |
|
| 555 |
+ mjonNoticeSendUtil.smishingSmsNoticeSend("스미싱 의심!", rtnVO.getMberId(), rtnVO.getMberNm());
|
|
| 556 |
+ } |
|
| 557 |
+ |
|
| 558 |
+ // SLACK 체크 |
|
| 559 |
+ if (joinSettingVO != null && joinSettingVO.getSlackNoti().equals("Y")) {
|
|
| 560 |
+ // Slack 메시지 발송(단순본문) |
|
| 561 |
+ String msg = "[문자온] 스미싱 의심! - " + rtnVO.getMberNm() +"("+ rtnVO.getMberId() + ")";
|
|
| 562 |
+ mjonCommon.sendSimpleSlackMsg(msg); |
|
| 563 |
+ } |
|
| 564 |
+ } |
|
| 566 | 565 |
} |
| 567 | 566 |
|
| 567 |
+ // 스미싱의심 온/오프 단일 => 슬랙, 문자 알림 No |
|
| 568 |
+ public void updateOneUserSmishingYnNotAlert(UserManageVO userManageVO) throws Exception {
|
|
| 569 |
+ // 업데이트 |
|
| 570 |
+ userManageDAO.updateUserSmishingYn(userManageVO); |
|
| 571 |
+ } |
|
| 572 |
+ |
|
| 568 | 573 |
// 알림톡 스미싱의심 온/오프 |
| 569 | 574 |
public void updateUserAtSmishingYn(UserManageVO userManageVO, String checkedIdForUpt) throws Exception {
|
| 570 | 575 |
if(!"".equals(checkedIdForUpt)) {
|
--- src/main/java/itn/web/ContentController.java
+++ src/main/java/itn/web/ContentController.java
... | ... | @@ -34,6 +34,7 @@ |
| 34 | 34 |
import itn.com.uss.olh.hpc.service.HackIpVO; |
| 35 | 35 |
import itn.let.lett.service.LetterVO; |
| 36 | 36 |
import itn.let.mjo.pay.service.MjonPayVO; |
| 37 |
+import itn.let.schdlr.service.SchdlrManageService; |
|
| 37 | 38 |
import itn.let.uss.ion.cnt.service.CntManageVO; |
| 38 | 39 |
import itn.let.uss.ion.cnt.service.EgovCntManageService; |
| 39 | 40 |
|
... | ... | @@ -45,6 +46,9 @@ |
| 45 | 46 |
|
| 46 | 47 |
@Resource(name = "hackIpService") |
| 47 | 48 |
private HackIpService hackIpService; |
| 49 |
+ |
|
| 50 |
+ @Resource(name = "SchdlrManageService") |
|
| 51 |
+ private SchdlrManageService schdlrManageService; |
|
| 48 | 52 |
|
| 49 | 53 |
/*인사말*/ |
| 50 | 54 |
@RequestMapping(value="/web/intro/intro.do") |
... | ... | @@ -661,4 +665,30 @@ |
| 661 | 665 |
return modelAndView; |
| 662 | 666 |
} |
| 663 | 667 |
|
| 668 |
+ // 전용계좌 스케줄러 실행 |
|
| 669 |
+ @RequestMapping(value= {"/web/main/vacsAutoChargeAjax.do"})
|
|
| 670 |
+ public ModelAndView vacsAutoCharge(HttpServletRequest request, |
|
| 671 |
+ ModelMap model) throws Exception{
|
|
| 672 |
+ |
|
| 673 |
+ ModelAndView modelAndView = new ModelAndView(); |
|
| 674 |
+ modelAndView.setViewName("jsonView");
|
|
| 675 |
+ |
|
| 676 |
+ boolean isSuccess = true; |
|
| 677 |
+ String msg = ""; |
|
| 678 |
+ |
|
| 679 |
+ try {
|
|
| 680 |
+ |
|
| 681 |
+ schdlrManageService.vacsAutoCharge(); |
|
| 682 |
+ |
|
| 683 |
+ } |
|
| 684 |
+ catch(Exception e) {
|
|
| 685 |
+ isSuccess = false; |
|
| 686 |
+ msg = e.getMessage(); |
|
| 687 |
+ } |
|
| 688 |
+ |
|
| 689 |
+ modelAndView.addObject("isSuccess", isSuccess);
|
|
| 690 |
+ modelAndView.addObject("msg", msg);
|
|
| 691 |
+ |
|
| 692 |
+ return modelAndView; |
|
| 693 |
+ } |
|
| 664 | 694 |
} |
--- src/main/resources/egovframework/egovProps/globals_prod.properties
+++ src/main/resources/egovframework/egovProps/globals_prod.properties
... | ... | @@ -99,7 +99,7 @@ |
| 99 | 99 |
Globals.pay.kgm.card.payMode=10 |
| 100 | 100 |
#BANK |
| 101 | 101 |
Globals.pay.kgm.bank.raSvcid=230510133362 |
| 102 |
-Globals.pay.kgm.bank.payMode=00 |
|
| 102 |
+Globals.pay.kgm.bank.payMode=10 |
|
| 103 | 103 |
#MOBILE |
| 104 |
-Globals.pay.kgm.mobile.mcSvcid=170622040674 |
|
| 105 |
-Globals.pay.kgm.mobile.payMode=00 |
|
| 104 |
+Globals.pay.kgm.mobile.mcSvcid=220613125202 |
|
| 105 |
+Globals.pay.kgm.mobile.payMode=10 |
+++ src/main/resources/egovframework/sqlmap/config/mysql/sql-map-config-mysql-sym-grd.xml
... | ... | @@ -0,0 +1,7 @@ |
| 1 | +<?xml version="1.0" encoding="UTF-8"?> | |
| 2 | +<!DOCTYPE sqlMapConfig PUBLIC "-//iBATIS.com//DTD SQL Map Config 2.0//EN" | |
| 3 | + "http://www.ibatis.com/dtd/sql-map-config-2.dtd"> | |
| 4 | + | |
| 5 | +<sqlMapConfig> | |
| 6 | + <sqlMap resource="egovframework/sqlmap/let/sym/grd/MberGrd_SQL_Mysql.xml"/> | |
| 7 | +</sqlMapConfig> |
+++ src/main/resources/egovframework/sqlmap/let/sym/grd/MberGrd_SQL_Mysql.xml
... | ... | @@ -0,0 +1,28 @@ |
| 1 | +<?xml version="1.0" encoding="UTF-8"?> | |
| 2 | +<!DOCTYPE sqlMap PUBLIC "-//iBATIS.com//DTD SQL Map 2.0//EN" "http://www.ibatis.com/dtd/sql-map-config-2.dtd"> | |
| 3 | + | |
| 4 | +<sqlMap namespace="SiteManager"> | |
| 5 | + | |
| 6 | + <typeAlias alias="mberGrdVO" type = "itn.let.sym.grd.service.MberGrdVO"/> | |
| 7 | + | |
| 8 | + <select id="mberGrdDAO.selectMberGrdSettingList" parameterClass="mberGrdVO" resultClass="mberGrdVO"> | |
| 9 | + SELECT | |
| 10 | + A.GRD_SET_NO AS grdSetNo | |
| 11 | + , A.GRD_SET_NM AS grdSetNm | |
| 12 | + , FLOOR(A.TOT_AMT) AS totAmt | |
| 13 | + , FORMAT(FLOOR(A.TOT_AMT),0) AS totAmtComma | |
| 14 | + , A.SHORT_PRICE AS shortPrice | |
| 15 | + , A.LONG_PRICE AS longPrice | |
| 16 | + , A.PICTURE_PRICE AS picturePrice | |
| 17 | + , A.PICTURE2_PRICE AS picture2Price | |
| 18 | + , A.PICTURE3_PRICE AS picture3Price | |
| 19 | + , A.REG_ID AS regId | |
| 20 | + , A.REG_DATE AS regDate | |
| 21 | + , A.EDIT_ID AS editId | |
| 22 | + , A.EDIT_DATE AS editDate | |
| 23 | + FROM mj_mber_grd_setting A | |
| 24 | + ORDER BY A.GRD_SET_NO ASC | |
| 25 | + | |
| 26 | + </select> | |
| 27 | + | |
| 28 | +</sqlMap> |
--- src/main/resources/egovframework/sqlmap/let/uss/umt/EgovMberManage_SQL_Mysql.xml
+++ src/main/resources/egovframework/sqlmap/let/uss/umt/EgovMberManage_SQL_Mysql.xml
... | ... | @@ -184,6 +184,10 @@ |
| 184 | 184 |
adminSmsNoticeYn = #searchAdminSmsNoticeYn# |
| 185 | 185 |
</isNotEmpty> |
| 186 | 186 |
|
| 187 |
+ <isNotEmpty prepend="AND" property="searchDeleteType"> |
|
| 188 |
+ deleteType = #searchDeleteType# |
|
| 189 |
+ </isNotEmpty> |
|
| 190 |
+ |
|
| 187 | 191 |
<isNotEmpty property="searchSmsSalePrice"> |
| 188 | 192 |
<isEqual prepend="AND" property="searchSmsSalePrice" compareValue="Y"> |
| 189 | 193 |
(shortPrice > 0 AND (18.00 > shortPrice OR 50.00 > longPrice OR 90.00 > picturePrice OR 110.00 > picture2Price OR 130.00 > picture3Price)) |
--- src/main/webapp/WEB-INF/jsp/cmm/uss/umt/EgovDelUserManage.jsp
+++ src/main/webapp/WEB-INF/jsp/cmm/uss/umt/EgovDelUserManage.jsp
... | ... | @@ -79,6 +79,9 @@ |
| 79 | 79 |
} |
| 80 | 80 |
} |
| 81 | 81 |
|
| 82 |
+ // 초기화 |
|
| 83 |
+ $("#searchDeleteType").val('');
|
|
| 84 |
+ |
|
| 82 | 85 |
linkPage(1); |
| 83 | 86 |
} |
| 84 | 87 |
</script> |
... | ... | @@ -86,6 +89,7 @@ |
| 86 | 89 |
<body> |
| 87 | 90 |
<form name="listForm" action="<c:url value='/uss/umt/user/EgovDelUserManage.do'/>" method="post"> |
| 88 | 91 |
<input name="pageIndex" type="hidden" value="<c:out value='${userSearchVO.pageIndex}'/>"/>
|
| 92 |
+ <input name="searchDeleteType" id="searchDeleteType" type="hidden" value="<c:out value='${userSearchVO.searchDeleteType}'/>"/>
|
|
| 89 | 93 |
|
| 90 | 94 |
<double-submit:preventer tokenKey="someKey" /> |
| 91 | 95 |
<!-- cont --> |
... | ... | @@ -132,6 +136,39 @@ |
| 132 | 136 |
<input type="button" class="btnType1" onclick="fn_search2(); return false;" value="검색"> |
| 133 | 137 |
<input type="button" class="btnType1" onclick="fn_searchReset2(); return false;" value="초기화"> |
| 134 | 138 |
</div> |
| 139 |
+ |
|
| 140 |
+ <div class="tableWrap"> |
|
| 141 |
+ <table class="tbType4"> |
|
| 142 |
+ <colgroup> |
|
| 143 |
+ <col style="width:6%"> |
|
| 144 |
+ <c:forEach var="item" items="${resultMberDelTypeGrpList}" varStatus="status">
|
|
| 145 |
+ <col style="width:12.5%"> |
|
| 146 |
+ </c:forEach> |
|
| 147 |
+ <col style="width:*%"> |
|
| 148 |
+ </colgroup> |
|
| 149 |
+ <thead> |
|
| 150 |
+ <tr> |
|
| 151 |
+ <th>구분</th> |
|
| 152 |
+ <c:forEach var="item" items="${resultMberDelTypeGrpList}" varStatus="status">
|
|
| 153 |
+ <th>${item.deleteTypeName}</th>
|
|
| 154 |
+ </c:forEach> |
|
| 155 |
+ <th>계</th> |
|
| 156 |
+ </tr> |
|
| 157 |
+ </thead> |
|
| 158 |
+ <tbody> |
|
| 159 |
+ <tr> |
|
| 160 |
+ <td>인원</td> |
|
| 161 |
+ <c:set var="deleteTypeSum" value="0" /> |
|
| 162 |
+ <c:forEach var="item" items="${resultMberDelTypeGrpList}" varStatus="status">
|
|
| 163 |
+ <c:set var="deleteTypeSum" value="${deleteTypeSum + item.deleteTypeCnt}" />
|
|
| 164 |
+ <td><a href="/uss/umt/user/EgovDelUserManage.do?searchDeleteType=${item.deleteType}">${item.deleteTypeCnt}</a></td>
|
|
| 165 |
+ </c:forEach> |
|
| 166 |
+ <td><a href="/uss/umt/user/EgovDelUserManage.do"><fmt:formatNumber value="${deleteTypeSum}" pattern="#,###" /></a></td>
|
|
| 167 |
+ </tr> |
|
| 168 |
+ </tbody> |
|
| 169 |
+ </table> |
|
| 170 |
+ </div> |
|
| 171 |
+ |
|
| 135 | 172 |
<div class="listTop"> |
| 136 | 173 |
<p class="tType5">총 <span class="tType4 c_456ded fwBold"><fmt:formatNumber value="${paginationInfo.totalRecordCount}" pattern="#,###" /></span>건</p>
|
| 137 | 174 |
<div class="rightWrap"> |
... | ... | @@ -192,7 +229,7 @@ |
| 192 | 229 |
<td> |
| 193 | 230 |
<c:choose> |
| 194 | 231 |
<c:when test="${result.deleteType eq '01'}">
|
| 195 |
- 기업회원으로 다시 가입 |
|
| 232 |
+ 기업회원 전환 |
|
| 196 | 233 |
</c:when> |
| 197 | 234 |
<c:when test="${result.deleteType eq '02'}">
|
| 198 | 235 |
사용할 일이 없어서 |
... | ... | @@ -210,7 +247,7 @@ |
| 210 | 247 |
다른 사이트이용 |
| 211 | 248 |
</c:when> |
| 212 | 249 |
<c:otherwise> |
| 213 |
- 해지사유 직접 입력 |
|
| 250 |
+ 기타(직접 입력) |
|
| 214 | 251 |
</c:otherwise> |
| 215 | 252 |
</c:choose> |
| 216 | 253 |
</td> |
--- src/main/webapp/WEB-INF/jsp/cmm/uss/umt/EgovMberCmpHstTaxList.jsp
+++ src/main/webapp/WEB-INF/jsp/cmm/uss/umt/EgovMberCmpHstTaxList.jsp
... | ... | @@ -112,7 +112,8 @@ |
| 112 | 112 |
|
| 113 | 113 |
function biznoPop() {
|
| 114 | 114 |
var p_bizno = $('#bizNo').val();
|
| 115 |
- window.open('https://www.bizno.net/article/'+p_bizno);
|
|
| 115 |
+ //window.open('https://www.bizno.net/article/'+p_bizno);
|
|
| 116 |
+ window.open('https://moneypin.biz/bizno/detail/'+p_bizno);
|
|
| 116 | 117 |
} |
| 117 | 118 |
|
| 118 | 119 |
// 기업회원 상세정보 |
... | ... | @@ -279,7 +280,7 @@ |
| 279 | 280 |
|
| 280 | 281 |
<td class="left"> |
| 281 | 282 |
<%-- <c:if test="${result.hstSttus eq '01'}">--%>
|
| 282 |
- <button class="btnType btnType20" onclick="biznoPop();return false;">BizNo 페이지호출</button> |
|
| 283 |
+ <button class="btnType btnType20" onclick="biznoPop();return false;">머니핀 페이지호출</button> |
|
| 283 | 284 |
<button class="btnType btnType20" onclick="setMberCmpHstStatusSave('${status.index}'); return false;">국세청 API호출</button>
|
| 284 | 285 |
<%-- </c:if>--%> |
| 285 | 286 |
<c:if test="${result.hstSttus eq '03'}">
|
--- src/main/webapp/WEB-INF/jsp/cmm/uss/umt/EgovNewUserManage.jsp
+++ src/main/webapp/WEB-INF/jsp/cmm/uss/umt/EgovNewUserManage.jsp
... | ... | @@ -9,7 +9,7 @@ |
| 9 | 9 |
2009.03.03 JJY 최초 생성 |
| 10 | 10 |
2011.08.31 JJY 경량환경 버전 생성 |
| 11 | 11 |
|
| 12 |
- author : 공통서비스 개발팀 JJY |
|
| 12 |
+ author : 공통서비스 개발팀 WYH |
|
| 13 | 13 |
since : 2009.03.03 |
| 14 | 14 |
--%> |
| 15 | 15 |
<%@ page contentType="text/html; charset=utf-8" pageEncoding="utf-8"%> |
+++ src/main/webapp/WEB-INF/jsp/sym/grd/mberGrdSetting.jsp
... | ... | @@ -0,0 +1,106 @@ |
| 1 | +<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> | |
| 2 | +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> | |
| 3 | +<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%> | |
| 4 | +<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%> | |
| 5 | +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%> | |
| 6 | +<!DOCTYPE html> | |
| 7 | +<html lang="ko"> | |
| 8 | +<head> | |
| 9 | + <meta charset="UTF-8"> | |
| 10 | + <title>등급제 관리</title> | |
| 11 | + <script type="text/javascript"> | |
| 12 | + | |
| 13 | + function doUpdate() { | |
| 14 | + | |
| 15 | + } | |
| 16 | + | |
| 17 | + // 등급제 일괄변경 | |
| 18 | + function setMassEdit() { | |
| 19 | + if(!confirm("등급별 단가를 변경 하시겠습니까?")) { | |
| 20 | + return; | |
| 21 | + } | |
| 22 | + | |
| 23 | + // 콤마 제거 | |
| 24 | + $('input[name=totAmt]').each(function(index,item){ | |
| 25 | + $(this).val($(this).val().replace(/,/gi, "")); | |
| 26 | + }); | |
| 27 | + | |
| 28 | + $.ajax({ | |
| 29 | + type: "POST", | |
| 30 | + url: "/sym/grd/mberGrdSettingMassUpdateAjax.do", | |
| 31 | + data: $("#listForm").serialize(), | |
| 32 | + dataType:'json', | |
| 33 | + async: false, | |
| 34 | + success: function (data) { | |
| 35 | + console.log(data); | |
| 36 | + if (data.isSuccess) { | |
| 37 | + alert("저장 완료했습니다."); | |
| 38 | + location.reload(); | |
| 39 | + } | |
| 40 | + else { | |
| 41 | + alert("Msg : " + data.msg); | |
| 42 | + } | |
| 43 | + }, | |
| 44 | + error: function (e) { | |
| 45 | + alert("ERROR : " + JSON.stringify(e)); | |
| 46 | + } | |
| 47 | + }); | |
| 48 | + } | |
| 49 | + | |
| 50 | + </script> | |
| 51 | +</head> | |
| 52 | +<body> | |
| 53 | + <div class="contWrap"> | |
| 54 | + <div class="pageTitle"> | |
| 55 | + <div class="pageIcon"><img src="/pb/img/pageTitIcon4.png" alt=""></div> | |
| 56 | + <h2 class="titType1 c_222222 fwBold">등급제 관리</h2> | |
| 57 | + <p class="tType6 c_999999">등급제 관리 페이지 입니다.</p> | |
| 58 | + </div> | |
| 59 | + <div class="pageCont"> | |
| 60 | + <form id="listForm" name="listForm" method="post"> | |
| 61 | + <div class="tableWrap"> | |
| 62 | + <table class="tbType1"> | |
| 63 | + <colgroup> | |
| 64 | + <col width="10%"> | |
| 65 | + <col width="*"> | |
| 66 | + <col width="13%"> | |
| 67 | + <col width="13%"> | |
| 68 | + <col width="13%"> | |
| 69 | + <col width="13%"> | |
| 70 | + <col width="13%"> | |
| 71 | + </colgroup> | |
| 72 | + <thead> | |
| 73 | + <tr> | |
| 74 | + <th>등급</th> | |
| 75 | + <th>누적결제액</th> | |
| 76 | + <th>단문</th> | |
| 77 | + <th>장문</th> | |
| 78 | + <th>그림(1장)</th> | |
| 79 | + <th>그림(2장)</th> | |
| 80 | + <th>그림(3장)</th> | |
| 81 | + </tr> | |
| 82 | + </thead> | |
| 83 | + <tbody> | |
| 84 | + <c:forEach var="result" items="${mberGrdSettingList}" varStatus="status"> | |
| 85 | + <input type="hidden" name="grdSetNo" value="${result.grdSetNo}"/> | |
| 86 | + <tr> | |
| 87 | + <td><c:out value="${result.grdSetNm}"/></td> | |
| 88 | + <td><input type="text" name="totAmt" value="<c:out value="${result.totAmtComma}"/>" style="height: 20px; width: 150px; padding: 5px 5px 5px 5px;" /></td> | |
| 89 | + <td><input type="text" name="shortPrice" value="<c:out value="${result.shortPrice}"/>" style="height: 20px; width: 100px; padding: 5px 5px 5px 5px;" /></td> | |
| 90 | + <td><input type="text" name="longPrice" value="<c:out value="${result.longPrice}"/>" style="height: 20px; width: 100px; padding: 5px 5px 5px 5px;" /></td> | |
| 91 | + <td><input type="text" name="picturePrice" value="<c:out value="${result.picturePrice}"/>" style="height: 20px; width: 100px; padding: 5px 5px 5px 5px;" /></td> | |
| 92 | + <td><input type="text" name="picture2Price" value="<c:out value="${result.picture2Price}"/>" style="height: 20px; width: 100px; padding: 5px 5px 5px 5px;" /></td> | |
| 93 | + <td><input type="text" name="picture3Price" value="<c:out value="${result.picture3Price}"/>" style="height: 20px; width: 100px; padding: 5px 5px 5px 5px;" /></td> | |
| 94 | + </tr> | |
| 95 | + </c:forEach> | |
| 96 | + </tbody> | |
| 97 | + </table> | |
| 98 | + </div> | |
| 99 | + </form> | |
| 100 | + <div class="btnWrap"> | |
| 101 | + <input type="button" class="btnType1" value="수정" onclick="javascript:setMassEdit(); return false;"> | |
| 102 | + </div> | |
| 103 | + </div> | |
| 104 | + </div> | |
| 105 | +</body> | |
| 106 | +</html>(No newline at end of file) |
--- src/main/webapp/WEB-INF/jsp/uss/ion/kakaoat/KakaoATChannelIDList.jsp
+++ src/main/webapp/WEB-INF/jsp/uss/ion/kakaoat/KakaoATChannelIDList.jsp
... | ... | @@ -190,31 +190,28 @@ |
| 190 | 190 |
<colgroup> |
| 191 | 191 |
<col style="width: 5%"> |
| 192 | 192 |
<col style="width: 10%"> |
| 193 |
- <col style="width: 15%"> |
|
| 194 |
- <col style="width: 15%"> |
|
| 195 |
- <col style="width: 20%"> |
|
| 196 |
- <col style="width: 8%"> |
|
| 193 |
+ <col style="width: 19%"> |
|
| 194 |
+ <col style="width: 24%"> |
|
| 197 | 195 |
<col style="width: 10%"> |
| 198 |
- <col style="width: 5%"> |
|
| 196 |
+ <col style="width: 11%"> |
|
| 197 |
+ <col style="width: 11%"> |
|
| 198 |
+ <col style="width: 10%"> |
|
| 199 | 199 |
</colgroup> |
| 200 | 200 |
<thead> |
| 201 | 201 |
<tr> |
| 202 |
- <!-- <th><input type="checkbox" id="chkAll" onClick="fnChkAll();"></th> --> |
|
| 203 | 202 |
<th>번호<input type="button" class="sort sortBtn" id="sort_profileId"></th> |
| 204 | 203 |
<th>회원ID<input type="button" class="sort sortBtn" id="sort_userId"></th> |
| 205 | 204 |
<th>채널ID<input type="button" class="sort sortBtn" id="sort_yellowId"></th> |
| 206 | 205 |
<th>채널명<input type="button" class="sort sortBtn" id="sort_yellowId"></th> |
| 207 | 206 |
<th>등록상태</th> |
| 208 |
- <th>등록일</th> |
|
| 207 |
+ <th>채널생성일</th> |
|
| 208 |
+ <th>채널등록일</th> |
|
| 209 | 209 |
<th>삭제여부<input type="button" class="sort sortBtn" id="sort_deleteYn"></th> |
| 210 | 210 |
</tr> |
| 211 | 211 |
</thead> |
| 212 | 212 |
<tbody> |
| 213 | 213 |
<c:forEach var="result" items="${resultChannelList}" varStatus="status">
|
| 214 | 214 |
<tr> |
| 215 |
- <%-- <td> |
|
| 216 |
- <input type="checkbox" name="chkSttusY" id="chkSttusY_${status.index}" value="${result.profileId}">
|
|
| 217 |
- </td> --%> |
|
| 218 | 215 |
<td> |
| 219 | 216 |
<c:if test="${searchVO.searchSortOrd eq 'desc' }">
|
| 220 | 217 |
<c:out value="${ ( paginationInfo.totalRecordCount - ((paginationInfo.currentPageNo -1)*paginationInfo.recordCountPerPage) ) - status.index }"/>
|
... | ... | @@ -257,6 +254,10 @@ |
| 257 | 254 |
<fmt:parseDate value="${result.createdAt}" var="dateValue" pattern="yyyy-MM-dd HH:mm:ss"/>
|
| 258 | 255 |
<fmt:formatDate value="${dateValue}" pattern="yyyy-MM-dd"/>
|
| 259 | 256 |
</td> |
| 257 |
+ <td> |
|
| 258 |
+ <fmt:parseDate value="${result.lastUpdtPnttm}" var="lastUpdtPnttmValue" pattern="yyyy-MM-dd"/>
|
|
| 259 |
+ <fmt:formatDate value="${lastUpdtPnttmValue}" pattern="yyyy-MM-dd"/>
|
|
| 260 |
+ </td> |
|
| 260 | 261 |
<td> |
| 261 | 262 |
<c:choose> |
| 262 | 263 |
<c:when test="${result.deleteYn eq 'Y'}">
|
... | ... | @@ -310,13 +311,20 @@ |
| 310 | 311 |
</dd> |
| 311 | 312 |
</dl> |
| 312 | 313 |
<dl> |
| 313 |
- <dt>등록일</dt> |
|
| 314 |
+ <dt>채널생성일</dt> |
|
| 314 | 315 |
<dd> |
| 315 | 316 |
<fmt:parseDate value="${result.createdAt}" var="dateValue" pattern="yyyy-MM-dd HH:mm:ss"/>
|
| 316 | 317 |
<fmt:formatDate value="${dateValue}" pattern="yyyy-MM-dd"/>
|
| 317 | 318 |
</dd> |
| 318 | 319 |
</dl> |
| 319 | 320 |
<dl> |
| 321 |
+ <dt>채널등록일</dt> |
|
| 322 |
+ <dd> |
|
| 323 |
+ <fmt:parseDate value="${result.lastUpdtPnttm}" var="lastUpdtPnttmValue" pattern="yyyy-MM-dd"/>
|
|
| 324 |
+ <fmt:formatDate value="${lastUpdtPnttmValue}" pattern="yyyy-MM-dd"/>
|
|
| 325 |
+ </dd> |
|
| 326 |
+ </dl> |
|
| 327 |
+ <dl> |
|
| 320 | 328 |
<dt>삭제여부</dt> |
| 321 | 329 |
<dd> |
| 322 | 330 |
<c:choose> |
--- src/main/webapp/WEB-INF/jsp/uss/ion/kakaoat/SendKakaoATDetailList.jsp
+++ src/main/webapp/WEB-INF/jsp/uss/ion/kakaoat/SendKakaoATDetailList.jsp
... | ... | @@ -141,6 +141,7 @@ |
| 141 | 141 |
|
| 142 | 142 |
<form name="listForm" action="<c:url value='/uss/ion/kakaoat/SendKakaoATDetailList.do'/>" method="post"> |
| 143 | 143 |
<input name="pageIndex" type="hidden" value="<c:out value='${searchVO.pageIndex}'/>"/>
|
| 144 |
+ <input type="hidden" name="userId" value="<c:out value='${searchVO.userId}'/>"/>
|
|
| 144 | 145 |
<input type="hidden" name="delFlag" value="Y" /> |
| 145 | 146 |
<input type="hidden" name="selectedId" /> |
| 146 | 147 |
<input type="hidden" name="msgGroupId" value="<c:out value='${searchVO.msgGroupId}'/>"/>
|
--- src/main/webapp/WEB-INF/jsp/uss/ion/pay/PayList.jsp
+++ src/main/webapp/WEB-INF/jsp/uss/ion/pay/PayList.jsp
... | ... | @@ -326,8 +326,8 @@ |
| 326 | 326 |
<col style="width: 7%"> |
| 327 | 327 |
<col style="width: 5%"> |
| 328 | 328 |
<col style="width: 11%"> |
| 329 |
- <col style="width: 8%"> |
|
| 330 | 329 |
<col style="width: 10%"> |
| 330 |
+ <col style="width: 9%"> |
|
| 331 | 331 |
<col style="width: 7%"> |
| 332 | 332 |
<col style="width: *%"> |
| 333 | 333 |
<col style="width: 7%"> |
... | ... | @@ -350,7 +350,7 @@ |
| 350 | 350 |
<th>수단<input type="button" class="sort sortBtn" id="sort_payMethodTxt"></th> |
| 351 | 351 |
<th>결제폰번호<input type="button" class="sort sortBtn" id="sort_phone"></th> |
| 352 | 352 |
<th>결제상태<input type="button" class="sort sortBtn" id="sort_pgStatusTxt"></th> |
| 353 |
- <th>결제메세지<input type="button" class="sort sortBtn" id="sort_resultMsg"></th> |
|
| 353 |
+ <th>결제메세지</th> |
|
| 354 | 354 |
<th>영수증<input type="button" class="sort sortBtn" id="sort_rcptTypeTxt"></th> |
| 355 | 355 |
<th title="스미싱의심">스미싱</th> |
| 356 | 356 |
<th>결제시간<input type="button" class="sort sortBtn" id="sort_regDate"></th> |
... | ... | @@ -432,8 +432,22 @@ |
| 432 | 432 |
|
| 433 | 433 |
</c:otherwise> |
| 434 | 434 |
</c:choose> |
| 435 |
- <%-- <c:if test="${not empty result.cardName}">(<c:out value="${result.cardName}"/>)</c:if> --%>
|
|
| 436 | 435 |
</c:when> |
| 436 |
+ <c:when test="${result.payMethodTxt eq '간편결제'}">
|
|
| 437 |
+ 간편 |
|
| 438 |
+ <c:choose> |
|
| 439 |
+ <c:when test="${not empty result.cardName}">
|
|
| 440 |
+ (<c:out value="${result.cardName}"/>)
|
|
| 441 |
+ </c:when> |
|
| 442 |
+ <c:when test="${result.resultCode == '9991' || result.resultCode == '9993' || result.resultCode == 'I002'}">
|
|
| 443 |
+ <%-- 9991, 9993, I002 결과코드는 사용자가 결제 중간에 취소하여 오류가 발생한 케이스임. --%> |
|
| 444 |
+ (결제취소) |
|
| 445 |
+ </c:when> |
|
| 446 |
+ <c:otherwise> |
|
| 447 |
+ |
|
| 448 |
+ </c:otherwise> |
|
| 449 |
+ </c:choose> |
|
| 450 |
+ </c:when> |
|
| 437 | 451 |
<c:otherwise> |
| 438 | 452 |
<c:out value="${result.payMethodTxt}"/>
|
| 439 | 453 |
</c:otherwise> |
--- src/main/webapp/WEB-INF/jsp/uss/ion/pay/RefundList.jsp
+++ src/main/webapp/WEB-INF/jsp/uss/ion/pay/RefundList.jsp
... | ... | @@ -64,6 +64,14 @@ |
| 64 | 64 |
frm.submit(); |
| 65 | 65 |
} |
| 66 | 66 |
|
| 67 |
+// 환불 등록 |
|
| 68 |
+function fn_refundRegist(){
|
|
| 69 |
+ frm = document.listForm; |
|
| 70 |
+ frm.action = "<c:url value='/uss/ion/pay/refundRegist.do' />"; |
|
| 71 |
+ frm.submit(); |
|
| 72 |
+} |
|
| 73 |
+ |
|
| 74 |
+ |
|
| 67 | 75 |
/* 수정 화면*/ |
| 68 | 76 |
function fn_modify(moid){
|
| 69 | 77 |
var frm = document.modiForm ; |
... | ... | @@ -314,6 +322,9 @@ |
| 314 | 322 |
</table> |
| 315 | 323 |
</div> |
| 316 | 324 |
<div class="btnWrap"> |
| 325 |
+ |
|
| 326 |
+ <input type="button" class="btnType1" value="환불 등록" onclick="fn_refundRegist(); return false;" > |
|
| 327 |
+ |
|
| 317 | 328 |
<input type="button" class="btnType1" value="결제취소 등록" onclick="fn_insert(); return false;" > |
| 318 | 329 |
<input type="button" class="btnType2" value="삭제" onclick="fn_delete(); return false;"> |
| 319 | 330 |
</div> |
+++ src/main/webapp/WEB-INF/jsp/uss/ion/pay/RefundRegist.jsp
... | ... | @@ -0,0 +1,555 @@ |
| 1 | +<%-- | |
| 2 | + Class Name : RefundRegist.jsp | |
| 3 | + Description : Refund 상세 페이지 | |
| 4 | + Modification Information | |
| 5 | + | |
| 6 | + 수정일 수정자 수정내용 | |
| 7 | + ------- -------- --------------------------- | |
| 8 | + 2023.06.26 박진순 최초 생성 | |
| 9 | + | |
| 10 | + author : 박진순 | |
| 11 | + since : 2023.06.26 | |
| 12 | + | |
| 13 | +--%> | |
| 14 | +<%@ page contentType="text/html; charset=utf-8"%> | |
| 15 | +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> | |
| 16 | +<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%> | |
| 17 | +<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%> | |
| 18 | +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%> | |
| 19 | +<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %> | |
| 20 | +<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%> | |
| 21 | +<%@ taglib prefix="ec" uri="/WEB-INF/tld/ecnet_tld.tld"%> | |
| 22 | +<!DOCTYPE html> | |
| 23 | +<html lang="ko"> | |
| 24 | +<head> | |
| 25 | +<title>환불 등록</title> | |
| 26 | +<meta http-equiv="content-type" content="text/html; charset=utf-8"> | |
| 27 | + | |
| 28 | +<script type="text/javascript" src="<c:url value='/js/web_common.js' />"></script> | |
| 29 | +<script type="text/javascript" src="<c:url value='/js/EgovMultiFile.js'/>"></script> | |
| 30 | +<script src="/publish/js/content.js"></script> | |
| 31 | + | |
| 32 | +<script type="text/javaScript" language="javascript"> | |
| 33 | +var mberRefundMaxMoney = 0; // 환불가능금액 | |
| 34 | + | |
| 35 | +$(document).ready(function(){ | |
| 36 | + $('#showMask').click(function(e){ | |
| 37 | + // preventDefault는 href의 링크 기본 행동을 막는 기능입니다. | |
| 38 | + e.preventDefault(); | |
| 39 | + // 화면의 높이와 너비를 변수로 만듭니다. | |
| 40 | + var maskHeight = $(document).height(); | |
| 41 | + var maskWidth = $(window).width(); | |
| 42 | + | |
| 43 | + // 마스크의 높이와 너비를 화면의 높이와 너비 변수로 설정합니다. | |
| 44 | + $('.mask').css({'width':maskWidth,'height':maskHeight}); | |
| 45 | + | |
| 46 | + // fade 애니메이션 : 1초 동안 검게 됐다가 80%의 불투명으로 변합니다. | |
| 47 | + $('.mask').fadeIn(1000); | |
| 48 | + $('.mask').fadeTo("slow",0.8); | |
| 49 | + | |
| 50 | + // 레이어 팝업을 가운데로 띄우기 위해 화면의 높이와 너비의 가운데 값과 스크롤 값을 더하여 변수로 만듭니다. | |
| 51 | + var left = ( $(window).scrollLeft() + ( $(window).width() - $('.window').width()) / 2 ); | |
| 52 | + var top = ( $(window).scrollTop() + ( $(window).height() - $('.window').height()) / 2 ); | |
| 53 | + | |
| 54 | + // css 스타일을 변경합니다. | |
| 55 | + $('.window').css({'left':left,'top':top, 'position':'absolute'}); | |
| 56 | + | |
| 57 | + // 레이어 팝업을 띄웁니다. | |
| 58 | + $('.window').show(); | |
| 59 | + }); | |
| 60 | + | |
| 61 | + // 닫기(close)를 눌렀을 때 작동합니다. | |
| 62 | + $('.window .close').click(function (e) { | |
| 63 | + e.preventDefault(); | |
| 64 | + $('.mask, .window').hide(); | |
| 65 | + $("input[name=emplyrId]").val(""); | |
| 66 | + }); | |
| 67 | +}); | |
| 68 | + | |
| 69 | +//회원 조회 | |
| 70 | +function fn_refundIdChk(){ | |
| 71 | + $.ajax({ | |
| 72 | + type:"POST", | |
| 73 | + url:"<c:url value='/uss/ion/pay/cancelRegistIdChkAjax.do' />", | |
| 74 | + data:{ | |
| 75 | + "checkId": $("#checkIdModal").val() | |
| 76 | + }, | |
| 77 | + dataType:'json', | |
| 78 | + timeout:(1000*30), | |
| 79 | + success:function(data){ | |
| 80 | + | |
| 81 | + console.log('data ', data); | |
| 82 | + if(data.message != null) | |
| 83 | + { | |
| 84 | + alert(data.message); | |
| 85 | + return false; | |
| 86 | + } | |
| 87 | + else | |
| 88 | + { | |
| 89 | + var refundVO = data.refundVO; | |
| 90 | + | |
| 91 | + $('#mberIdTxt').text(refundVO.mberId); | |
| 92 | + $('#mberId').val(refundVO.mberId); | |
| 93 | + $('#mberNmTxt').text(refundVO.mberNm); | |
| 94 | + $('#mberNm').val(refundVO.mberNm); | |
| 95 | + $('#dpsitPhoneNo').val(refundVO.mberPhoneNo); | |
| 96 | + $('#mberMoneyTxt').text(fn_unitChanges(refundVO.mberMoney)); | |
| 97 | + | |
| 98 | + // 환불가능금액 | |
| 99 | + mberRefundMaxMoney = refundVO.mberMoney; | |
| 100 | + | |
| 101 | + $('.mask, .window').hide(); | |
| 102 | + } | |
| 103 | + }, | |
| 104 | + error:function(request , status, error){ | |
| 105 | + console.log(' error ?'); | |
| 106 | + console.log('request : ', request); | |
| 107 | + console.log('status : ', status); | |
| 108 | + } | |
| 109 | + }); | |
| 110 | +} | |
| 111 | + | |
| 112 | +function fn_unitChanges(data){ | |
| 113 | + return data.toString() | |
| 114 | + .replace(/\B(?<!\.\d*)(?=(\d{3})+(?!\d))/g, ","); | |
| 115 | +} | |
| 116 | + | |
| 117 | +function fn_goList(){ | |
| 118 | + | |
| 119 | + location.href = "<c:url value='/uss/ion/pay/RefundList.do' />"; | |
| 120 | +} | |
| 121 | + | |
| 122 | + | |
| 123 | + | |
| 124 | +//################################################################ | |
| 125 | +var userMoney = 0; // 보유Cash | |
| 126 | +var refundMoneySum = 0; // 환불신청금액(환불요청 상태) | |
| 127 | + | |
| 128 | +$(document).ready(function() { | |
| 129 | + $('#refundMoney').keyup(function(e){ | |
| 130 | + | |
| 131 | + var money = $(this).val().replace(/,/gi, ""); | |
| 132 | + $('#refundMoney').val(comma(money)); | |
| 133 | + | |
| 134 | + var moneyCommaRemove = $(this).val().replace(/,/gi, ""); | |
| 135 | + | |
| 136 | + var refundExpectMoney = 0; | |
| 137 | + refundExpectMoney = comma(parseInt(moneyCommaRemove-(moneyCommaRemove/10))); | |
| 138 | + | |
| 139 | + $("#refundExpectMoney").text(refundExpectMoney); | |
| 140 | + }); | |
| 141 | + | |
| 142 | + //통장사본 파일 업로드 | |
| 143 | + $(function(){ //단일 파일업로드 | |
| 144 | + $('#bank').change(function(e){ | |
| 145 | + var objUpload = $(".upload_area"); | |
| 146 | + var files = $('#bank')[0].files; | |
| 147 | + handleFileUpload(files,objUpload,'bank'); //파일업로드 | |
| 148 | + }); | |
| 149 | + }); | |
| 150 | + | |
| 151 | + //증빙서류 파일 업로드 | |
| 152 | + $(function(){ //단일 파일업로드 | |
| 153 | + $('#docu').change(function(e){ | |
| 154 | + var objUpload = $(".upload_area"); | |
| 155 | + var files = $('#docu')[0].files; | |
| 156 | + handleFileUpload(files,objUpload, 'docu'); //파일업로드 | |
| 157 | + }); | |
| 158 | + }); | |
| 159 | + | |
| 160 | + $("input:radio[name=reason]").click(function(){ | |
| 161 | + | |
| 162 | + if($("input[name=reason]:checked").val() == "999"){ | |
| 163 | + $("input:text[name=reasonEtc]").attr("disabled",false); | |
| 164 | + // radio 버튼의 value 값이 1이라면 활성화 | |
| 165 | + | |
| 166 | + }else{ | |
| 167 | + $("input:text[name=reasonEtc]").attr("disabled",true); | |
| 168 | + // radio 버튼의 value 값이 0이라면 비활성화 | |
| 169 | + } | |
| 170 | + }); | |
| 171 | + | |
| 172 | + $('#refundMoney').focusout(function(){ | |
| 173 | + if($(this).val() > mberRefundMaxMoney){ | |
| 174 | + alert("환불 신청 금액은 환불 가능 금액보다 작아야 합니다."); | |
| 175 | + $(this).val(''); | |
| 176 | + } | |
| 177 | + }); | |
| 178 | + | |
| 179 | + | |
| 180 | + //엔터키 누르면 파일 첨부 영영기 열리는 오류 수정_220706 | |
| 181 | + document.addEventListener('keydown', function(event) { | |
| 182 | + if (event.keyCode === 13) { | |
| 183 | + event.preventDefault(); | |
| 184 | + }; | |
| 185 | + }, true); | |
| 186 | + | |
| 187 | + $('#allmoney').change(function(){ | |
| 188 | + if($("#allmoney").is(":checked")){ | |
| 189 | + $('#refundMoney').val(comma(mberRefundMaxMoney)); | |
| 190 | + }else{ | |
| 191 | + $('#refundMoney').val(''); | |
| 192 | + } | |
| 193 | + }); | |
| 194 | + | |
| 195 | +}); | |
| 196 | + | |
| 197 | +// 환불신청금액(환불요청 상태) | |
| 198 | +function getRefundMoneySum() { | |
| 199 | + $.ajax({ | |
| 200 | + type: "POST", | |
| 201 | + url: "/uss/ion/pay/refMonSumAjax.do", | |
| 202 | + data: {"mberId" : $("#mberId").val()}, | |
| 203 | + dataType:'json', | |
| 204 | + async: false, | |
| 205 | + success: function (data) { | |
| 206 | + if (data.isSuccess) { | |
| 207 | + userMoney = data.userMoney; | |
| 208 | + refundMoneySum = data.refundMoneySum; | |
| 209 | + } | |
| 210 | + else { | |
| 211 | + //alert("Msg : " + data.msg); | |
| 212 | + } | |
| 213 | + }, | |
| 214 | + error: function (e) { | |
| 215 | + console.log("ERROR : " + JSON.stringify(e)); | |
| 216 | + } | |
| 217 | + }); | |
| 218 | +} | |
| 219 | + | |
| 220 | + | |
| 221 | +function changeValue(obj){ | |
| 222 | + $('#atFileBasicWrite').val(obj.value); | |
| 223 | +} | |
| 224 | +function changeValue2(obj){ | |
| 225 | + $('#atFileBasicWrite2').val(obj.value); | |
| 226 | +} | |
| 227 | +var _fileIdx = 0; | |
| 228 | +var _fileForm2 = new Array(); | |
| 229 | + | |
| 230 | +function fn_refund_insert() { | |
| 231 | + | |
| 232 | + if($("input[name=reason]:checked").val() == "999"){ | |
| 233 | + document.listForm.refundReason.value = document.listForm.reason.value; | |
| 234 | + document.listForm.refundReasonEtc.value = document.listForm.reasonEtc.value; | |
| 235 | + }else{ | |
| 236 | + document.listForm.refundReason.value = document.listForm.reason.value; | |
| 237 | + } | |
| 238 | + //환불금액 컴마제거 | |
| 239 | + var refundMoney = document.listForm.refundMoney.value; | |
| 240 | + document.listForm.refundMoney.value = refundMoney.replaceAll(",",""); | |
| 241 | + | |
| 242 | + if(fn_checkForm()){ | |
| 243 | + // 환불신청금액(환불요청 상태) | |
| 244 | + getRefundMoneySum(); | |
| 245 | + | |
| 246 | + //if (parseInt(10000, 10) > parseInt(document.listForm.refundMoney.value, 10)) { | |
| 247 | + // alert("10,000원 이하 환불 불가입니다."); | |
| 248 | + // return; | |
| 249 | + //} | |
| 250 | + | |
| 251 | + if (parseInt(userMoney, 10) < parseInt(document.listForm.refundMoney.value, 10)) { | |
| 252 | + alert("현재 회원의 보유금액보다 큰 금액을 환불 할 수 없습니다."); | |
| 253 | + return; | |
| 254 | + } | |
| 255 | + else if ((parseInt(userMoney, 10) - parseInt(refundMoneySum, 10)) < parseInt(document.listForm.refundMoney.value, 10)) { | |
| 256 | + alert("현재 회원의 (보유금액-환불신청금액)보다 큰 금액을 환불 할 수 없습니다."); | |
| 257 | + return; | |
| 258 | + } | |
| 259 | + | |
| 260 | + if(confirm("환불신청을 하시겠습니까?")){ | |
| 261 | + | |
| 262 | + var data = new FormData(document.listForm); | |
| 263 | + _fileForm2.forEach(function(obj, idx) { | |
| 264 | + if(obj) | |
| 265 | + { | |
| 266 | + data.append(obj.name, obj.fileObj); | |
| 267 | + } | |
| 268 | + }); | |
| 269 | + | |
| 270 | + //for(var key of data.keys()){ | |
| 271 | + // console.log(key); | |
| 272 | + //} | |
| 273 | + | |
| 274 | + $.ajax({ | |
| 275 | + type: "POST", | |
| 276 | + enctype: 'multipart/form-data', | |
| 277 | + url: "/uss/ion/msg/refMonInsAjax.do", | |
| 278 | + data: data, | |
| 279 | + dataType:'json', | |
| 280 | + async: false, | |
| 281 | + processData: false, | |
| 282 | + contentType: false, | |
| 283 | + cache: false, | |
| 284 | + //timeout: 600000, | |
| 285 | + success: function (returnData, status) { | |
| 286 | + if(returnData.msg != null){ | |
| 287 | + alert(returnData.msg); | |
| 288 | + } | |
| 289 | + else if(returnData.status == 'success'){ | |
| 290 | + alert("환불신청이 완료 되었습니다."); | |
| 291 | + fn_goList(1); | |
| 292 | + } else if(returnData.status == 'fail'){ | |
| 293 | + alert("환불신청이 실패하였습니다. !!"); | |
| 294 | + } | |
| 295 | + }, | |
| 296 | + error: function (e) { | |
| 297 | + | |
| 298 | + alert("환불신청이 실패하였습니다."); | |
| 299 | + console.log("ERROR : ", e); | |
| 300 | + } | |
| 301 | + }); | |
| 302 | + | |
| 303 | + } | |
| 304 | + | |
| 305 | + } | |
| 306 | +} | |
| 307 | + | |
| 308 | +function handleFileUpload(files,obj,pram) //업로드 function | |
| 309 | +{ | |
| 310 | + var limitsize = 50*1024*1024; //파일 제한 체크(50개, 50MB) | |
| 311 | + var limitcount = $("input[name=limitcount]").val()*1 ; | |
| 312 | + if($('#tbody_fiielist').find('tr').length + files.length > limitcount ){ | |
| 313 | + alert("업로드 파일은 최대 "+limitcount+"개 입니다."); | |
| 314 | + return ; | |
| 315 | + } | |
| 316 | + for (var i = 0; i < files.length; i++){ | |
| 317 | + if(files[i].size > limitsize){ | |
| 318 | + alert(files[i].name+"파일 사이즈가"+getStrFileSize(files[i].size)+"로 50MB이하만 업로드 가능합니다."); | |
| 319 | + return ; | |
| 320 | + } | |
| 321 | + } | |
| 322 | + | |
| 323 | + for (var i = 0; i < files.length; i++) | |
| 324 | + { | |
| 325 | + var fd = new FormData(); | |
| 326 | + fd.append('file', files[i]); | |
| 327 | + var tmpObj = new Object(); | |
| 328 | + tmpObj.name = pram; | |
| 329 | + tmpObj.fileObj = files[i]; | |
| 330 | + _fileForm2.push(tmpObj); | |
| 331 | + sendFileToServer(fd, obj, files[i], _fileIdx); | |
| 332 | + _fileIdx++; | |
| 333 | + | |
| 334 | + var totalfileSize = 0; | |
| 335 | + $('.totalfileCount').text($('.item_file_size').length) ; | |
| 336 | + $('.item_file_size').each(function(){ | |
| 337 | + totalfileSize += $(this).val()*1 ; | |
| 338 | + }); | |
| 339 | + $('.totalfileSize').text(getStrFileSize(totalfileSize)) ; | |
| 340 | + } | |
| 341 | +} | |
| 342 | + | |
| 343 | +function sendFileToServer(formData, obj , fileObj, _fileIdx) | |
| 344 | +{ | |
| 345 | + $('.no_img_box').hide(); //list 박스 형식 변경 | |
| 346 | + $('.file_list_div').show(); | |
| 347 | + var list_html = ""; | |
| 348 | + var tt = ""; | |
| 349 | + list_html += '<tr class="item_'+tt+' uploaded_obj">'; | |
| 350 | + | |
| 351 | + list_html += '<td class="file_name"><img src="'+getfile_img(fileObj.name)+'" alt=""><span class="file_name_text">'+fileObj.name+'</span></td>'; | |
| 352 | + list_html += '<td class="file_size"><span class="file_size_text" value='+fileObj.size+'>'+getStrFileSize(fileObj.size)+'</span></td>'; | |
| 353 | + list_html += '<td class="file_date">'+getDate()+'</td>'; | |
| 354 | + list_html += '<td class="file_del"><input type="button" class="delBtn" alt="" onclick="delete_item(this, '+_fileIdx+')" ></td>'; | |
| 355 | + list_html += '<input type="hidden" name="fileSize" class="item_file_size" value="'+fileObj.size+'">'; | |
| 356 | + list_html += '<input type="hidden" name="atchFileIds" class="imsi" value="'+tt+'">'; | |
| 357 | + list_html += '</tr>'; | |
| 358 | + $('#tbody_fiielist').append(list_html); | |
| 359 | +} | |
| 360 | + | |
| 361 | +/* 등록시 값 확인 */ | |
| 362 | +function fn_checkForm() { | |
| 363 | + var formchk = document.listForm; | |
| 364 | + | |
| 365 | + | |
| 366 | + if(formchk.refundMoney.value == '') { | |
| 367 | + alert("환불 신청 금액을 입력해 주세요"); | |
| 368 | + return false; | |
| 369 | + } | |
| 370 | + | |
| 371 | + if($("input[name=reason]:checked").val() == "5" && formchk.reasonEtc.value == '') { | |
| 372 | + alert("환불사유를 입력해 주세요"); | |
| 373 | + return false; | |
| 374 | + } | |
| 375 | + | |
| 376 | + return true; | |
| 377 | +} | |
| 378 | + | |
| 379 | +function comma(num){ | |
| 380 | + var len, point, str; | |
| 381 | + num = num + ""; | |
| 382 | + point = num.length % 3; | |
| 383 | + len = num.length; | |
| 384 | + str = num.substring(0, point); | |
| 385 | + while (point < len) { | |
| 386 | + if (str != "") str += ","; | |
| 387 | + str += num.substring(point, point + 3); | |
| 388 | + point += 3; | |
| 389 | + } | |
| 390 | + return str; | |
| 391 | +} | |
| 392 | +</script> | |
| 393 | + | |
| 394 | +<style> | |
| 395 | +.refund_reason {overflow:hidden;} | |
| 396 | +.refund_reason > div {float:left;margin:0 0 10px;} | |
| 397 | + | |
| 398 | +.tbType2_title {font-size: 20px; font-weight: 600; position: relative; height: 40px;} | |
| 399 | +.tbType2_title button {position: absolute;top: 22%; right: 0; transform: translateY(-50%); background-color: #002c9a; height: 40px; padding: 0 15px; color: #fff;} | |
| 400 | +.tbType2_title>span {font-size: 16px; font-weight: 300; color: #666;} | |
| 401 | + | |
| 402 | +.calBtn { | |
| 403 | + border: none; | |
| 404 | + background-color: transparent !important; | |
| 405 | + background-image: url(/pb/img/common/calendarIcon.png); | |
| 406 | + background-repeat: no-repeat; | |
| 407 | + width: 25px; | |
| 408 | + height: 25px !important; | |
| 409 | + vertical-align: middle; | |
| 410 | + margin-left: -38px !important; | |
| 411 | + margin-top: -2px !important; | |
| 412 | + cursor: pointer; | |
| 413 | +} | |
| 414 | +</style> | |
| 415 | +</head> | |
| 416 | +<body> | |
| 417 | + | |
| 418 | +<form name="listForm" id="listForm" method="post"> | |
| 419 | + <input type="hideen" name="mberId" id="mberId" value=""/> <!-- 회원 ID --> | |
| 420 | + <input type="hideen" name="mberNm" id="mberNm" value=""/> <!-- 회원 이름 --> | |
| 421 | + <input type="hidden" name="refundDivision" value="1"/> | |
| 422 | + <input type="hidden" name="limitcount" value="<c:out value='3'/>" /> | |
| 423 | + <input type="hidden" name="atchFileNece" id="atchFileNece" value="N" /> <!-- 첨부파일 필수체크 --> | |
| 424 | + <input type="hidden" name="refundReason" id="refundReason" value=""/> | |
| 425 | + <input type="hidden" name="refundReasonEtc" id="refundReasonEtc" value=""/> | |
| 426 | + | |
| 427 | + <div class="contWrap"> | |
| 428 | + <div class="pageTitle"> | |
| 429 | + <div class="pageIcon"><img src="/pb/img/pageTitIcon4.png" alt=""></div> | |
| 430 | + <h2 class="titType1 c_222222 fwBold">환불 등록</h2> | |
| 431 | + <p class="tType6 c_999999">환불등록 페이지 입니다.</p> | |
| 432 | + </div> | |
| 433 | + <div class="pageCont"> | |
| 434 | + <p class="tbType2_title">환불 금액 입력</p> | |
| 435 | + <table class="tbType2"> | |
| 436 | + <colgroup> | |
| 437 | + <col style="width: 20%"> | |
| 438 | + <col style="width: 80%"> | |
| 439 | + </colgroup> | |
| 440 | + <tbody> | |
| 441 | + <tr> | |
| 442 | + <th> | |
| 443 | + <span>회원 아이디 | |
| 444 | + <input type="button" id="showMask" class="btnType1 bg_456ded" value="조회" style="float: right;" /> | |
| 445 | + </span> | |
| 446 | + </th> | |
| 447 | + <td id="mberIdTxt"> | |
| 448 | + </td> | |
| 449 | + </tr> | |
| 450 | + <tr> | |
| 451 | + <th><span>회원 이름</span></th> | |
| 452 | + <td id="mberNmTxt"> | |
| 453 | + </td> | |
| 454 | + </tr> | |
| 455 | + <tr> | |
| 456 | + <th><span>환불 가능 금액</span></th> | |
| 457 | + <td id="mberMoneyTxt"> | |
| 458 | + </td> | |
| 459 | + </tr> | |
| 460 | + <tr> | |
| 461 | + <th scope="row">환불 신청 금액</th> | |
| 462 | + <td> | |
| 463 | + <input type="text" name="refundMoney" id="refundMoney" style="width:330px;margin-right:5px;" oninput="this.value = this.value.replace(/[^0-9.]/g, '').replace(/(\..*)\./g, '$1');"> | |
| 464 | + <input type="checkbox" id="allmoney" name="allmoney" class="re"> | |
| 465 | + <span class="text_req">전액환불</span> | |
| 466 | + </td> | |
| 467 | + </tr> | |
| 468 | + </tbody> | |
| 469 | + </table> | |
| 470 | + | |
| 471 | + <br /><br /> | |
| 472 | + <p class="tbType2_title">환불 사유 및 연락처</p> | |
| 473 | + <table class="tbType2"> | |
| 474 | + <colgroup> | |
| 475 | + <col style="width: 160px;"> | |
| 476 | + <col style="width: auto;"> | |
| 477 | + </colgroup> | |
| 478 | + <tbody> | |
| 479 | + <tr> | |
| 480 | + <th scope="row" style="line-height: 70px;">환불사유</th> | |
| 481 | + <td> | |
| 482 | + <div class="refund_reason"> | |
| 483 | + <ec:radio codeId="ITN050" name="reason" id="radioArea" selectedValue="1"/> | |
| 484 | + <input type="text" name="reasonEtc" id="reasonEtc" size="36" disabled="disabled"> | |
| 485 | + </div> | |
| 486 | + </td> | |
| 487 | + </tr> | |
| 488 | + <tr> | |
| 489 | + <th scope="row">연락처</th> | |
| 490 | + <td> | |
| 491 | + <input type="text" name="dpsitPhoneNo" id="dpsitPhoneNo" style="width:380px;" | |
| 492 | + oninput="this.value = this.value.replace(/[^0-9.]/g, '').replace(/(\..*)\./g, '$1');" | |
| 493 | + maxlength="12"> | |
| 494 | + </td> | |
| 495 | + </tr> | |
| 496 | + </tbody> | |
| 497 | + </table> | |
| 498 | + | |
| 499 | + <br /><br /> | |
| 500 | + <table id="cancleFileTable" class="tbType2"> | |
| 501 | + <colgroup> | |
| 502 | + <col style="width: 160px;"> | |
| 503 | + <col style="width: auto;"> | |
| 504 | + </colgroup> | |
| 505 | + <tbody> | |
| 506 | + <tr> | |
| 507 | + <th scope="row">통장사본</th> | |
| 508 | + <td class="attachedFile_wrap"> | |
| 509 | + <div> | |
| 510 | + <input type="text" readonly="readonly" disabled id="atFileBasicWrite" placeholder="* 첨부가능 파일 jpg, gif, png 각 2MB 이내" style="width:380px;"> | |
| 511 | + <input type="file" name="bank" id="bank" style="display:none" onchange="changeValue(this); return false;"/> | |
| 512 | + <button onclick="document.all.bank.click(); return false;" class="btnType btnType9">파일선택</button> | |
| 513 | + </div> | |
| 514 | + </td> | |
| 515 | + </tr> | |
| 516 | + <tr> | |
| 517 | + <th scope="row">증빙서류</th> | |
| 518 | + <td class="attachedFile_wrap"> | |
| 519 | + <div> | |
| 520 | + <input type="text" readonly="readonly" disabled id="atFileBasicWrite2" placeholder="* 첨부가능 파일 jpg, gif, png 각 2MB 이내" style="width:380px;"> | |
| 521 | + <input type="file" name="docu" id="docu" style="display:none" onchange="changeValue2(this); return false;"/> | |
| 522 | + <button onclick="document.all.docu.click(); return false;" class="btnType btnType9">파일선택</button> | |
| 523 | + </div> | |
| 524 | + </tr> | |
| 525 | + </tbody> | |
| 526 | + </table> | |
| 527 | + | |
| 528 | + <div class="btnWrap"> | |
| 529 | + <input type="button" class="btnType1 bg_888888" value="목록" onclick="fn_goList(); return false;"> | |
| 530 | + <input type="button" class="btnType1 bg_888888" value="저장" onclick="fn_refund_insert(); return false;"/> | |
| 531 | + </div> | |
| 532 | + | |
| 533 | + </div> | |
| 534 | + </div> | |
| 535 | +</form> | |
| 536 | + | |
| 537 | + | |
| 538 | +<div class="setDiv"> | |
| 539 | + <div class="mask"></div> | |
| 540 | + <div class="window"> | |
| 541 | + <div class="id_check1"> | |
| 542 | + <input type="button" href="#" class="close"> | |
| 543 | + <span>회원 아이디 검색</span> | |
| 544 | + </div> | |
| 545 | + <div class="id_check2"> | |
| 546 | + <span>검색할 아이디</span><input type="text" id="checkIdModal"> | |
| 547 | + </div> | |
| 548 | + <div class="id_check3"> | |
| 549 | + <span>아이디를 검색하세요</span><button onclick="fn_refundIdChk(); return false;">검색</button> | |
| 550 | + </div> | |
| 551 | + </div> | |
| 552 | +</div> | |
| 553 | + | |
| 554 | +</body> | |
| 555 | +</html> |
--- src/main/webapp/WEB-INF/jsp/web/cop/kgmV2/bankOkUrl.jsp
+++ src/main/webapp/WEB-INF/jsp/web/cop/kgmV2/bankOkUrl.jsp
... | ... | @@ -68,7 +68,37 @@ |
| 68 | 68 |
</div> |
| 69 | 69 |
|
| 70 | 70 |
<!-- 네이버 전환페이지 설정 : 결제완료 --> |
| 71 |
+<!-- 네이버 공통스크립트 --> |
|
| 72 |
+<script type="text/javascript" src="//wcs.naver.net/wcslog.js"></script> |
|
| 73 |
+<script type="text/javascript"> |
|
| 74 |
+if(!wcs_add) var wcs_add = {};
|
|
| 75 |
+wcs_add["wa"] = "s_1d413f411488"; |
|
| 76 |
+if (!_nasa) var _nasa={};
|
|
| 77 |
+if (window.wcs) {
|
|
| 78 |
+ wcs.inflow("munjaon.co.kr");
|
|
| 79 |
+ wcs_do(_nasa); |
|
| 80 |
+} |
|
| 81 |
+</script> |
|
| 71 | 82 |
|
| 83 |
+<!-- 구글 전환페이지 설정 : 결제완료 --> |
|
| 84 |
+<script async src="https://www.googletagmanager.com/gtag/js?id=AW-10967556094"></script> |
|
| 85 |
+<script> |
|
| 86 |
+ gtag('event', 'conversion', {'send_to': 'AW-10967556094/NzM0CKzFuNgDEP6_3u0o'});
|
|
| 87 |
+</script> |
|
| 88 |
+ |
|
| 89 |
+<!-- 다음 전환페이지 설정 : 결제완료 --> |
|
| 90 |
+<script type="text/javascript" charset="UTF-8" src="//t1.daumcdn.net/kas/static/kp.js"></script> |
|
| 91 |
+<script type="text/javascript"> |
|
| 92 |
+ kakaoPixel('2701774865775348507').pageView();
|
|
| 93 |
+ kakaoPixel('2701774865775348507').purchase('결제완료');
|
|
| 94 |
+</script> |
|
| 95 |
+ |
|
| 96 |
+<!-- 에이스카운터 공통 스크립트 : AceCounter Log Gathering Script V.8.0.2019080601 --> |
|
| 97 |
+<script language='javascript'> |
|
| 98 |
+ var _AceGID=(function(){var Inf=['gtc19.acecounter.com','8080','BS1A46164294118','AW','0','NaPm,Ncisy','ALL','0']; var _CI=(!_AceGID)?[]:_AceGID.val;var _N=0;var _T=new Image(0,0);if(_CI.join('.').indexOf(Inf[3])<0){ _T.src ="https://"+Inf[0]+'/?cookie'; _CI.push(Inf); _N=_CI.length; } return {o: _N,val:_CI}; })();
|
|
| 99 |
+ var _AceCounter=(function(){var G=_AceGID;var _sc=document.createElement('script');var _sm=document.getElementsByTagName('script')[0];if(G.o!=0){var _A=G.val[G.o-1];var _G=(_A[0]).substr(0,_A[0].indexOf('.'));var _C=(_A[7]!='0')?(_A[2]):_A[3];var _U=(_A[5]).replace(/\,/g,'_');_sc.src='https:'+'//cr.acecounter.com/Web/AceCounter_'+_C+'.js?gc='+_A[2]+'&py='+_A[4]+'&gd='+_G+'&gp='+_A[1]+'&up='+_U+'&rd='+(new Date().getTime());_sm.parentNode.insertBefore(_sc,_sm);return _sc.src;}})();
|
|
| 100 |
+</script> |
|
| 101 |
+<!-- AceCounter Log Gathering Script End --> |
|
| 72 | 102 |
|
| 73 | 103 |
</body> |
| 74 | 104 |
</html>(No newline at end of file) |
--- src/main/webapp/WEB-INF/jsp/web/cop/kgmV2/cardOkUrl.jsp
+++ src/main/webapp/WEB-INF/jsp/web/cop/kgmV2/cardOkUrl.jsp
... | ... | @@ -68,6 +68,37 @@ |
| 68 | 68 |
</div> |
| 69 | 69 |
|
| 70 | 70 |
<!-- 네이버 전환페이지 설정 : 결제완료 --> |
| 71 |
+<!-- 네이버 공통스크립트 --> |
|
| 72 |
+<script type="text/javascript" src="//wcs.naver.net/wcslog.js"></script> |
|
| 73 |
+<script type="text/javascript"> |
|
| 74 |
+if(!wcs_add) var wcs_add = {};
|
|
| 75 |
+wcs_add["wa"] = "s_1d413f411488"; |
|
| 76 |
+if (!_nasa) var _nasa={};
|
|
| 77 |
+if (window.wcs) {
|
|
| 78 |
+ wcs.inflow("munjaon.co.kr");
|
|
| 79 |
+ wcs_do(_nasa); |
|
| 80 |
+} |
|
| 81 |
+</script> |
|
| 82 |
+ |
|
| 83 |
+<!-- 구글 전환페이지 설정 : 결제완료 --> |
|
| 84 |
+<script async src="https://www.googletagmanager.com/gtag/js?id=AW-10967556094"></script> |
|
| 85 |
+<script> |
|
| 86 |
+ gtag('event', 'conversion', {'send_to': 'AW-10967556094/NzM0CKzFuNgDEP6_3u0o'});
|
|
| 87 |
+</script> |
|
| 88 |
+ |
|
| 89 |
+<!-- 다음 전환페이지 설정 : 결제완료 --> |
|
| 90 |
+<script type="text/javascript" charset="UTF-8" src="//t1.daumcdn.net/kas/static/kp.js"></script> |
|
| 91 |
+<script type="text/javascript"> |
|
| 92 |
+ kakaoPixel('2701774865775348507').pageView();
|
|
| 93 |
+ kakaoPixel('2701774865775348507').purchase('결제완료');
|
|
| 94 |
+</script> |
|
| 95 |
+ |
|
| 96 |
+<!-- 에이스카운터 공통 스크립트 : AceCounter Log Gathering Script V.8.0.2019080601 --> |
|
| 97 |
+<script language='javascript'> |
|
| 98 |
+ var _AceGID=(function(){var Inf=['gtc19.acecounter.com','8080','BS1A46164294118','AW','0','NaPm,Ncisy','ALL','0']; var _CI=(!_AceGID)?[]:_AceGID.val;var _N=0;var _T=new Image(0,0);if(_CI.join('.').indexOf(Inf[3])<0){ _T.src ="https://"+Inf[0]+'/?cookie'; _CI.push(Inf); _N=_CI.length; } return {o: _N,val:_CI}; })();
|
|
| 99 |
+ var _AceCounter=(function(){var G=_AceGID;var _sc=document.createElement('script');var _sm=document.getElementsByTagName('script')[0];if(G.o!=0){var _A=G.val[G.o-1];var _G=(_A[0]).substr(0,_A[0].indexOf('.'));var _C=(_A[7]!='0')?(_A[2]):_A[3];var _U=(_A[5]).replace(/\,/g,'_');_sc.src='https:'+'//cr.acecounter.com/Web/AceCounter_'+_C+'.js?gc='+_A[2]+'&py='+_A[4]+'&gd='+_G+'&gp='+_A[1]+'&up='+_U+'&rd='+(new Date().getTime());_sm.parentNode.insertBefore(_sc,_sm);return _sc.src;}})();
|
|
| 100 |
+</script> |
|
| 101 |
+<!-- AceCounter Log Gathering Script End --> |
|
| 71 | 102 |
|
| 72 | 103 |
</body> |
| 73 | 104 |
</html>(No newline at end of file) |
--- src/main/webapp/WEB-INF/jsp/web/cop/kgmV2/mobileOkUrl.jsp
+++ src/main/webapp/WEB-INF/jsp/web/cop/kgmV2/mobileOkUrl.jsp
... | ... | @@ -68,6 +68,37 @@ |
| 68 | 68 |
</div> |
| 69 | 69 |
|
| 70 | 70 |
<!-- 네이버 전환페이지 설정 : 결제완료 --> |
| 71 |
+<!-- 네이버 공통스크립트 --> |
|
| 72 |
+<script type="text/javascript" src="//wcs.naver.net/wcslog.js"></script> |
|
| 73 |
+<script type="text/javascript"> |
|
| 74 |
+if(!wcs_add) var wcs_add = {};
|
|
| 75 |
+wcs_add["wa"] = "s_1d413f411488"; |
|
| 76 |
+if (!_nasa) var _nasa={};
|
|
| 77 |
+if (window.wcs) {
|
|
| 78 |
+ wcs.inflow("munjaon.co.kr");
|
|
| 79 |
+ wcs_do(_nasa); |
|
| 80 |
+} |
|
| 81 |
+</script> |
|
| 82 |
+ |
|
| 83 |
+<!-- 구글 전환페이지 설정 : 결제완료 --> |
|
| 84 |
+<script async src="https://www.googletagmanager.com/gtag/js?id=AW-10967556094"></script> |
|
| 85 |
+<script> |
|
| 86 |
+ gtag('event', 'conversion', {'send_to': 'AW-10967556094/NzM0CKzFuNgDEP6_3u0o'});
|
|
| 87 |
+</script> |
|
| 88 |
+ |
|
| 89 |
+<!-- 다음 전환페이지 설정 : 결제완료 --> |
|
| 90 |
+<script type="text/javascript" charset="UTF-8" src="//t1.daumcdn.net/kas/static/kp.js"></script> |
|
| 91 |
+<script type="text/javascript"> |
|
| 92 |
+ kakaoPixel('2701774865775348507').pageView();
|
|
| 93 |
+ kakaoPixel('2701774865775348507').purchase('결제완료');
|
|
| 94 |
+</script> |
|
| 95 |
+ |
|
| 96 |
+<!-- 에이스카운터 공통 스크립트 : AceCounter Log Gathering Script V.8.0.2019080601 --> |
|
| 97 |
+<script language='javascript'> |
|
| 98 |
+ var _AceGID=(function(){var Inf=['gtc19.acecounter.com','8080','BS1A46164294118','AW','0','NaPm,Ncisy','ALL','0']; var _CI=(!_AceGID)?[]:_AceGID.val;var _N=0;var _T=new Image(0,0);if(_CI.join('.').indexOf(Inf[3])<0){ _T.src ="https://"+Inf[0]+'/?cookie'; _CI.push(Inf); _N=_CI.length; } return {o: _N,val:_CI}; })();
|
|
| 99 |
+ var _AceCounter=(function(){var G=_AceGID;var _sc=document.createElement('script');var _sm=document.getElementsByTagName('script')[0];if(G.o!=0){var _A=G.val[G.o-1];var _G=(_A[0]).substr(0,_A[0].indexOf('.'));var _C=(_A[7]!='0')?(_A[2]):_A[3];var _U=(_A[5]).replace(/\,/g,'_');_sc.src='https:'+'//cr.acecounter.com/Web/AceCounter_'+_C+'.js?gc='+_A[2]+'&py='+_A[4]+'&gd='+_G+'&gp='+_A[1]+'&up='+_U+'&rd='+(new Date().getTime());_sm.parentNode.insertBefore(_sc,_sm);return _sc.src;}})();
|
|
| 100 |
+</script> |
|
| 101 |
+<!-- AceCounter Log Gathering Script End --> |
|
| 71 | 102 |
|
| 72 | 103 |
</body> |
| 73 | 104 |
</html>(No newline at end of file) |
--- src/main/webapp/WEB-INF/jsp/web/event/pay/EventPayViewV2.jsp
+++ src/main/webapp/WEB-INF/jsp/web/event/pay/EventPayViewV2.jsp
... | ... | @@ -192,13 +192,15 @@ |
| 192 | 192 |
var payMethod = ""; |
| 193 | 193 |
document.pgForm.action = "/web/member/pay/PayActionAjax.do"; |
| 194 | 194 |
|
| 195 |
- if($currentTab==0){ payMethod = "CARD";}
|
|
| 196 |
- else if($currentTab==1){ payMethod = "VBANK"; }
|
|
| 197 |
- /*else if($currentTab==2){ payMethod = "TEMP_CARD"; }*/
|
|
| 198 |
- /* else if($currentTab==2){ payMethod = "CELLPHONE";
|
|
| 199 |
- document.pgForm.action = "/web/kgm/pay/KGMPayActionAjax.do"; |
|
| 200 |
- } */ //휴대폰 결제 방식 안보이도록 수정 20221117 |
|
| 201 |
- else if($currentTab==2){ payMethod = "BANK"; }
|
|
| 195 |
+ if ($currentTab == 0) {
|
|
| 196 |
+ payMethod = "SPAY"; |
|
| 197 |
+ } else if ($currentTab==1) {
|
|
| 198 |
+ payMethod = "CARD"; |
|
| 199 |
+ } else if($currentTab==2){
|
|
| 200 |
+ payMethod = "VBANK"; |
|
| 201 |
+ } else if($currentTab==3){
|
|
| 202 |
+ payMethod = "BANK"; |
|
| 203 |
+ } |
|
| 202 | 204 |
$('input[name=payMethod]').val(payMethod);
|
| 203 | 205 |
|
| 204 | 206 |
//결제수단 상태 체크 |
... | ... | @@ -224,28 +226,29 @@ |
| 224 | 226 |
|
| 225 | 227 |
// 결제창 호출 |
| 226 | 228 |
if ($currentTab==0) {
|
| 227 |
- // KG 모빌리언스 => CARD(신용카드) |
|
| 229 |
+ // KG 모빌리언스 => SPAY(간편결제) |
|
| 228 | 230 |
kgmPayCardRequest(); |
| 229 | 231 |
} |
| 230 |
- else if ($currentTab==2) {
|
|
| 231 |
- // KG 모빌리언스 => BANK(즉시이체) |
|
| 232 |
- kgmPayBankRequest(); |
|
| 233 |
- } |
|
| 234 |
- else {
|
|
| 235 |
- // 기타 |
|
| 232 |
+ else if ($currentTab==1) {
|
|
| 233 |
+ // 나이스페이 => CARD(카드결제) |
|
| 236 | 234 |
pg_opener = window.open('', 'pg_opener', "width=790, height=505, left="+popupX+", top="+popupY, "location = no","status= no","toolbars= no");
|
| 237 | 235 |
|
| 238 | 236 |
document.pgForm.method = "post"; |
| 239 | 237 |
document.pgForm.target = "pg_opener" ; |
| 240 | 238 |
document.pgForm.submit(); |
| 241 |
- } |
|
| 239 |
+ } |
|
| 240 |
+ else if ($currentTab==2) {
|
|
| 241 |
+ // 전용계좌 |
|
| 242 |
+ } |
|
| 243 |
+ else if ($currentTab==3) {
|
|
| 244 |
+ // KG 모빌리언스 => BANK(즉시이체) |
|
| 245 |
+ kgmPayBankRequest(); |
|
| 246 |
+ } |
|
| 242 | 247 |
|
| 243 | 248 |
} |
| 244 | 249 |
|
| 245 | 250 |
//KG 모빌리언스 => CARD |
| 246 | 251 |
function kgmPayCardRequest() {
|
| 247 |
- $("#price").val(110);
|
|
| 248 |
- |
|
| 249 | 252 |
$.ajax({
|
| 250 | 253 |
type: "POST", |
| 251 | 254 |
url: "/web/member/pay/kgmCardEncodeAjax.do", |
... | ... | @@ -301,8 +304,6 @@ |
| 301 | 304 |
|
| 302 | 305 |
//KG 모빌리언스 => MOBILE |
| 303 | 306 |
function kgmPayMobileRequest() {
|
| 304 |
- $("#price").val(110);
|
|
| 305 |
- |
|
| 306 | 307 |
$.ajax({
|
| 307 | 308 |
type: "POST", |
| 308 | 309 |
url: "/web/member/pay/kgmMobileEncodeAjax.do", |
... | ... | @@ -369,8 +370,6 @@ |
| 369 | 370 |
|
| 370 | 371 |
//KG 모빌리언스 => BANK |
| 371 | 372 |
function kgmPayBankRequest() {
|
| 372 |
- $("#price").val(1100);
|
|
| 373 |
- |
|
| 374 | 373 |
$.ajax({
|
| 375 | 374 |
type: "POST", |
| 376 | 375 |
url: "/web/member/pay/kgmBankEncodeAjax.do", |
... | ... | @@ -810,17 +809,75 @@ |
| 810 | 809 |
<div> |
| 811 | 810 |
<p class="tab_tit">충전수단 선택</p> |
| 812 | 811 |
<ul class="area_tab type03"> |
| 813 |
- <li class="btn_charge1 btn_tab active"><button type="button" onclick="TabTypePay(this,'1');"><i></i>신용카드</button></li> |
|
| 812 |
+ <li class="btn_charge0 btn_tab active"><button type="button" onclick="TabTypePay(this,'0');"><i></i>간편결제</button></li> |
|
| 813 |
+ <li class="btn_charge1 btn_tab"><button type="button" onclick="TabTypePay(this,'1');"><i></i>신용카드</button></li> |
|
| 814 | 814 |
<li class="btn_charge2 btn_tab"><button type="button" onclick="TabTypePay(this,'2');" id="btnDdedicatedAccount"><i></i>전용계좌</button></li> |
| 815 |
- <!-- <li class="btn_charge2 btn_tab"><button type="button" onclick="TabTypePay(this,'3');"><i></i>무통장입금</button></li> --> |
|
| 816 |
- <!-- <li class="btn_charge4 btn_tab"><button type="button" onclick="TabTypePay(this,'4');"><i></i>휴대폰결제</button></li> --> |
|
| 817 | 815 |
<li class="btn_charge5 btn_tab"><button type="button" onclick="TabTypePay(this,'5');"><i></i>즉시이체</button></li> |
| 818 | 816 |
</ul> |
| 819 | 817 |
<div class="checkbox_wrap"><input type="checkbox" id="agree"><label for="agree">선택한 수단을 다음 충전 시에도 |
| 820 | 818 |
이용합니다.</label></div> |
| 821 | 819 |
|
| 820 |
+ <!-- 간편결제 --> |
|
| 821 |
+ <div class="area_tabcont on" id="tab2_0"> |
|
| 822 |
+ <p class="tType1_title"><img src="/publish/images/content/icon_charging1_small.png" alt=""> 간편결제</p> |
|
| 823 |
+ <table class="tType1"> |
|
| 824 |
+ <caption></caption> |
|
| 825 |
+ <colgroup> |
|
| 826 |
+ <col style="width: 100px;"> |
|
| 827 |
+ <col style="width: auto;"> |
|
| 828 |
+ </colgroup> |
|
| 829 |
+ <tbody> |
|
| 830 |
+ <tr class="charge_content"> |
|
| 831 |
+ <th scope="row">충전금액</th> |
|
| 832 |
+ <td class="flex"> |
|
| 833 |
+ <select name="tempPrice" id="tempPrice" class="list_seType1"> |
|
| 834 |
+ <option value="5000">5,000</option> |
|
| 835 |
+ <option value="10000">10,000</option> |
|
| 836 |
+ <option value="20000">20,000</option> |
|
| 837 |
+ <option value="30000">30,000</option> |
|
| 838 |
+ <option value="50000" selected>50,000</option> |
|
| 839 |
+ <option value="100000">100,000</option> |
|
| 840 |
+ <option value="200000">200,000</option> |
|
| 841 |
+ <option value="300000">300,000</option> |
|
| 842 |
+ <option value="500000">500,000</option> |
|
| 843 |
+ </select> |
|
| 844 |
+ <p class="input_in">원</p> |
|
| 845 |
+ <!-- <span class="reqTxt6">※ 최소 3천원 이상부터 결제 가능합니다.</span> --> |
|
| 846 |
+ </td> |
|
| 847 |
+ </tr> |
|
| 848 |
+ <tr> |
|
| 849 |
+ <td colspan="2"> |
|
| 850 |
+ <div class="amount_wrap"> |
|
| 851 |
+ <dl> |
|
| 852 |
+ <dt>최종 결제금액 :</dt> |
|
| 853 |
+ <dd> |
|
| 854 |
+ <ul> |
|
| 855 |
+ <li><strong id="supplyPriceStr"></strong>원(공급가액)</li> |
|
| 856 |
+ <li><span class="plus"></span><strong id="vatPriceStr"></strong>원(부가세)</li> |
|
| 857 |
+ <li class="total"><span class="equal"></span><strong id="lastPriceStr"></strong>원(최종금액)</li> |
|
| 858 |
+ </ul> |
|
| 859 |
+ </dd> |
|
| 860 |
+ </dl> |
|
| 861 |
+ <button type="button" class="btnType" onclick="pgOpenerPopup(); return false;">충전하기</button> |
|
| 862 |
+ </div> |
|
| 863 |
+ </td> |
|
| 864 |
+ </tr> |
|
| 865 |
+ <tr> |
|
| 866 |
+ <td colspan="2"> |
|
| 867 |
+ <div class="area_text"> |
|
| 868 |
+ <%--<p><span class="c_222222">- 신용카드 결제가 어려우신 고객께서는 문자온 고객센터(010-8432-9333)를 통해서도 ARS 신용카드 결제를 하실 수 있습니다.</span></p>--%> |
|
| 869 |
+ <p>- 인터넷 익스플로러 이용 고객께서는 도구-팝업 차단 해제 후 충전이 가능합니다.</p> |
|
| 870 |
+ <p>- 카드사별 정책상 충전금액 제한이 있을 수 있습니다. 단, ARS 신용카드 결제는 충전금액 제한 없이 이용하실 수 있습니다.</p> |
|
| 871 |
+ </div> |
|
| 872 |
+ </td> |
|
| 873 |
+ </tr> |
|
| 874 |
+ </tbody> |
|
| 875 |
+ </table> |
|
| 876 |
+ </div> |
|
| 877 |
+ <!-- //간편결제 --> |
|
| 878 |
+ |
|
| 822 | 879 |
<!-- 신용카드 --> |
| 823 |
- <div class="area_tabcont on" id="tab2_1"> |
|
| 880 |
+ <div class="area_tabcont" id="tab2_1"> |
|
| 824 | 881 |
<p class="tType1_title"><img src="/publish/images/content/icon_charging1_small.png" alt=""> 신용카드</p> |
| 825 | 882 |
<table class="tType1"> |
| 826 | 883 |
<caption></caption> |
--- src/main/webapp/WEB-INF/jsp/web/fax/faxDataView.jsp
+++ src/main/webapp/WEB-INF/jsp/web/fax/faxDataView.jsp
... | ... | @@ -478,7 +478,7 @@ |
| 478 | 478 |
<div class="send_info_fax"> |
| 479 | 479 |
<p class="fax_title"><i></i>팩스 광고 필수 표시 의무사항</p> |
| 480 | 480 |
<div class="fax_content"> |
| 481 |
- <img src="/publish/images/content/fax_ex.png" alt=""> |
|
| 481 |
+ <img src="/publish/images/content/fax_ex.png" alt="<팩스광고 예시> (광고)○○○샵 전화번호 02-123-4567 주소 경기도 남양주시 다산순환로 20 대량 팩스발송은 여기서 쉽고 빠르게 한번에! 신규회원 첫 결제 ★☆할인 및 적립 이벤트!!☆★ 기간) 20XX.01.01 ~ 20XX.12~31 (광고) 팩스 수신을 원하지않을 경우 080-1234-5678"> |
|
| 482 | 482 |
<ul> |
| 483 | 483 |
<li> |
| 484 | 484 |
<p class="num_title">01</p> |
--- src/main/webapp/WEB-INF/jsp/web/pay/PayList.jsp
+++ src/main/webapp/WEB-INF/jsp/web/pay/PayList.jsp
... | ... | @@ -186,9 +186,9 @@ |
| 186 | 186 |
<!-- tab button --> |
| 187 | 187 |
<ul class="tabType1"> |
| 188 | 188 |
<li class="tab active"><button type="button" onclick="TabType5(this,'1');listLoad('/web/member/pay/PayListAllAjax.do'); return false;" >전체</button></li>
|
| 189 |
+ <!-- <li class="tab"><button type="button" onclick="TabType5(this,'2');listLoad('/web/member/pay/PayListSPayAjax.do'); return false;">간편결제 결제내역</button></li>-->
|
|
| 189 | 190 |
<li class="tab"><button type="button" onclick="TabType5(this,'2');listLoad('/web/member/pay/PayListVBankAjax.do'); return false;">전용계좌 결제내역</button></li>
|
| 190 | 191 |
<li class="tab"><button type="button" onclick="TabType5(this,'3');listLoad('/web/member/pay/PayListCardAjax.do'); return false;">신용카드 결제내역</button></li>
|
| 191 |
- <!-- <li class="tab"><button type="button" onclick="TabType5(this,'4');listLoad('/web/member/pay/PayListOfflineAjax.do'); return false;">무통장입금</button></li> -->
|
|
| 192 | 192 |
<li class="tab"><button type="button" onclick="TabType5(this,'4');listLoad('/web/member/pay/PayListMobileAjax.do'); return false;">휴대폰 결제내역</button></li>
|
| 193 | 193 |
<li class="tab"><button type="button" onclick="TabType5(this,'5');listLoad('/web/member/pay/PayListBankAjax.do'); return false;">즉시이체 결제내역</button></li>
|
| 194 | 194 |
<li class="tab"><button type="button" onclick="TabType5(this,'6');listLoad('/web/member/pay/PayListPointAjax.do'); return false;">포인트 교환내역</button></li>
|
--- src/main/webapp/WEB-INF/jsp/web/pay/PayListAllAjax.jsp
+++ src/main/webapp/WEB-INF/jsp/web/pay/PayListAllAjax.jsp
... | ... | @@ -514,7 +514,7 @@ |
| 514 | 514 |
<c:if test="${result.rcptType eq '0'}">
|
| 515 | 515 |
<p class="fwRg c_002c9a">간이영수증 발행완료</p> |
| 516 | 516 |
</c:if> |
| 517 |
- <c:if test="${result.payMethod == 'CARD'}">
|
|
| 517 |
+ <c:if test="${result.payMethod == 'CARD' || result.payMethod == 'SPAY'}">
|
|
| 518 | 518 |
<button type="button" class="btnType btnType20" onclick="fnPrintReceipt('<c:out value="${result.tid}"/>', '<c:out value="${result.pgCode}"/>', '<c:out value="${result.svcId}"/>', '<c:out value="${result.mrctTrdNo}"/>', '<c:out value="${result.trdNo}"/>', '<c:out value="${result.regDate}"/>'); return false;">카드전표</button>
|
| 519 | 519 |
</c:if> |
| 520 | 520 |
</c:if> |
--- src/main/webapp/WEB-INF/jsp/web/pay/PayViewV2.jsp
+++ src/main/webapp/WEB-INF/jsp/web/pay/PayViewV2.jsp
... | ... | @@ -117,14 +117,18 @@ |
| 117 | 117 |
|
| 118 | 118 |
var payMethod = ""; |
| 119 | 119 |
document.pgForm.action = "/web/member/pay/PayActionAjax.do"; |
| 120 |
- |
|
| 121 |
- if($currentTab==0){ payMethod = "CARD";}
|
|
| 122 |
- else if($currentTab==1){ payMethod = "VBANK"; }
|
|
| 123 |
- /*else if($currentTab==2){ payMethod = "TEMP_CARD"; }*/
|
|
| 124 |
- else if($currentTab==2){ payMethod = "CELLPHONE";
|
|
| 125 |
- document.pgForm.action = "/web/kgm/pay/KGMPayActionAjax.do"; |
|
| 120 |
+ |
|
| 121 |
+ if ($currentTab == 0) {
|
|
| 122 |
+ payMethod = "SPAY"; |
|
| 123 |
+ } else if ($currentTab == 1) {
|
|
| 124 |
+ payMethod = "CARD"; |
|
| 125 |
+ } else if ($currentTab == 2) {
|
|
| 126 |
+ payMethod = "VBANK"; |
|
| 127 |
+ } else if ($currentTab==3) {
|
|
| 128 |
+ payMethod = "CELLPHONE"; |
|
| 129 |
+ } else if ($currentTab==4) {
|
|
| 130 |
+ payMethod = "BANK"; |
|
| 126 | 131 |
} |
| 127 |
- else if($currentTab==3){ payMethod = "BANK"; }
|
|
| 128 | 132 |
$('input[name=payMethod]').val(payMethod);
|
| 129 | 133 |
|
| 130 | 134 |
//결제수단 상태 체크 |
... | ... | @@ -149,33 +153,29 @@ |
| 149 | 153 |
var popupY = scY + (docHeight - 195) / 2; |
| 150 | 154 |
|
| 151 | 155 |
// 결제창 호출 |
| 152 |
- if ($currentTab==0) {
|
|
| 153 |
- // KG 모빌리언스 => CARD(신용카드) |
|
| 156 |
+ if ($currentTab == 0) {
|
|
| 157 |
+ // KG 모빌리언스 => SPAY(간편결제) |
|
| 154 | 158 |
kgmPayCardRequest(); |
| 155 |
- } |
|
| 156 |
- else if ($currentTab==2) {
|
|
| 159 |
+ } else if ($currentTab == 1) {
|
|
| 160 |
+ // 나이스페이 => CARD(카드결제) |
|
| 161 |
+ pg_opener = window.open('', 'pg_opener', "width=790, height=505, left="+popupX+", top="+popupY, "location = no","status= no","toolbars= no");
|
|
| 162 |
+ |
|
| 163 |
+ document.pgForm.method = "post"; |
|
| 164 |
+ document.pgForm.target = "pg_opener" ; |
|
| 165 |
+ document.pgForm.submit(); |
|
| 166 |
+ } else if ($currentTab == 2) {
|
|
| 167 |
+ // 전용계좌 |
|
| 168 |
+ } else if ($currentTab == 3) {
|
|
| 157 | 169 |
// KG 모빌리언스 => MOBILE(휴대폰결제) |
| 158 | 170 |
kgmPayMobileRequest(); |
| 159 |
- } |
|
| 160 |
- else if ($currentTab==3) {
|
|
| 171 |
+ } else if ($currentTab==4) {
|
|
| 161 | 172 |
// KG 모빌리언스 => BANK(즉시이체) |
| 162 | 173 |
kgmPayBankRequest(); |
| 163 | 174 |
} |
| 164 |
- else {
|
|
| 165 |
- // 기타 |
|
| 166 |
- pg_opener = window.open('', 'pg_opener', "width=790, height=505, left="+popupX+", top="+popupY, "location = no","status= no","toolbars= no");
|
|
| 167 |
- |
|
| 168 |
- document.pgForm.method = "post"; |
|
| 169 |
- document.pgForm.target = "pg_opener" ; |
|
| 170 |
- document.pgForm.submit(); |
|
| 171 |
- } |
|
| 172 |
- |
|
| 173 | 175 |
} |
| 174 | 176 |
|
| 175 | 177 |
//KG 모빌리언스 => CARD |
| 176 | 178 |
function kgmPayCardRequest() {
|
| 177 |
- $("#price").val(110);
|
|
| 178 |
- |
|
| 179 | 179 |
$.ajax({
|
| 180 | 180 |
type: "POST", |
| 181 | 181 |
url: "/web/member/pay/kgmCardEncodeAjax.do", |
... | ... | @@ -231,8 +231,6 @@ |
| 231 | 231 |
|
| 232 | 232 |
//KG 모빌리언스 => MOBILE |
| 233 | 233 |
function kgmPayMobileRequest() {
|
| 234 |
- $("#price").val(110);
|
|
| 235 |
- |
|
| 236 | 234 |
$.ajax({
|
| 237 | 235 |
type: "POST", |
| 238 | 236 |
url: "/web/member/pay/kgmMobileEncodeAjax.do", |
... | ... | @@ -299,8 +297,6 @@ |
| 299 | 297 |
|
| 300 | 298 |
//KG 모빌리언스 => BANK |
| 301 | 299 |
function kgmPayBankRequest() {
|
| 302 |
- $("#price").val(1100);
|
|
| 303 |
- |
|
| 304 | 300 |
$.ajax({
|
| 305 | 301 |
type: "POST", |
| 306 | 302 |
url: "/web/member/pay/kgmBankEncodeAjax.do", |
... | ... | @@ -643,7 +639,8 @@ |
| 643 | 639 |
<div> |
| 644 | 640 |
<p class="tab_tit">충전수단 선택</p> |
| 645 | 641 |
<ul class="area_tab"> |
| 646 |
- <li class="btn_charge1 btn_tab active"><button type="button" onclick="TabTypePay(this,'1');"><i></i>신용카드</button></li> |
|
| 642 |
+ <li class="btn_charge0 btn_tab active"><button type="button" onclick="TabTypePay(this,'0');"><i></i>간편결제</button></li> |
|
| 643 |
+ <li class="btn_charge1 btn_tab"><button type="button" onclick="TabTypePay(this,'1');"><i></i>신용카드</button></li> |
|
| 647 | 644 |
<li class="btn_charge2 btn_tab"><button type="button" onclick="TabTypePay(this,'2');" id="btnDdedicatedAccount"><i></i>전용계좌</button></li> |
| 648 | 645 |
<!-- <li class="btn_charge2 btn_tab"><button type="button" onclick="TabTypePay(this,'3');"><i></i>무통장입금</button></li> --> |
| 649 | 646 |
<li class="btn_charge4 btn_tab"><button type="button" onclick="TabTypePay(this,'4');"><i></i>휴대폰결제</button></li> |
... | ... | @@ -652,8 +649,82 @@ |
| 652 | 649 |
<div class="checkbox_wrap"><input type="checkbox" id="agree"><label for="agree">선택한 수단을 다음 충전 시에도 |
| 653 | 650 |
이용합니다.</label></div> |
| 654 | 651 |
|
| 652 |
+ <!-- 간편결제 --> |
|
| 653 |
+ <div class="area_tabcont on" id="tab2_0"> |
|
| 654 |
+ <p class="tType1_title"><img src="/publish/images/content/icon_charging1_small.png" alt=""> 간편결제</p> |
|
| 655 |
+ <table class="tType1"> |
|
| 656 |
+ <caption></caption> |
|
| 657 |
+ <colgroup> |
|
| 658 |
+ <col style="width: 100px;"> |
|
| 659 |
+ <col style="width: auto;"> |
|
| 660 |
+ </colgroup> |
|
| 661 |
+ <tbody> |
|
| 662 |
+ <tr class="charge_content"> |
|
| 663 |
+ <th scope="row">충전금액</th> |
|
| 664 |
+ <td class="flex"> |
|
| 665 |
+ <select name="tempPrice" id="tempPrice" class="list_seType1"> |
|
| 666 |
+ <option value="5000">5,000</option> |
|
| 667 |
+ <option value="10000">10,000</option> |
|
| 668 |
+ <option value="20000">20,000</option> |
|
| 669 |
+ <option value="30000">30,000</option> |
|
| 670 |
+ <option value="50000" selected>50,000</option> |
|
| 671 |
+ <option value="100000">100,000</option> |
|
| 672 |
+ <option value="200000">200,000</option> |
|
| 673 |
+ <option value="300000">300,000</option> |
|
| 674 |
+ <option value="500000">500,000</option> |
|
| 675 |
+ <option value="700000">700,000</option> |
|
| 676 |
+ <option value="900000">900,000</option> |
|
| 677 |
+ <option value="1000000">1,000,000</option> |
|
| 678 |
+ <option value="1200000">1,200,000</option> |
|
| 679 |
+ <option value="1500000">1,500,000</option> |
|
| 680 |
+ <option value="2000000">2,000,000</option> |
|
| 681 |
+ <option value="2500000">2,500,000</option> |
|
| 682 |
+ <option value="3000000">3,000,000</option> |
|
| 683 |
+ </select> |
|
| 684 |
+ <%--<input type="text" numberOnly placeholder="금액을 입력해주세요" name="tempPrice" class="tempPrice" onfocus="this.placeholder=''" onblur="this.placeholder='금액을 입력해주세요'"> |
|
| 685 |
+ <p class="input_in">원</p> |
|
| 686 |
+ <button type="button" class="btnType1" onclick="setPrice(this , '3000'); return false;">+ 3천원</button> |
|
| 687 |
+ <button type="button" onclick="setPrice(this , '5000'); return false;">+ 5천원</button> |
|
| 688 |
+ <button type="button" onclick="setPrice(this , '10000'); return false;">+ 1만원</button> |
|
| 689 |
+ <button type="button" onclick="setPrice(this , '100000'); return false;">+ 10만원</button> |
|
| 690 |
+ <button type="button" onclick="setPrice(this , '1000000'); return false;">+ 100만원</button>--%> |
|
| 691 |
+ <p class="input_in">원</p> |
|
| 692 |
+ <!-- <span class="reqTxt6">※ 최소 3천원 이상부터 결제 가능합니다.</span> --> |
|
| 693 |
+ </td> |
|
| 694 |
+ </tr> |
|
| 695 |
+ <tr> |
|
| 696 |
+ <td colspan="2"> |
|
| 697 |
+ <div class="amount_wrap"> |
|
| 698 |
+ <dl> |
|
| 699 |
+ <dt>최종 결제금액 :</dt> |
|
| 700 |
+ <dd> |
|
| 701 |
+ <ul> |
|
| 702 |
+ <li><strong id="supplyPriceStr"></strong>원(공급가액)</li> |
|
| 703 |
+ <li><span class="plus"></span><strong id="vatPriceStr"></strong>원(부가세)</li> |
|
| 704 |
+ <li class="total"><span class="equal"></span><strong id="lastPriceStr"></strong>원(최종금액)</li> |
|
| 705 |
+ </ul> |
|
| 706 |
+ </dd> |
|
| 707 |
+ </dl> |
|
| 708 |
+ <button type="button" class="btnType" onclick="pgOpenerPopup(); return false;">충전하기</button> |
|
| 709 |
+ </div> |
|
| 710 |
+ </td> |
|
| 711 |
+ </tr> |
|
| 712 |
+ <tr> |
|
| 713 |
+ <td colspan="2"> |
|
| 714 |
+ <div class="area_text"> |
|
| 715 |
+ <%--<p><span class="c_222222">- 신용카드 결제가 어려우신 고객께서는 문자온 고객센터(010-8432-9333)를 통해서도 ARS 신용카드 결제를 하실 수 있습니다.</span></p>--%> |
|
| 716 |
+ <p>- 인터넷 익스플로러 이용 고객께서는 도구-팝업 차단 해제 후 충전이 가능합니다.</p> |
|
| 717 |
+ <p>- 카드사별 정책상 충전금액 제한이 있을 수 있습니다. 단, ARS 신용카드 결제는 충전금액 제한 없이 이용하실 수 있습니다.</p> |
|
| 718 |
+ </div> |
|
| 719 |
+ </td> |
|
| 720 |
+ </tr> |
|
| 721 |
+ </tbody> |
|
| 722 |
+ </table> |
|
| 723 |
+ </div> |
|
| 724 |
+ <!-- //간편결제 --> |
|
| 725 |
+ |
|
| 655 | 726 |
<!-- 신용카드 --> |
| 656 |
- <div class="area_tabcont on" id="tab2_1"> |
|
| 727 |
+ <div class="area_tabcont" id="tab2_1"> |
|
| 657 | 728 |
<p class="tType1_title"><img src="/publish/images/content/icon_charging1_small.png" alt=""> 신용카드</p> |
| 658 | 729 |
<table class="tType1"> |
| 659 | 730 |
<caption></caption> |
--- src/main/webapp/pb/css/content.css
+++ src/main/webapp/pb/css/content.css
... | ... | @@ -278,6 +278,16 @@ |
| 278 | 278 |
.pageCont .tbType3 tbody tr th{background-color: #f3f6fa;color: #222;vertical-align: middle;letter-spacing: -1px;}
|
| 279 | 279 |
.pageCont .tbType3 tbody tr td{color: #222;height: 45px;vertical-align: middle;}
|
| 280 | 280 |
|
| 281 |
+ |
|
| 282 |
+.pageCont .tbType4{text-align: center; width: 100%; table-layout: fixed; margin:0 0 50px 0;}
|
|
| 283 |
+.pageCont .tbType4 thead tr th{border-top:2px solid #456ded; border-bottom:3px double #e6e6e6; padding: 13px 0; font-size: 1em; font-weight: 500;color: #555; white-space: nowrap; border-left:1px solid #d5d5d5; text-align:center;}
|
|
| 284 |
+.pageCont .tbType4 thead tr th:first-child {border-left:none;}
|
|
| 285 |
+.pageCont .tbType4{border-top: 2px solid #456ded;width: 100%;table-layout: fixed;text-align: left;}
|
|
| 286 |
+.pageCont .tbType4 tbody tr{border-bottom: 2px solid #e5e5e5;}
|
|
| 287 |
+.pageCont .tbType4 tbody tr td{vertical-align: middle;font-size: 1em;font-weight: 400;color: #555;padding: 12px 0; border-left:1px solid #d5d5d5; text-align:center;}
|
|
| 288 |
+.pageCont .tbType4 tbody tr td:first-child {border-left:none;}
|
|
| 289 |
+ |
|
| 290 |
+ |
|
| 281 | 291 |
.ipStatus .contBox{margin-right: 30px;margin-bottom: 50px;flex-grow: 2 1;width: auto;float: left;}
|
| 282 | 292 |
.ipStatus .contBox:nth-child(1){width: 65%;}
|
| 283 | 293 |
.ipStatus .contBox:nth-child(2){width: 30%;}
|
+++ src/main/webapp/pb/user_manage_list2_1.html
... | ... | @@ -0,0 +1,334 @@ |
| 1 | +<!DOCTYPE html> | |
| 2 | +<html lang="ko"> | |
| 3 | + | |
| 4 | +<head> | |
| 5 | + <meta charset="UTF-8"> | |
| 6 | + <meta http-equiv="X-UA-Compatible" content="IE=edge" /> | |
| 7 | + <meta name="viewport" content="width=device-width, initial-scale=1.0"> | |
| 8 | + <title>회원관리 >회원 정보(리스트)</title> | |
| 9 | + <link href="https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@300;400;500;700&display=swap" rel="stylesheet"> | |
| 10 | + <link rel="stylesheet" href="/pb/css/reset.css"> | |
| 11 | + <link rel="stylesheet" href="/pb/css/common.css"> | |
| 12 | + <link rel="stylesheet" href="/pb/css/content.css"> | |
| 13 | + <link rel="stylesheet" href="/pb/css/popup.css"> | |
| 14 | + <script src="/pb/js/jquery-3.5.0.js"></script> | |
| 15 | + <script src="/pb/js/common.js"></script> | |
| 16 | +</head> | |
| 17 | + | |
| 18 | +<body> | |
| 19 | + <header> | |
| 20 | + <h1><a href="/pb/dashBoard.html"><img src="/pb/img/common/topLogo.png" alt="아이티앤 로고이미지"></a></h1> | |
| 21 | + <div class="topRight"><input type="button" class="allMenu"> | |
| 22 | + <ul class="inline"> | |
| 23 | + <li><input type="button" class="alramBtn"></li> | |
| 24 | + <li><input type="button" class="mailBtn"></li> | |
| 25 | + <li><input type="button" class="quickSiteBtn"></li> | |
| 26 | + <li><input type="button" class="favoriteBtn"></li> | |
| 27 | + </ul> | |
| 28 | + <div class="infoWrap"> | |
| 29 | + <ul class="inline"> | |
| 30 | + <li><img src="/pb/img/common/topTimeOut.png" alt="타임아웃 아이콘"> | |
| 31 | + <p>로그인 세션 타임아웃 시간 : <span>30</span>분</p> | |
| 32 | + </li> | |
| 33 | + <li><img src="/pb/img/common/topTime.png" alt="타임 아이콘"> | |
| 34 | + <p>최종접속일시 : <span>2020-06-01 11:00</span></p> | |
| 35 | + </li> | |
| 36 | + </ul> | |
| 37 | + <div class="pfWrap"> | |
| 38 | + <div class="pfImg"><img src="/pb/img/pfImg.jpg" alt="개인이미지"></div> | |
| 39 | + <ul> | |
| 40 | + <li class="pfName">Soobin Jung</li> | |
| 41 | + <li class="pfPosi">최고관리자</li> | |
| 42 | + </ul><input type="button" class="downBtn"> | |
| 43 | + </div> | |
| 44 | + </div> | |
| 45 | + </div> | |
| 46 | + </header> | |
| 47 | + <nav class="leftMenu"> | |
| 48 | + <ul> | |
| 49 | + <li><img src="/pb/img/common/leftMenu1.png" alt="권한관리메뉴 아이콘"> | |
| 50 | + <p>권한관리</p><input type="button" class="goBtn"> | |
| 51 | + <ul class="subMenu"> | |
| 52 | + <li><a href="#">권한관리</a></li> | |
| 53 | + <li><a href="#">관리자별권한관리</a></li> | |
| 54 | + <li><a href="#">롤관리</a></li> | |
| 55 | + <li><a href="#">관리자접근허용IP</a></li> | |
| 56 | + </ul> | |
| 57 | + </li> | |
| 58 | + <li><img src="/pb/img/common/leftMenu2.png" alt="코드관리메뉴 아이콘"> | |
| 59 | + <p>코드관리</p><input type="button" class="goBtn"> | |
| 60 | + <ul class="subMenu"> | |
| 61 | + <li><a href="#">공통코드관리</a></li> | |
| 62 | + <li><a href="#">상세코드관리</a></li> | |
| 63 | + </ul> | |
| 64 | + </li> | |
| 65 | + <li><img src="/pb/img/common/leftMenu3.png" alt="회원관리메뉴 아이콘"> | |
| 66 | + <p>회원관리</p><input type="button" class="goBtn"> | |
| 67 | + <ul class="subMenu"> | |
| 68 | + <li><a href="#">회원가입설정</a></li> | |
| 69 | + <li><a href="#">회원탈퇴설정</a></li> | |
| 70 | + <li><a href="#">개인정보보호관리</a></li> | |
| 71 | + <li><a href="#">접속차단ID관리</a></li> | |
| 72 | + <li><a href="#">관리자관리</a></li> | |
| 73 | + <li><a href="#">사용자관리</a></li> | |
| 74 | + </ul> | |
| 75 | + </li> | |
| 76 | + <li><img src="/pb/img/common/leftMenu4.png" alt="홈페이지관리메뉴 아이콘"> | |
| 77 | + <p>홈페이지관리</p><input type="button" class="goBtn"> | |
| 78 | + <ul class="subMenu"> | |
| 79 | + <li><a href="#">매뉴관리</a></li> | |
| 80 | + <li><a href="#">게시판관리</a></li> | |
| 81 | + <li><a href="#">첨부파일관리</a></li> | |
| 82 | + <li><a href="#">조직도</a></li> | |
| 83 | + <li><a href="#">결재관리</a></li> | |
| 84 | + <li><a href="#">만족도관리</a></li> | |
| 85 | + <li><a href="#">약관관리</a></li> | |
| 86 | + <li><a href="#">설문조사 관리</a></li> | |
| 87 | + <li><a href="#">관리자로그리스트</a></li> | |
| 88 | + <li><a href="#">관리자로그보관관리</a></li> | |
| 89 | + <li><a href="#">관리자로그설정관리</a></li> | |
| 90 | + </ul> | |
| 91 | + </li> | |
| 92 | + <li><img src="/pb/img/common/leftMenu5.png" alt="비주얼관리메뉴 아이콘"> | |
| 93 | + <p>비주얼관리</p><input type="button" class="goBtn"> | |
| 94 | + <ul class="subMenu"> | |
| 95 | + <li><a href="#">메인비주얼관리</a></li> | |
| 96 | + <li><a href="#">메뉴비주얼관리</a></li> | |
| 97 | + <li><a href="#">팝업존관리</a></li> | |
| 98 | + <li><a href="#">배너관리</a></li> | |
| 99 | + <li><a href="#">팝업관리</a></li> | |
| 100 | + <li><a href="#">콘텐츠관리</a></li> | |
| 101 | + </ul> | |
| 102 | + </li> | |
| 103 | + <li><img src="/pb/img/common/leftMenu6.png" alt="아이피관리메뉴 아이콘"> | |
| 104 | + <p>아이피관리</p><input type="button" class="goBtn"> | |
| 105 | + <ul class="subMenu"> | |
| 106 | + <li><a href="#">아이피현황</a></li> | |
| 107 | + <li><a href="#">아이피리스트</a></li> | |
| 108 | + </ul> | |
| 109 | + </li> | |
| 110 | + <li><img src="/pb/img/common/leftMenu7.png" alt="환경설정메뉴 아이콘"> | |
| 111 | + <p>환경설정</p><input type="button" class="goBtn"> | |
| 112 | + <ul class="subMenu"> | |
| 113 | + <li><a href="#">메타태그관리</a></li> | |
| 114 | + <li><a href="#">금지어관리</a></li> | |
| 115 | + <li><a href="#">방문자스크립트관리</a></li> | |
| 116 | + <li><a href="#">점검중페이지관리</a></li> | |
| 117 | + <li><a href="#">웹아이콘관리</a></li> | |
| 118 | + <li><a href="#">웹타이틀관리</a></li> | |
| 119 | + </ul> | |
| 120 | + </li> | |
| 121 | + <li><img src="/pb/img/common/leftMenu8.png" alt="사이트관리메뉴 아이콘"> | |
| 122 | + <p>사이트관리</p><input type="button" class="goBtn"> | |
| 123 | + <ul class="subMenu"> | |
| 124 | + <li><a href="#">아이디관리</a></li> | |
| 125 | + </ul> | |
| 126 | + </li> | |
| 127 | + </ul> | |
| 128 | + <div class="btnWrap"> | |
| 129 | + <ul> | |
| 130 | + <li><button> | |
| 131 | + <p>관리자 <span>매뉴얼</span></p><img src="/pb/img/common/leftBtnIcon1.png" alt="관리자 매뉴얼 아이콘"> | |
| 132 | + </button></li> | |
| 133 | + <li><button> | |
| 134 | + <p>홈페이지<span>바로가기</span></p><img src="/pb/img/common/leftBtnIcon2.png" alt="홈페이지바로가기 아이콘"> | |
| 135 | + </button></li> | |
| 136 | + </ul> | |
| 137 | + </div><span class="leftBtm">N-CMS Version 3.8</span> | |
| 138 | + </nav> | |
| 139 | + <div class="contWrap"> | |
| 140 | + <div class="pageTitle"> | |
| 141 | + <div class="pageIcon"><img src="/pb/img/pageTitIcon4.png" alt=""></div> | |
| 142 | + <h2 class="titType1 c_222222 fwBold">사용자관리</h2> | |
| 143 | + </div> | |
| 144 | + <div class="pageCont"> | |
| 145 | + <div class="listSerch"> | |
| 146 | + <div class="calendar_wrap"><select name="setCalMonth" onchange="fnSetCalMonth(this.value)"> | |
| 147 | + <option value="0">전체</option> | |
| 148 | + <option value="1">1개월</option> | |
| 149 | + <option value="3">3개월</option> | |
| 150 | + <option value="6">6개월</option> | |
| 151 | + </select><input type="hidden" name="cal_url" id="cal_url" value="/sym/cmm/EgovNormalCalPopup.do"> | |
| 152 | + <div class="calendar_box" onclick="javascript:fn_egov_NormalCalendar(document.forms.listForm, document.forms.listForm.searchStartDate);"><input style="width:auto;min-width: 83px;" type="text" class="date_format" name="searchStartDate" id="searchStartDate" size="4" maxlength="4" readonly="" value=""><input type="button" class="calBtn"></div><span class="line">~</span> | |
| 153 | + <div class="calendar_box" onclick="javascript:fn_egov_NormalCalendar(document.forms.listForm, document.forms.listForm.searchEndDate);"><input style="width:auto;min-width: 83px;" type="text" class="date_format" name="searchEndDate" id="searchEndDate" size="4" maxlength="4" readonly="" value=""><input type="button" class="calBtn"></div> | |
| 154 | + </div><select id="searchCondition" name="searchCondition" title="조회조건"> | |
| 155 | + <option value="" selected="selected">전체</option> | |
| 156 | + <option value="0">아이디</option> | |
| 157 | + <option value="1">사용자명</option> | |
| 158 | + <option value="2">전화번호</option> | |
| 159 | + <option value="3">이메일</option> | |
| 160 | + <option value="4">발신번호</option> | |
| 161 | + </select><select id="searchDeptPrePayment" name="searchDeptPrePayment" title="구분"> | |
| 162 | + <option value="" selected="selected">구분</option> | |
| 163 | + <option value="p">개인</option> | |
| 164 | + <option value="pPayment">개인(후)</option> | |
| 165 | + <option value="c">기업</option> | |
| 166 | + <option value="cPayment">기업(후)</option> | |
| 167 | + </select><br><br><select id="mberSttus" name="mberSttus" title="상태"> | |
| 168 | + <option value="">상태</option> | |
| 169 | + <option value="Y">일반(VIP포함)</option> | |
| 170 | + <option value="B">이용 정지</option> | |
| 171 | + <option value="V" selected="selected">VIP</option> | |
| 172 | + <option value="VX">일반(VIP제외)</option> | |
| 173 | + </select><select name="searchAdminSmsNoticeYn" id="searchAdminSmsNoticeYn" title="법인폰알림"> | |
| 174 | + <option value="" selected="selected">법인폰알림</option> | |
| 175 | + <option value="Y">온(On)</option> | |
| 176 | + <option value="N">오프(Off)</option> | |
| 177 | + </select><select name="searchExceptSpamYn" id="searchExceptSpamYn" title="금지어예외"> | |
| 178 | + <option value="" selected="selected">금지어예외</option> | |
| 179 | + <option value="Y">온(On)</option> | |
| 180 | + <option value="N">오프(Off)</option> | |
| 181 | + </select><select name="searchSmsSalePrice" id="searchSmsSalePrice" title="문자할인/첫결제"> | |
| 182 | + <option value="" selected="selected">문자할인/첫결제</option> | |
| 183 | + <option value="Y">할인</option> | |
| 184 | + <option value="N">일반</option> | |
| 185 | + <option value="F">첫결제</option> | |
| 186 | + <option value="P">결제</option> | |
| 187 | + <option value="X">미결제</option> | |
| 188 | + </select><select name="searchSmishingYn" id="searchSmishingYn" title="스미싱의심"> | |
| 189 | + <option value="" selected="selected">스미싱의심</option> | |
| 190 | + <option value="Y">온(On)</option> | |
| 191 | + <option value="N">오프(Off)</option> | |
| 192 | + </select><select name="searchHotlineAgentCode" id="searchHotlineAgentCode" style="width:180px;"> | |
| 193 | + <option value="">전용전송사(전체)</option> | |
| 194 | + <option value="00">사용안함</option> | |
| 195 | + <option value="USE">사용함</option> | |
| 196 | + <option value="02">현대퓨처넷(HCN) (O) </option> | |
| 197 | + <option value="04">다우기술 (O) </option> | |
| 198 | + <option value="05">JJ (O) </option> | |
| 199 | + <option value="07">인비토 (O) </option> | |
| 200 | + <option value="01">아이하트 (X) </option> | |
| 201 | + <option value="03">(IMO)아이엠오 (X) </option> | |
| 202 | + </select><input type="text" id="searchKeyword" name="searchKeyword" class="recentSearch" value="" size="10" title="검색"><input type="button" class="btnType1" onclick="fn_search(); return false;" value="검색"><input type="button" class="btnType1" onclick="fn_searchReset(); return false;" value="초기화"> | |
| 203 | + </div> | |
| 204 | + <!-- 0626 탈퇴자분리 --> | |
| 205 | + <div class="tableWrap"> | |
| 206 | + <table class="tbType4"> | |
| 207 | + <colgroup> | |
| 208 | + <col style="width:8%"> | |
| 209 | + <col style="width:11%"> | |
| 210 | + <col style="width:11%"> | |
| 211 | + <col style="width:11%"> | |
| 212 | + <col style="width:11%"> | |
| 213 | + <col style="width:11%"> | |
| 214 | + <col style="width:11%"> | |
| 215 | + <col style="width:11%"> | |
| 216 | + <col style="width:11%"> | |
| 217 | + </colgroup> | |
| 218 | + <thead> | |
| 219 | + <tr> | |
| 220 | + <th>구분</th> | |
| 221 | + <th>문자 단가 높음</th> | |
| 222 | + <th>사용할 일이 없어서</th> | |
| 223 | + <th>다른 사이트 이용</th> | |
| 224 | + <th>개인정보 유출 우려</th> | |
| 225 | + <th>사이트 이용 불만</th> | |
| 226 | + <th>기업회원 전환</th> | |
| 227 | + <th>기타(직접입력)</th> | |
| 228 | + <th>계</th> | |
| 229 | + </tr> | |
| 230 | + </thead> | |
| 231 | + <tbody> | |
| 232 | + <tr> | |
| 233 | + <td>인원</td> | |
| 234 | + <td><a href="#">60</a></td> | |
| 235 | + <td><a href="#">50</a></td> | |
| 236 | + <td><a href="#">40</a></td> | |
| 237 | + <td><a href="#">30</a></td> | |
| 238 | + <td><a href="#">20</a></td> | |
| 239 | + <td><a href="#">10</a></td> | |
| 240 | + <td><a href="#">5</a></td> | |
| 241 | + <td><a href="#">300</a></td> | |
| 242 | + </tr> | |
| 243 | + </tbody> | |
| 244 | + </table> | |
| 245 | + </div> | |
| 246 | + <!--// 0626 탈퇴자분리 --> | |
| 247 | + <div class="listTop"> | |
| 248 | + <p class="tType5">총 <span class="tType4 c_456ded fwBold">182</span>건</p> | |
| 249 | + <div class="rightWrap"><select name="pageUnit" id="pageUnit" class="select" title="검색조건선택" onchange="linkPage(1);"> | |
| 250 | + <option value="10" selected="">10줄</option> | |
| 251 | + <option value="20">20줄</option> | |
| 252 | + <option value="30">30줄</option> | |
| 253 | + </select></div> | |
| 254 | + </div> | |
| 255 | + <div class="tableWrap"> | |
| 256 | + <table class="tbType1"> | |
| 257 | + <colgroup> | |
| 258 | + <col style="width: 3%"> | |
| 259 | + <col style="width: 5%"> | |
| 260 | + <col style="width: 9%"> | |
| 261 | + <col style="width: 9%"> | |
| 262 | + <col style="width: 8%"> | |
| 263 | + <col style="width: 9%"> | |
| 264 | + <col style="width: 6%"> | |
| 265 | + <col style="width: 6%"> | |
| 266 | + <col style="width: 6%"> | |
| 267 | + <col style="width: 6%"> | |
| 268 | + <col style="width: 8%"> | |
| 269 | + <col style="width: 8%"> | |
| 270 | + <col style="width: 8%"> | |
| 271 | + </colgroup> | |
| 272 | + <thead> | |
| 273 | + <tr> | |
| 274 | + <th><input type="checkbox" name="checkAll" id="checkAll" onclick="fnCheckAll();"><label for="checkAll"></label><label for="checkAll"></label></th> | |
| 275 | + <th>번호<input type="button" class="sort sortBtn" id="sort_uniqId"></th> | |
| 276 | + <th>아이디<input type="button" class="sort sortBtn" id="sort_userId"></th> | |
| 277 | + <th>사용자명<input type="button" class="sort sortBtn" id="sort_userNm"></th> | |
| 278 | + <th>회원구분<input type="button" class="sort sortBtn" id="sort_dept"></th> | |
| 279 | + <th>전화번호<input type="button" class="sort sortBtn" id="sort_moblphonNo"></th> | |
| 280 | + <th>법인폰<input type="button" class="sort sortBtn" id="sort_adminSmsNoticeYn"></th> | |
| 281 | + <th>문자할인</th> | |
| 282 | + <th>이벤트</th> | |
| 283 | + <th>상태<input type="button" class="sort sortBtn" id="sort_mberSttus"></th> | |
| 284 | + <th>후보자상세<input type="button" class="sort sortBtn" id="sort_condidateYn"></th> | |
| 285 | + <th>가입일자<input type="button" class="sort sortBtnDesc" id="sort_sbscrbDe" sortord="desc"></th> | |
| 286 | + <th>최근로그인</th> | |
| 287 | + </tr> | |
| 288 | + </thead> | |
| 289 | + <tbody> | |
| 290 | + <tr> | |
| 291 | + <td><input name="checkField" id="USRCNFRM_00000013061" title="Check 1" type="checkbox"><label for="USRCNFRM_00000013061"></label><label for="USRCNFRM_00000013061"></label><input name="checkId" type="hidden" class="euiseung82" value="USR01:USRCNFRM_00000013061"></td> | |
| 292 | + <td>182 </td> | |
| 293 | + <td> | |
| 294 | + <div class="id_box vip bMark"><a href="#" onclick="javascript:fnSelectMber('euiseung82'); return false;"><span class="privateInfo">euiseung82</span></a></div>
| |
| 295 | + </td> | |
| 296 | + <td><span class="privateInfo">이의승</span></td> | |
| 297 | + <td><span class="privateInfo">개인 </span></td> | |
| 298 | + <td><span class="privateInfo">01048268258</span></td> | |
| 299 | + <td>오프 </td> | |
| 300 | + <td>일반 </td> | |
| 301 | + <td></td> | |
| 302 | + <td>일반 </td> | |
| 303 | + <td></td> | |
| 304 | + <td title="2023-06-08 14:41">06-08 14:41 </td> | |
| 305 | + <td title="2023-06-11 10:48:00.0">06-11 10:48 </td> | |
| 306 | + </tr> | |
| 307 | + | |
| 308 | + </tbody> | |
| 309 | + </table> | |
| 310 | + </div> | |
| 311 | + <div class="btnWrap" style="margin-bottom: 20px;"><input type="button" class="btnType2" style="padding:5px 10px" onclick="fnSmsNotiUpdate('on'); return false;" value="법인폰 ON"><input type="button" class="btnType2" style="padding:5px 10px" onclick="fnSmsNotiUpdate('off'); return false;" value="법인폰 OFF"><input type="button" class="btnType2" style="padding:5px 10px" onclick="fnSmishingUpdate('on'); return false;" value="스미싱 ON"><input type="button" class="btnType2" style="padding:5px 10px" onclick="fnSmishingUpdate('off'); return false;" value="스미싱 OFF"></div>
| |
| 312 | + <div class="page"> | |
| 313 | + <ul class="inline"> | |
| 314 | + <li><input type="button" class="pageFirst" onclick="linkPage(1);return false;"></li> | |
| 315 | + <li><input type="button" class="pageBefore" onclick="linkPage(1);return false;"></li> | |
| 316 | + <li><strong style="font-weight:bold;">1</strong></li> | |
| 317 | + <li onclick="linkPage(2);return false;" style="cursor:pointer">2</li> | |
| 318 | + <li onclick="linkPage(3);return false;" style="cursor:pointer">3</li> | |
| 319 | + <li onclick="linkPage(4);return false;" style="cursor:pointer">4</li> | |
| 320 | + <li onclick="linkPage(5);return false;" style="cursor:pointer">5</li> | |
| 321 | + <li onclick="linkPage(6);return false;" style="cursor:pointer">6</li> | |
| 322 | + <li onclick="linkPage(7);return false;" style="cursor:pointer">7</li> | |
| 323 | + <li onclick="linkPage(8);return false;" style="cursor:pointer">8</li> | |
| 324 | + <li onclick="linkPage(9);return false;" style="cursor:pointer">9</li> | |
| 325 | + <li onclick="linkPage(10);return false;" style="cursor:pointer">10</li> | |
| 326 | + <li><input type="button" class="pageNext" onclick="linkPage(11);return false;"></li> | |
| 327 | + <li><input type="button" class="pageLast" onclick="linkPage(19);return false;"></li> | |
| 328 | + </ul> | |
| 329 | + </div> | |
| 330 | + </div> | |
| 331 | + </div> | |
| 332 | +</body> | |
| 333 | + | |
| 334 | +</html>(No newline at end of file) |
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?