Merge branch 'master' into jiwoo

This commit is contained in:
JIWOO 2025-08-22 12:10:33 +09:00
commit 081e31ac0e
15 changed files with 501 additions and 248 deletions

View File

@ -313,5 +313,7 @@ public class MjonMsgVO extends ComDefaultVO{
private String detailType; private String detailType;
private List<MjonMsgSendVO> mjonMsgSendVOList = new ArrayList<>(); private List<MjonMsgSendVO> mjonMsgSendVOList = new ArrayList<>();
private String rsltCodeMsgTxt; //전송사 결과 코드 내용
} }

View File

@ -527,4 +527,10 @@ public class MjonMsgDAO extends EgovAbstractDAO {
return (List<MjonMsgVO>)list("mjonMsgDAO.selectMjonMsgGroupCompleteList_advc", mjonMsgVO); return (List<MjonMsgVO>)list("mjonMsgDAO.selectMjonMsgGroupCompleteList_advc", mjonMsgVO);
} }
//사용자 정보 팝업 문자 전송 리스트 팝업 정보 불러오기
@SuppressWarnings("unchecked")
public List<MjonMsgVO> selectUserMsgDataListByMbrId3(MjonMsgVO mjonMsgVO) throws Exception{
return (List<MjonMsgVO>) list("mjonMsgDAO.selectUserMsgDataListByMbrId3", mjonMsgVO);
}
} }

View File

@ -545,7 +545,8 @@ public class MjonMsgServiceImpl extends EgovAbstractServiceImpl implements MjonM
//사용자 정보 팝업 문자 전송 리스트 팝업 정보 불러오기 //사용자 정보 팝업 문자 전송 리스트 팝업 정보 불러오기
@Override @Override
public List<MjonMsgVO> selectUserMsgDataListByMbrId2(MjonMsgVO mjonMsgVO) throws Exception{ public List<MjonMsgVO> selectUserMsgDataListByMbrId2(MjonMsgVO mjonMsgVO) throws Exception{
return mjonMsgDAO.selectUserMsgDataListByMbrId2(mjonMsgVO); // return mjonMsgDAO.selectUserMsgDataListByMbrId2(mjonMsgVO);
return mjonMsgDAO.selectUserMsgDataListByMbrId3(mjonMsgVO);
} }
@Override @Override

View File

@ -3171,12 +3171,25 @@ public class MjonMsgController {
if(j==4) cell.setCellValue(((MjonMsgVO)resultList.get(i)).getSentDateTxt()); //전송시간 if(j==4) cell.setCellValue(((MjonMsgVO)resultList.get(i)).getSentDateTxt()); //전송시간
if(j==5) cell.setCellValue(((MjonMsgVO)resultList.get(i)).getSmsTxt()); //문자내용 if(j==5) cell.setCellValue(((MjonMsgVO)resultList.get(i)).getSmsTxt()); //문자내용
if(j==6) cell.setCellValue(((MjonMsgVO)resultList.get(i)).getCurStateTxt()); //현재상태 if(j==6) cell.setCellValue(((MjonMsgVO)resultList.get(i)).getCurStateTxt()); //현재상태
if(j==7) cell.setCellValue(((MjonMsgVO)resultList.get(i)).getRsltCode() + "/" + ((MjonMsgVO)resultList.get(i)).getRsltCode2()); //처리결과 if(j==7) {
if(j==8) cell.setCellValue(((MjonMsgVO)resultList.get(i)).getMsgTypeTxt()); //메시지타입
if(j==9) cell.setCellValue(((MjonMsgVO)resultList.get(i)).getConectMthdTxt()); //접속기기 String codeTxt = ((MjonMsgVO)resultList.get(i)).getResultCodeTxt();
if(j==10) cell.setCellValue(((MjonMsgVO)resultList.get(i)).getAgentCodeTxt()); //전송사
if(j==11) cell.setCellValue(((MjonMsgVO)resultList.get(i)).getRsltNet()); //통신사 if("S".equals(codeTxt)) {
if(j==12) cell.setCellValue(((MjonMsgVO)resultList.get(i)).getDelFlagTxt()); //삭제여부 cell.setCellValue("발송성공"); //처리결과
}else if("F".equals(codeTxt)) {
cell.setCellValue("발송실패"); //처리결과
}else {
cell.setCellValue("발송대기"); //처리결과
}
}
if(j==8) cell.setCellValue("(" + ((MjonMsgVO)resultList.get(i)).getRsltCode() + ") " + ((MjonMsgVO)resultList.get(i)).getRsltCodeMsgTxt()); //처리결과 코드 내용
if(j==9) cell.setCellValue(((MjonMsgVO)resultList.get(i)).getMsgTypeTxt()); //메시지타입
if(j==10) cell.setCellValue(((MjonMsgVO)resultList.get(i)).getConectMthdTxt()); //접속기기
if(j==11) cell.setCellValue(((MjonMsgVO)resultList.get(i)).getAgentCodeTxt()); //전송사
if(j==12) cell.setCellValue(((MjonMsgVO)resultList.get(i)).getRsltNet()); //통신사
if(j==13) cell.setCellValue(((MjonMsgVO)resultList.get(i)).getDelFlagTxt()); //삭제여부
} }
} }
} }
@ -5481,12 +5494,13 @@ public class MjonMsgController {
{"4", "전송시간" , "2021-06-01 19:19:57", ""}, {"4", "전송시간" , "2021-06-01 19:19:57", ""},
{"5", "내용" , "문자메시지 내용", ""}, {"5", "내용" , "문자메시지 내용", ""},
{"6", "현재상태" , "결과수신", ""}, {"6", "현재상태" , "결과수신", ""},
{"7", "처리결과" , "410/i", ""}, {"7", "처리결과" , "발송성공/실패", ""},
{"8", "메시지타입" , "SMS전송", ""}, {"8", "처리결과상세" , "410/i", ""},
{"9", "접속기기" , "", ""}, {"9", "메시지타입" , "SMS전송", ""},
{"10", "메시지타입" , "NPRO(아이하트)", ""}, {"10", "접속기기" , "", ""},
{"11", "통신사" , "ETC", ""} , {"11", "메시지타입" , "NPRO(아이하트)", ""},
{"12", "삭제여부" , "미삭제", ""} {"12", "통신사" , "ETC", ""} ,
{"13", "삭제여부" , "미삭제", ""}
} ; } ;
//회원정보 팝업 최근 발송 문자 리스트 엑셀 다운로드 //회원정보 팝업 최근 발송 문자 리스트 엑셀 다운로드

View File

@ -74,7 +74,7 @@ public interface MjonPayService {
void updatePointUse(MjonPayVO mjonPayVO) throws Exception; void updatePointUse(MjonPayVO mjonPayVO) throws Exception;
void updatePointUseByCase(MjonPayVO mjonPayVO) throws Exception; String updatePointUseByCase(MjonPayVO mjonPayVO, String msg) throws Exception;
String selectSumPayMoney(String userId) throws Exception; String selectSumPayMoney(String userId) throws Exception;

View File

@ -2438,7 +2438,7 @@ public class MjonPayServiceImpl extends EgovAbstractServiceImpl implements MjonP
} }
@Override @Override
public void updatePointUseByCase(MjonPayVO mjonPayVO) throws Exception { public String updatePointUseByCase(MjonPayVO mjonPayVO, String msg) throws Exception {
MjonMsgVO mjonMsgVO = new MjonMsgVO(); MjonMsgVO mjonMsgVO = new MjonMsgVO();
mjonMsgVO.setUserId(mjonPayVO.getUserId()); mjonMsgVO.setUserId(mjonPayVO.getUserId());
@ -2450,7 +2450,9 @@ public class MjonPayServiceImpl extends EgovAbstractServiceImpl implements MjonP
mjonPayVO.setRemainPoint(Integer.parseInt(mjonMsgDataService.selectBeforePointData(mjonMsgVO))); mjonPayVO.setRemainPoint(Integer.parseInt(mjonMsgDataService.selectBeforePointData(mjonMsgVO)));
// Step2. 상태값 변경 // Step2. 상태값 변경
updatePointUse(mjonPayVO); updatePointUse(mjonPayVO);
msg = "송금완료 처리되었습니다.";
} }
else if (mjonPayVO.getCmpltYn().equals("X")) { else if (mjonPayVO.getCmpltYn().equals("X")) {
// 전환불가 // 전환불가
@ -2469,7 +2471,11 @@ public class MjonPayServiceImpl extends EgovAbstractServiceImpl implements MjonP
// Step4. 상태값 변경 // Step4. 상태값 변경
updatePointUse(mjonPayVO); updatePointUse(mjonPayVO);
msg = "전환불가 처리되었습니다.";
} }
return msg;
} }
@Override @Override

View File

@ -1226,79 +1226,14 @@ public class MjonPayController {
String adminUserId = loginVO == null ? "" : EgovStringUtil.isNullToString(loginVO.getId()); String adminUserId = loginVO == null ? "" : EgovStringUtil.isNullToString(loginVO.getId());
boolean isSuccess = true; boolean isSuccess = true;
String msg = "전환불가 처리되었습니다."; String msg = "";
try { try {
mjonPayVO.setAdminRegisterId(adminUserId); mjonPayVO.setAdminRegisterId(adminUserId);
mjonPayVO.setFrstRegisterId(mjonPayVO.getUserId()); mjonPayVO.setFrstRegisterId(mjonPayVO.getUserId());
mjonPayVO.setUserId(mjonPayVO.getUserId()); mjonPayVO.setUserId(mjonPayVO.getUserId());
mjonPayService.updatePointUseByCase(mjonPayVO); msg = mjonPayService.updatePointUseByCase(mjonPayVO, msg);
//완료 처리 사용자에게 알림 문자 전송
if("Y".equals(mjonPayVO.getCmpltYn())){
msg = "송금완료 처리되었습니다.";
MjonCommon mjCommon = new MjonCommon();
MjonMsgVO mjonMsgVO = new MjonMsgVO();
mjonMsgVO.setCallFrom("15518011");
//포인트 3자리수 콤마 처리
NumberFormat numberFormat = NumberFormat.getInstance();
String point = numberFormat.format(mjonPayVO.getPoint());
//발송 문자 타입(/장문) 등록
//문자열 길이 체크 해주기
String charset = "euc-kr"; //문자 바이트 계산에 필요한 캐릭터 : 한글 2Byte로 계산
String smsTxt = "[문자온] 고객님, 요청하신 포인트 현금 전환("+point+"원) 처리가 완료되었습니다. 감사합니다.";
mjonMsgVO.setSmsTxt(smsTxt);
smsTxt = smsTxt.replace("\r\n", "\n");
int FrBytes = smsTxt.getBytes(charset).length;
String msgType = "4";
//90바이트를 초과하는 경우 장문으로 발송
if(FrBytes > 90){
msgType = "6";
}
mjonMsgVO.setMsgType(msgType);
//그림이미지 첨부파일 갯수 0으로 셋팅
mjonMsgVO.setFileCnt("0");
// 문자타입 구분
if (mjonMsgVO.getMsgType().equals("4")) {
mjonMsgVO.setMsgDiv("S"); // 단문
}
else if (mjonMsgVO.getMsgType().equals("6")) {
if (mjonMsgVO.getFileCnt().equals("0")) {
mjonMsgVO.setMsgDiv("L"); // 장문
}
else {
mjonMsgVO.setMsgDiv("P"); // 그림
}
}
// 문자타입별 대표전송사 정보
MjonMsgVO mjonMsgVO2 = new MjonMsgVO();
mjonMsgVO2 = mjonMsgService.selectRepMsgAgetnInfo(mjonMsgVO);
// 전송사 구분 코드 - 01 : 아이하트, 02 : 현대 퓨쳐넷, 03 : 아이엠오, 04 : 다우기술
mjonMsgVO.setAgentCode(mjonMsgVO2.getAgentCode()); //전송사 선택
// 전송금액
mjonMsgVO.setTotPrice(mjonMsgVO2.getAgentPrice().toString()); //총금액
mjonMsgVO.setEachPrice(mjonMsgVO2.getAgentPrice().toString()); //한건 금액
mjonMsgVO.setCallTo(mjonPayVO.getMbtlNum());
//문자발송을 위한 데이터 셋팅 함수 호출해주기
MjonMsgVO resultCom = mjCommon.getAdminToMberPhoneSendMsgDataComm(mjonMsgVO);
//발신으로 문자 발송 처리
mjonMsgDataService.insertAdmToMberMsgDataInfo(resultCom);
msg = msg += (System.lineSeparator()+"안내문자 발송 성공했습니다.");
}
} }
catch(Exception e) { catch(Exception e) {
isSuccess = false; isSuccess = false;
@ -2022,6 +1957,111 @@ public class MjonPayController {
return "/uss/ion/pay/cashPointSendList"; return "/uss/ion/pay/cashPointSendList";
} }
/**
* 포인트 사용 완료처리 변경
*/
@RequestMapping(value="/uss/ion/pay/pointUseCashUpdateSendSmsAjax.do")
public ModelAndView pointUseCashUpdateSendSmsAjax(@ModelAttribute("searchVO") MjonPayVO mjonPayVO,
HttpServletRequest request) throws Exception {
ModelAndView modelAndView = new ModelAndView();
modelAndView.setViewName("jsonView");
boolean isSuccess = true;
String msg = "";
try {
MjonCommon mjCommon = new MjonCommon();
MjonMsgVO mjonMsgVO = new MjonMsgVO();
mjonMsgVO.setCallFrom("15518011");
//포인트 3자리수 콤마 처리
NumberFormat numberFormat = NumberFormat.getInstance();
String point = numberFormat.format(mjonPayVO.getPoint());
//발송 문자 타입(/장문) 등록
//문자열 길이 체크 해주기
String charset = "euc-kr"; //문자 바이트 계산에 필요한 캐릭터 : 한글 2Byte로 계산
String smsTxt = "[문자온] 고객님, 요청하신 포인트 현금 전환("+point+"원) 처리가 완료되었습니다. 감사합니다.";
mjonMsgVO.setSmsTxt(smsTxt);
smsTxt = smsTxt.replace("\r\n", "\n");
int FrBytes = smsTxt.getBytes(charset).length;
String msgType = "4";
//90바이트를 초과하는 경우 장문으로 발송
if(FrBytes > 90){
msgType = "6";
}
mjonMsgVO.setMsgType(msgType);
//그림이미지 첨부파일 갯수 0으로 셋팅
mjonMsgVO.setFileCnt("0");
// 문자타입 구분
if (mjonMsgVO.getMsgType().equals("4")) {
mjonMsgVO.setMsgDiv("S"); // 단문
}
else if (mjonMsgVO.getMsgType().equals("6")) {
if (mjonMsgVO.getFileCnt().equals("0")) {
mjonMsgVO.setMsgDiv("L"); // 장문
}
else {
mjonMsgVO.setMsgDiv("P"); // 그림
}
}
// 문자타입별 대표전송사 정보
MjonMsgVO mjonMsgVO2 = new MjonMsgVO();
mjonMsgVO2 = mjonMsgService.selectRepMsgAgetnInfo(mjonMsgVO);
// 전송사 구분 코드 - 01 : 아이하트, 02 : 현대 퓨쳐넷, 03 : 아이엠오, 04 : 다우기술
mjonMsgVO.setAgentCode(mjonMsgVO2.getAgentCode()); //전송사 선택
// 전송금액
mjonMsgVO.setTotPrice(mjonMsgVO2.getAgentPrice().toString()); //총금액
mjonMsgVO.setEachPrice(mjonMsgVO2.getAgentPrice().toString()); //한건 금액
mjonMsgVO.setCallTo(mjonPayVO.getMbtlNum());
//문자발송을 위한 데이터 셋팅 함수 호출해주기
MjonMsgVO resultCom = mjCommon.getAdminToMberPhoneSendMsgDataComm(mjonMsgVO);
//발신으로 문자 발송 처리
mjonMsgDataService.insertAdmToMberMsgDataInfo(resultCom);
msg = "안내문자 발송 성공했습니다.";
}
catch(Exception e) {
isSuccess = false;
msg = e.getMessage();
}
modelAndView.addObject("isSuccess", isSuccess);
modelAndView.addObject("msg", msg);
return modelAndView;
}
//배열 정의{"컬럼순차번호, 컬럼이름, 컬럼내용, 컬럼이름에 붙여야할 내용(엑셀코드양식다운로드시 필요)"} //배열 정의{"컬럼순차번호, 컬럼이름, 컬럼내용, 컬럼이름에 붙여야할 내용(엑셀코드양식다운로드시 필요)"}
private String[][] sendPayExcelValue ={ private String[][] sendPayExcelValue ={
{"0" ,"번호" , "1" , "" }, {"0" ,"번호" , "1" , "" },

View File

@ -1,121 +1,52 @@
package itn.let.mjo.test.web; package itn.let.mjo.test.web;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import java.math.BigDecimal;
import java.math.RoundingMode;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.text.SimpleDateFormat;
import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Calendar;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
import javax.annotation.Resource;
import javax.imageio.ImageIO;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import org.apache.commons.lang.StringUtils;
import org.apache.pdfbox.pdmodel.PDDocument;
import org.apache.pdfbox.rendering.ImageType;
import org.apache.pdfbox.rendering.PDFRenderer;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.core.io.ByteArrayResource;
import org.springframework.core.io.FileSystemResource;
import org.springframework.http.HttpEntity; import org.springframework.http.HttpEntity;
import org.springframework.http.HttpHeaders; import org.springframework.http.HttpHeaders;
import org.springframework.http.HttpMethod;
import org.springframework.http.HttpStatus;
import org.springframework.http.MediaType; import org.springframework.http.MediaType;
import org.springframework.http.ResponseEntity; import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Controller; import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap; import org.springframework.ui.Model;
import org.springframework.util.LinkedMultiValueMap; import org.springframework.util.LinkedMultiValueMap;
import org.springframework.util.MultiValueMap; import org.springframework.util.MultiValueMap;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.client.RestTemplate; import org.springframework.web.client.RestTemplate;
import org.springframework.web.multipart.MultipartFile;
import org.springframework.web.multipart.MultipartHttpServletRequest;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.support.RedirectAttributes;
import org.springframework.web.util.UriUtils;
import com.fasterxml.jackson.databind.ObjectMapper;
import egovframework.rte.fdl.idgnr.EgovIdGnrService;
import egovframework.rte.fdl.security.userdetails.util.EgovUserDetailsHelper;
import egovframework.rte.ptl.mvc.tags.ui.pagination.PaginationInfo;
import itn.com.cmm.ComDefaultCodeVO;
import itn.com.cmm.EgovMessageSource;
import itn.com.cmm.LoginVO;
import itn.com.cmm.service.EgovCmmUseService;
import itn.com.cmm.service.EgovFileMngService;
import itn.com.cmm.service.EgovFileMngUtil;
import itn.com.cmm.service.FileVO;
import itn.com.cmm.util.MJUtil;
import itn.com.cmm.util.StringUtil;
import itn.let.kakao.kakaoComm.KakaoVO;
import itn.let.kakao.kakaoComm.kakaoApi.KakaoApiProfile;
import itn.let.kakao.kakaoComm.kakaoApi.KakaoApiProfileCategory;
import itn.let.lett.service.LetterService;
import itn.let.mail.service.StatusResponse;
import itn.let.mjo.addr.service.AddrGroupService;
import itn.let.mjo.addr.service.AddrService;
import itn.let.mjo.addragency.service.AddrAgencyVO;
import itn.let.mjo.apikey.service.ApiKeyMngService;
import itn.let.mjo.event.service.MjonEventService;
import itn.let.mjo.event.service.MjonEventVO;
import itn.let.mjo.mjocommon.MjonCommon;
import itn.let.mjo.mjocommon.MjonHolidayApi;
import itn.let.mjo.msg.service.MjonMsgService;
import itn.let.mjo.msg.service.MjonMsgVO;
import itn.let.mjo.msg.service.RefundDTO;
import itn.let.mjo.msgdata.service.MjonMsgDataService;
import itn.let.mjo.msgdata.service.MjonMsgReturnVO;
import itn.let.mjo.msgdata.service.impl.MjonMsgDataDAO;
import itn.let.mjo.msgholiday.service.MsgAlarmSetVO;
import itn.let.mjo.msgholiday.service.MsgHolidayService;
import itn.let.mjo.msgholiday.service.MsgHolidayVO;
import itn.let.mjo.pay.service.MjonPayService;
import itn.let.mjo.payva.service.VacsVactService;
import itn.let.mjo.payva.service.VacsVactVO;
import itn.let.mjo.spammsg.service.MjonSpamMsgService;
import itn.let.mjo.spammsg.web.ComGetSpamStringParser;
import itn.let.mjo.symbol.service.MjonSymbolService;
import itn.let.schdlr.service.SchdlrManageService;
import itn.let.sym.ccm.cde.service.EgovCcmCmmnDetailCodeManageService;
import itn.let.sym.site.service.EgovSiteManagerService;
import itn.let.sym.site.service.JoinSettingVO;
import itn.let.sym.site.service.TermsVO;
import itn.let.uat.uia.service.AuthCertVO;
import itn.let.uat.uia.web.KmcCertChecker;
import itn.let.uss.umt.service.EgovMberManageService;
import itn.let.uss.umt.service.EgovUserManageService;
import itn.let.uss.umt.service.MberManageVO;
import itn.let.uss.umt.service.UserManageVO;
import itn.let.utl.user.service.CheckFileUtil;
import itn.let.utl.user.service.CheckLoginUtil;
import itn.let.utl.user.service.CheckNoServiceCommon;
@Controller @Controller
public class TestController { public class TestController {
@RequestMapping("/uss/ion/test/callNicepay.do")
public String callNicepay(Model model) {
String url = "https://dev.nicepay.co.kr/webapi/sslConnectionTest.jsp";
String mid = "itn180208m"; // 실제 MID 값으로 변경
try {
// RestTemplate 사용
RestTemplate restTemplate = new RestTemplate();
// 헤더 설정
HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.APPLICATION_FORM_URLENCODED);
// 파라미터 설정
MultiValueMap<String, String> params = new LinkedMultiValueMap<>();
params.add("MID", mid);
HttpEntity<MultiValueMap<String, String>> request = new HttpEntity<>(params, headers);
// POST 요청
ResponseEntity<String> response = restTemplate.postForEntity(url, request, String.class);
// JSP에 전달
model.addAttribute("result", response.getBody());
model.addAttribute("url", url);
model.addAttribute("mid", mid);
} catch (Exception e) {
model.addAttribute("result", "에러 발생: " + e.getMessage());
}
return "uss/ion/test/TestNicePaySSL"; // nicepayResult.jsp로 이동
}
} }

View File

@ -1187,6 +1187,13 @@
, M.rsltCode , M.rsltCode
, M.rsltCode2 , M.rsltCode2
, M.rsltNet , M.rsltNet
, IFNULL(
(SELECT RESULT_CODE_TXT
FROM MJ_MSG_RESULT_CODE
WHERE AGENT_CODE = M.agentCode
AND RESULT_CODE = m.rsltCode
),
'결과코드 내용이 없습니다.') AS rsltCodeMsgTxt
, M.callTo , M.callTo
, M.callFrom , M.callFrom
, M.smsTxt , M.smsTxt
@ -8295,6 +8302,7 @@
, M.blineCode , M.blineCode
, M.delayYn , M.delayYn
, M.delayCompleteYn , M.delayCompleteYn
, M.smiId
, (SELECT , (SELECT
COUNT(0) COUNT(0)
FROM FROM
@ -8383,7 +8391,7 @@
) AS atchFiles ) AS atchFiles
FROM FROM
( SELECT ( SELECT
COUNT(MSG_GROUP_ID) OVER() AS totCnt COUNT(A.MSG_GROUP_ID) OVER() AS totCnt
, A.MSG_GROUP_ID AS msgGroupId , A.MSG_GROUP_ID AS msgGroupId
, A.USER_ID AS userId , A.USER_ID AS userId
, LMB.MBER_NM AS userNm , LMB.MBER_NM AS userNm
@ -8412,6 +8420,7 @@
, IFNULL(LMB.BLINE_CODE, 'N') AS blineCode , IFNULL(LMB.BLINE_CODE, 'N') AS blineCode
, A.DELAY_YN AS delayYn , A.DELAY_YN AS delayYn
, A.DELAY_COMPLETE_YN AS delayCompleteYn , A.DELAY_COMPLETE_YN AS delayCompleteYn
, MSI.SMI_ID AS smiId
FROM FROM
MJ_MSG_GROUP_DATA A MJ_MSG_GROUP_DATA A
INNER JOIN LETTNGNRLMBER LMB INNER JOIN LETTNGNRLMBER LMB
@ -8434,6 +8443,8 @@
WHERE USE_AT = 'Y' WHERE USE_AT = 'Y'
AND CODE_ID = 'ITN022' AND CODE_ID = 'ITN022'
) D ON A.MSG_TYPE = D.CODE /** 메세지타입 */ ) D ON A.MSG_TYPE = D.CODE /** 메세지타입 */
LEFT OUTER JOIN MJ_SPAM_MEMBER_INFO MSI
ON A.MSG_GROUP_ID = MSI.MSG_GROUP_ID
WHERE 1 = 1 WHERE 1 = 1
AND A.MSG_TYPE IN (4, 6) AND A.MSG_TYPE IN (4, 6)
<!-- <!--
@ -8461,9 +8472,9 @@
<isNotEmpty property="searchKeyword"> <isNotEmpty property="searchKeyword">
<isEqual property="searchCondition" compareValue="" > <isEqual property="searchCondition" compareValue="" >
AND ( AND (
USER_ID LIKE CONCAT ('%', #searchKeyword#,'%') OR A.USER_ID LIKE CONCAT ('%', #searchKeyword#,'%') OR
A.CALL_FROM LIKE CONCAT('%', #searchKeyword#, '%') OR A.CALL_FROM LIKE CONCAT('%', #searchKeyword#, '%') OR
SMS_TXT LIKE CONCAT ('%', #searchKeyword#,'%') A.SMS_TXT LIKE CONCAT ('%', #searchKeyword#,'%')
) )
</isEqual> </isEqual>
@ -8504,20 +8515,16 @@
</isNotEmpty> </isNotEmpty>
<isNotEmpty property="reserveYn"> <isNotEmpty property="reserveYn">
AND RESERVE_YN = #reserveYn# AND A.RESERVE_YN = #reserveYn#
</isNotEmpty> </isNotEmpty>
<isNotEmpty property="reserveCYn"> <isNotEmpty property="reserveCYn">
AND RESERVE_C_YN = #reserveCYn# AND A.RESERVE_C_YN = #reserveCYn#
</isNotEmpty> </isNotEmpty>
<isNotEmpty property="searchAdminSmsNoticeYn"> <isNotEmpty property="searchAdminSmsNoticeYn">
AND ADMIN_SMS_NOTICE_YN = #searchAdminSmsNoticeYn# AND LMB.ADMIN_SMS_NOTICE_YN = #searchAdminSmsNoticeYn#
</isNotEmpty> </isNotEmpty>
<isNotEmpty property="searchCampaignYn">
AND MSG_KIND = 'C'
</isNotEmpty>
<isNotEmpty property="searchDelayMsgYn"> <isNotEmpty property="searchDelayMsgYn">
AND A.MSG_GROUP_ID IN ( AND A.MSG_GROUP_ID IN (
SELECT SELECT
@ -8543,6 +8550,145 @@
) M ) M
</select> </select>
<select id="mjonMsgDAO.selectUserMsgDataListByMbrId3" parameterClass="mjonMsgVO" resultClass="mjonMsgVO">
SELECT M.totCnt,
M.callFrom,
M.regDate,
M.reserveCYn,
M.cancelDate,
M.reserveYn,
M.reqDate,
M.delayYn,
M.delayCompleteYn,
M.msgGroupId,
M.smsTxt,
M.msgType,
M.fileCnt,
M.sendKind,
M.smiId,
SUM(IF(MD.result = 'S', 1, 0)) AS msgGroupSCnt,
SUM(IF(MD.result = 'W', 1, 0)) + SUM(IF(MD.result = 'F', 1, 0)) AS msgGroupFWCnt,
(SELECT CONCAT((IF(B.FILE_PATH1 IS NOT NULL, (SELECT ATCH_FILE_ID
FROM LETTNFILEDETAIL
WHERE CONCAT(STRE_FILE_NM, '.', FILE_EXTSN) =
CONCAT(SUBSTRING_INDEX(B.FILE_PATH1, '/', -1))
LIMIT 1), '')), '^',
(IF(B.FILE_PATH2 IS NOT NULL, (SELECT ATCH_FILE_ID
FROM LETTNFILEDETAIL
WHERE CONCAT(STRE_FILE_NM, '.', FILE_EXTSN) =
CONCAT(SUBSTRING_INDEX(B.FILE_PATH2, '/', -1))
LIMIT 1), '')), '^',
(IF(B.FILE_PATH3 IS NOT NULL, (SELECT ATCH_FILE_ID
FROM LETTNFILEDETAIL
WHERE CONCAT(STRE_FILE_NM, '.', FILE_EXTSN) =
CONCAT(SUBSTRING_INDEX(B.FILE_PATH3, '/', -1))
LIMIT 1), '')))
FROM MJ_MSG_DATA B
WHERE B.MSG_GROUP_ID = M.msgGroupId
LIMIT 1) AS atchFiles
FROM (SELECT COUNT(A.MSG_GROUP_ID) OVER () AS totCnt,
A.MSG_GROUP_ID AS msgGroupId,
A.SEND_KIND AS sendKind,
A.CALL_FROM AS callFrom,
A.SMS_TXT AS smsTxt,
A.MSG_TYPE AS msgType,
DATE_FORMAT(A.REQ_DATE, '%Y-%m-%d %H:%i') AS reqDate,
A.RESERVE_C_YN AS reserveCYn,
A.RESERVE_YN AS reserveYn,
A.FILE_CNT AS fileCnt,
DATE_FORMAT(A.CANCELDATE, '%Y-%m-%d %H:%i') AS cancelDate,
A.DELAY_YN AS delayYn,
A.DELAY_COMPLETE_YN AS delayCompleteYn,
DATE_FORMAT(A.REGDATE, '%Y-%m-%d %H:%i') AS REGDATE,
MSI.SMI_ID AS smiId
FROM MJ_MSG_GROUP_DATA A
LEFT OUTER JOIN MJ_SPAM_MEMBER_INFO MSI ON A.MSG_GROUP_ID = MSI.MSG_GROUP_ID
WHERE 1 = 1
AND A.USER_ID = #userId#
AND A.MSG_TYPE IN (4, 6)
AND A.REQ_DATE BETWEEN #ntceBgnde# AND #ntceEndde#
<isNotEmpty property="reserveType">
<isEqual property="reserveType" compareValue="D">
<![CDATA[
AND A.REQ_DATE <= now()
AND A.RESERVE_C_YN = 'N'
]]>
</isEqual>
<isEqual property="reserveType" compareValue="R">
<![CDATA[
AND A.REQ_DATE > now()
AND A.RESERVE_YN = 'Y'
]]>
</isEqual>
</isNotEmpty>
<isNotEmpty property="sendKind">
<isEqual property="sendKind" compareValue="H">
AND A.SEND_KIND = 'H'
</isEqual>
<isEqual property="sendKind" compareValue="A">
AND A.SEND_KIND = 'A'
</isEqual>
</isNotEmpty>
<isNotEmpty property="searchKeyword">
<isEqual prepend="AND" property="searchCondition" compareValue="">
( A.CALL_FROM LIKE CONCAT('%' , #searchKeyword#, '%') OR A.SMS_TXT LIKE CONCAT('%' , #searchKeyword#, '%') )
</isEqual>
<isEqual prepend="AND" property="searchCondition" compareValue="1">
A.CALL_FROM LIKE CONCAT('%' , #searchKeyword#, '%')
</isEqual>
<isEqual prepend="AND" property="searchCondition" compareValue="2">
A.SMS_TXT LIKE CONCAT('%' , #searchKeyword#, '%')
</isEqual>
</isNotEmpty>
ORDER BY 1 = 1, reqDate desc
LIMIT #recordCountPerPage# OFFSET #firstIndex#) M
left outer join (select case
when A.AGENT_CODE = '01'
and (A.RSLT_CODE = '100'
and (A.RSLT_CODE2 = '0')) then 'S'
when A.AGENT_CODE = '02'
and (A.RSLT_CODE = '0') then 'S'
when A.AGENT_CODE = '03'
and (A.RSLT_CODE = '100'
or A.RSLT_CODE = '101'
or A.RSLT_CODE = '110'
or A.RSLT_CODE = '800') then 'S'
when
A.AGENT_CODE = '04'
and (A.RSLT_CODE = '4100'
or A.RSLT_CODE = '6600'
or A.RSLT_CODE = '7000') then 'S'
when
A.AGENT_CODE = '05'
and (A.RSLT_CODE = '1000'
or A.RSLT_CODE = '1001') then 'S'
when
A.AGENT_CODE = '07'
and (A.RSLT_CODE = '6'
or A.RSLT_CODE = '1000') then 'S'
when
A.AGENT_CODE = '08'
and (A.RSLT_CODE = '1000'
or A.RSLT_CODE = '1001') then 'S'
when
A.AGENT_CODE = '09'
and (A.RSLT_CODE = '1000'
or A.RSLT_CODE = '1001') then 'S'
when (
A.RSLT_CODE is null
and A.RSLT_CODE2 is null
and A.SENT_DATE is null
and A.RSLT_DATE is null) then 'W'
else 'F'
end as result,
A.MSG_GROUP_ID
from MJ_MSG_DATA A) MD on MD.MSG_GROUP_ID = M.msgGroupId
GROUP BY M.msgGroupId
order by M.reqDate desc
</select>
</sqlMap> </sqlMap>

View File

@ -361,47 +361,47 @@ function fnGoMsgGroupList(msgGroupId){
<colgroup> <colgroup>
<col style="width:5.00%"> <col style="width:5.00%">
<col style="width:5.00%"> <col style="width:5.00%">
<col style="width:5.50%"> <%-- <col style="width:5.50%"> --%>
<col style="width:7.00%"> <col style="width:7.00%">
<col style="width:7.50%"> <%-- <col style="width:7.50%"> --%>
<col style="width:5.00%"> <col style="width:5.00%">
<col style="width:5.50%"> <%-- <col style="width:5.50%"> --%>
<col style="width:7.00%"> <col style="width:7.00%">
<col style="width:7.50%"> <%-- <col style="width:7.50%"> --%>
<col style="width:5.00%"> <col style="width:5.00%">
<col style="width:5.50%"> <%-- <col style="width:5.50%"> --%>
<col style="width:7.00%"> <col style="width:7.00%">
<col style="width:7.50%"> <%-- <col style="width:7.50%"> --%>
<col style="width:5.00%"> <col style="width:5.00%">
<col style="width:5.50%"> <%-- <col style="width:5.50%"> --%>
<col style="width:7.00%"> <col style="width:7.00%">
<col style="width:7.50%"> <%-- <col style="width:7.50%"> --%>
</colgroup> </colgroup>
<thead> <thead>
<tr> <tr>
<th rowspan="2">방식</th> <th rowspan="2">방식</th>
<th colspan="4">단문</th> <th colspan="2">단문</th>
<th colspan="4">장문</th> <th colspan="2">장문</th>
<th colspan="4">그림문자</th> <th colspan="2">그림문자</th>
<th colspan="4">종합</th> <th colspan="2">종합</th>
</tr> </tr>
<tr class="content"> <tr class="content">
<th>성공(건)</th> <th>성공(건)</th>
<th>성공(금액)</th> <!-- <th>성공(금액)</th> -->
<th>실패대기(건)</th> <th>실패대기(건)</th>
<th>실패대기(금액)</th> <!-- <th>실패대기(금액)</th> -->
<th>성공(건)</th> <th>성공(건)</th>
<th>성공(금액)</th> <!-- <th>성공(금액)</th> -->
<th>실패대기(건)</th> <th>실패대기(건)</th>
<th>실패대기(금액)</th> <!-- <th>실패대기(금액)</th> -->
<th>성공(건)</th> <th>성공(건)</th>
<th>성공(금액)</th> <!-- <th>성공(금액)</th> -->
<th>실패대기(건)</th> <th>실패대기(건)</th>
<th>실패대기(금액)</th> <!-- <th>실패대기(금액)</th> -->
<th>성공(건)</th> <th>성공(건)</th>
<th>성공(금액)</th> <!-- <th>성공(금액)</th> -->
<th>실패대기(건)</th> <th>실패대기(건)</th>
<th>실패대기(금액)</th> <!-- <th>실패대기(금액)</th> -->
</tr> </tr>
</thead> </thead>
<tbody> <tbody>
@ -423,51 +423,51 @@ function fnGoMsgGroupList(msgGroupId){
<td> <td>
<span class="tType4 c_456ded fwBold"><fmt:formatNumber value="${sendSttstInfo.smsGroupSCntSum}" pattern="#,###" /></span> <span class="tType4 c_456ded fwBold"><fmt:formatNumber value="${sendSttstInfo.smsGroupSCntSum}" pattern="#,###" /></span>
</td> </td>
<td> <%-- <td>
<span class="tType4 c_456ded fwBold"><fmt:formatNumber value="${sendSttstInfo.smsTotSPriceSum}" pattern="#,###" /></span> <span class="tType4 c_456ded fwBold"><fmt:formatNumber value="${sendSttstInfo.smsTotSPriceSum}" pattern="#,###" /></span>
</td> </td> --%>
<td> <td>
<span class="tType4 c_456ded fwBold"><fmt:formatNumber value="${sendSttstInfo.smsGroupFWCntSum}" pattern="#,###" /></span> <span class="tType4 c_456ded fwBold"><fmt:formatNumber value="${sendSttstInfo.smsGroupFWCntSum}" pattern="#,###" /></span>
</td> </td>
<td> <%-- <td>
<span class="tType4 c_456ded fwBold"><fmt:formatNumber value="${sendSttstInfo.smsTotFWPriceSum}" pattern="#,###" /></span> <span class="tType4 c_456ded fwBold"><fmt:formatNumber value="${sendSttstInfo.smsTotFWPriceSum}" pattern="#,###" /></span>
</td> </td> --%>
<td> <td>
<span class="tType4 c_456ded fwBold"><fmt:formatNumber value="${sendSttstInfo.lmsGroupSCntSum}" pattern="#,###" /></span> <span class="tType4 c_456ded fwBold"><fmt:formatNumber value="${sendSttstInfo.lmsGroupSCntSum}" pattern="#,###" /></span>
</td> </td>
<td> <%-- <td>
<span class="tType4 c_456ded fwBold"><fmt:formatNumber value="${sendSttstInfo.lmsTotSPriceSum}" pattern="#,###" /></span> <span class="tType4 c_456ded fwBold"><fmt:formatNumber value="${sendSttstInfo.lmsTotSPriceSum}" pattern="#,###" /></span>
</td> </td> --%>
<td> <td>
<span class="tType4 c_456ded fwBold"><fmt:formatNumber value="${sendSttstInfo.lmsGroupFWCntSum}" pattern="#,###" /></span> <span class="tType4 c_456ded fwBold"><fmt:formatNumber value="${sendSttstInfo.lmsGroupFWCntSum}" pattern="#,###" /></span>
</td> </td>
<td> <%-- <td>
<span class="tType4 c_456ded fwBold"><fmt:formatNumber value="${sendSttstInfo.lmsTotFWPriceSum}" pattern="#,###" /></span> <span class="tType4 c_456ded fwBold"><fmt:formatNumber value="${sendSttstInfo.lmsTotFWPriceSum}" pattern="#,###" /></span>
</td> </td> --%>
<td> <td>
<span class="tType4 c_456ded fwBold"><fmt:formatNumber value="${sendSttstInfo.mmsGroupSCntSum}" pattern="#,###" /></span> <span class="tType4 c_456ded fwBold"><fmt:formatNumber value="${sendSttstInfo.mmsGroupSCntSum}" pattern="#,###" /></span>
</td> </td>
<td> <%-- <td>
<span class="tType4 c_456ded fwBold"><fmt:formatNumber value="${sendSttstInfo.mmsTotSPriceSum}" pattern="#,###" /></span> <span class="tType4 c_456ded fwBold"><fmt:formatNumber value="${sendSttstInfo.mmsTotSPriceSum}" pattern="#,###" /></span>
</td> </td> --%>
<td> <td>
<span class="tType4 c_456ded fwBold"><fmt:formatNumber value="${sendSttstInfo.mmsGroupFWCntSum}" pattern="#,###" /></span> <span class="tType4 c_456ded fwBold"><fmt:formatNumber value="${sendSttstInfo.mmsGroupFWCntSum}" pattern="#,###" /></span>
</td> </td>
<td> <%-- <td>
<span class="tType4 c_456ded fwBold"><fmt:formatNumber value="${sendSttstInfo.mmsTotFWPriceSum}" pattern="#,###" /></span> <span class="tType4 c_456ded fwBold"><fmt:formatNumber value="${sendSttstInfo.mmsTotFWPriceSum}" pattern="#,###" /></span>
</td> </td> --%>
<td> <td>
<span class="tType4 c_456ded fwBold"><fmt:formatNumber value="${sendSttstInfo.smsTotSPriceSum}" pattern="#,###" /></span> <span class="tType4 c_456ded fwBold"><fmt:formatNumber value="${sendSttstInfo.smsGroupSCntSum + sendSttstInfo.lmsGroupSCntSum + sendSttstInfo.mmsGroupSCntSum}" pattern="#,###" /></span>
</td> </td>
<%-- <td>
<span class="tType4 c_456ded fwBold"><fmt:formatNumber value="${sendSttstInfo.smsTotSPriceSum}" pattern="#,###" /></span>
</td> --%>
<td> <td>
<span class="tType4 c_456ded fwBold"><fmt:formatNumber value="${sendSttstInfo.smsTotSPriceSum}" pattern="#,###" /></span> <span class="tType4 c_456ded fwBold"><fmt:formatNumber value="${sendSttstInfo.smsGroupFWCntSum + sendSttstInfo.lmsGroupFWCntSum + sendSttstInfo.mmsGroupFWCntSum}" pattern="#,###" /></span>
</td> </td>
<td> <%-- <td>
<span class="tType4 c_456ded fwBold"><fmt:formatNumber value="${sendSttstInfo.smsTotSPriceSum}" pattern="#,###" /></span> <span class="tType4 c_456ded fwBold"><fmt:formatNumber value="${sendSttstInfo.smsTotSPriceSum}" pattern="#,###" /></span>
</td> </td> --%>
<td>
<span class="tType4 c_456ded fwBold"><fmt:formatNumber value="${sendSttstInfo.smsTotSPriceSum}" pattern="#,###" /></span>
</td>
</tr> </tr>
</c:forEach> </c:forEach>
</tbody> </tbody>
@ -708,11 +708,15 @@ function fnGoMsgGroupList(msgGroupId){
정지 정지
</button> </button>
</c:if> </c:if>
<c:if test="${empty result.smiId}">
-
</c:if>
</c:when> </c:when>
<c:otherwise> <c:otherwise>
<button type="button" class="btnType btnType20" onclick="fn_updateMberSttus('<c:out value="${result.msgGroupId}"/>'); return false;"> <%-- <button type="button" class="btnType btnType20" onclick="fn_updateMberSttus('<c:out value="${result.msgGroupId}"/>'); return false;">
정지 정지
</button> </button> --%>
-
</c:otherwise> </c:otherwise>
</c:choose> </c:choose>
</td> </td>

View File

@ -42,6 +42,7 @@ function fn_search(){
function linkPage(pageNo){ function linkPage(pageNo){
var listForm = document.listForm ; var listForm = document.listForm ;
listForm.pageIndex.value = pageNo ; listForm.pageIndex.value = pageNo ;
listForm.action = "<c:url value='/uss/ion/msg/SendMsgDetailList.do'/>";
listForm.submit(); listForm.submit();
} }

View File

@ -477,7 +477,7 @@ function fnMsgDelayCancelArray(msgGroupId, userId) {
alert(msg); alert(msg);
//회원 이용정지 처리하기 //회원 이용정지 처리하기
fn_MsgDelayCancel_after(userId); fn_MsgDelayCancel_after(userId, msgGroupId);
} }
}, },
beforeSend: function () { beforeSend: function () {
@ -496,18 +496,18 @@ function fnMsgDelayCancelArray(msgGroupId, userId) {
} }
//문자 지연 내역 발송 취소를 통한 회원 이용정지시 //문자 지연 내역 발송 취소를 통한 회원 이용정지시
function fn_MsgDelayCancel_after(userId){ function fn_MsgDelayCancel_after(userId, msgGroupId){
var mberSttus = $('#mberSttus').val(); var mberSttus = $('#mberSttus').val();
mberSttus = "B"; //이용자 정지 처리 mberSttus = "B"; //이용자 정지 처리
var smiMemo = "시스템 스팸 필터링에 의한 이용정지"; var smiMemo = "시스템 스팸 필터링에 의한 이용정지";
fn_SpamMberUpdt(userId, mberSttus, smiMemo, "이용자 정지를 진행하시겠습니까?"); fn_SpamMberUpdt(userId, mberSttus, smiMemo, "이용자 정지를 진행하시겠습니까?", msgGroupId);
} }
//회원 이용정지 처리 //회원 이용정지 처리
function fn_SpamMberUpdt(userId, p_mberSttus, p_smiMemo, p_confirm_msg) { function fn_SpamMberUpdt(userId, p_mberSttus, p_smiMemo, p_confirm_msg, p_msgGroupId) {
url = "/uss/umt/user/EgovGnrlUpdateUserMsttusAjax.do"; url = "/uss/umt/user/EgovGnrlUpdateUserMsttusAjax.do";
var json = {"mberId" : userId, "mberSttus" : p_mberSttus, "smiMemo" : p_smiMemo}; var json = {"mberId" : userId, "mberSttus" : p_mberSttus, "smiMemo" : p_smiMemo, "msgGroupId" : p_msgGroupId};
if(confirm(p_confirm_msg)){ if(confirm(p_confirm_msg)){
$.ajax({ $.ajax({
type: "POST", type: "POST",
@ -770,7 +770,16 @@ function fn_SpamMberUpdt(userId, p_mberSttus, p_smiMemo, p_confirm_msg) {
<c:choose> <c:choose>
<c:when test="${result.delayCompleteYn eq 'Y' && not empty result.cancelDate}"> <c:when test="${result.delayCompleteYn eq 'Y' && not empty result.cancelDate}">
<span style="color: #0000FF;"> <span style="color: #0000FF;">
<c:if test="${result.smishingYn eq 'Y'}">온</c:if><c:if test="${result.smishingYn eq 'N'}">오프</c:if>[발송취소] <c:if test="${result.smishingYn eq 'Y'}">
</c:if>
<c:if test="${result.smishingYn eq 'N'}">
오프
</c:if>
[
발송취소<c:if test="${not empty result.smiId}">(이용정지)</c:if>
]
<span style="overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block;margin-top:3px;" title="<c:out value="${result.cancelDate}"/>"> <span style="overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block;margin-top:3px;" title="<c:out value="${result.cancelDate}"/>">
<fmt:parseDate value="${result.cancelDate}" var="cancelDateValue" pattern="yyyy-MM-dd HH:mm"/> <fmt:parseDate value="${result.cancelDate}" var="cancelDateValue" pattern="yyyy-MM-dd HH:mm"/>
<fmt:formatDate value="${cancelDateValue}" pattern="MM-dd HH:mm"/> <fmt:formatDate value="${cancelDateValue}" pattern="MM-dd HH:mm"/>

View File

@ -27,7 +27,8 @@ $( document ).ready(function(){
function fn_update(pType){ function fn_update(pType){
var cTitle = ""; var cTitle = "";
if (pType == "Y") { if (pType == "Y") {
cTitle = "송금완료로 처리 하시겠습니까?\n고객님께 알림문자 전송됩니다."; /* cTitle = "송금완료로 처리 하시겠습니까?\n고객님께 알림문자 전송됩니다."; */
cTitle = "완료 처리하시겠습니까?";
} }
else if (pType == "X") { else if (pType == "X") {
cTitle = "전환불가로 처리 하시겠습니까?"; cTitle = "전환불가로 처리 하시겠습니까?";
@ -44,20 +45,28 @@ function fn_update(pType){
dataType:'json', dataType:'json',
success : function(data){ success : function(data){
if(data.isSuccess == true) { if(data.isSuccess == true) {
location.reload(); /* location.reload(); */
alert(data.msg); alert(data.msg);
//송금완료 버튼 클릭 후 처리완료 되면 문자 전송 여부 선택
if(pType == "Y"){
sendSms();
}else{
location.reload();
}
} }
else { else {
alert(data.msg); alert(data.msg);
location.reload();
} }
}, },
error: function (e) { error: function (e) {
alert("업데이트에 실패하였습니다."); alert("업데이트에 실패하였습니다.");
console.log("ERROR : ", e); console.log("ERROR : ", e);
} }
}); });
}else{
location.reload();
} }
} }
@ -79,6 +88,33 @@ function fnSelectMber(mberId) {
document.modiForm.submit(); document.modiForm.submit();
} }
function sendSms(){
if (confirm("문자를 발송하시겠습니까?")) {
$.ajax({
cache : false,
url : "<c:url value='/uss/ion/pay/pointUseCashUpdateSendSmsAjax.do'/>",
type : 'POST',
data : $("#writeForm").serialize(),
dataType:'json',
success : function(data){
if(data.isSuccess == true) {
location.reload();
alert(data.msg);
}
else {
alert(data.msg);
}
},
error: function (e) {
alert("문자전송에 실패했습니다.");
console.log("ERROR : ", e);
}
});
}else{
location.reload();
}
}
</script> </script>
</head> </head>

View File

@ -0,0 +1,57 @@
<%@ page contentType="text/html; charset=utf-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
<html lang="ko">
<head>
<title>세금계산서 관리</title>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
</head>
<body>
<div class="contWrap">
<div class="pageTitle">
<div class="pageIcon"><img src="/pb/img/pageTitIcon4.png" alt=""></div>
<h2 class="titType1 c_222222 fwBold">Nicepay SSL 호출 결과</h2>
<p class="tType6 c_999999">Nicepay SSL 호출 결과</p>
</div>
<div class="pageCont">
<!-- 세금계산서 -->
<div class="tableWrap">
<table class="tbType1">
<colgroup>
<col style="width: 40%">
<col style="width: 20%">
<col style="width: 40%">
</colgroup>
<thead>
<tr>
<th>url</th>
<th>mid</th>
<th>결과</th>
</tr>
</thead>
<tbody>
<tr>
<td>
${url}
</td>
<td>
${mid}
</td>
<td>
${result}
</td>
</tr>
</tbody>
</table>
</div>
<div class="btnWrap">
</div>
</div>
</div>
</body>
</html>

View File

@ -367,7 +367,7 @@ function cntSet(){
//cntView('ftCnt', response.ftCnt); //cntView('ftCnt', response.ftCnt);
}, },
error: function(error) { error: function(error) {
alert("error"); console.log("error");
}, },
beforeSend : function(xmlHttpRequest) { beforeSend : function(xmlHttpRequest) {
//로딩창 show //로딩창 show