[관리자] 기간 경과 포인트 현금 전환 처리내역 상태값 변경 요청

http://pms.iten.co.kr:9999/issues/5370?issue_count=28&issue_position=5&next_issue_id=5314&prev_issue_id=5372
This commit is contained in:
leejunho 2025-08-08 11:18:40 +09:00
parent 4081be815c
commit 8cc292a258
4 changed files with 143 additions and 94 deletions

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());
@ -2451,6 +2451,8 @@ public class MjonPayServiceImpl extends EgovAbstractServiceImpl implements MjonP
// 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

@ -51,19 +51,22 @@ function fn_update(pType){
//송금완료 버튼 클릭 후 처리완료 되면 문자 전송 여부 선택 //송금완료 버튼 클릭 후 처리완료 되면 문자 전송 여부 선택
if(pType == "Y"){ if(pType == "Y"){
sendSms(); 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();
} }
} }
@ -86,6 +89,7 @@ function fnSelectMber(mberId) {
} }
function sendSms(){ function sendSms(){
if (confirm("문자를 발송하시겠습니까?")) {
$.ajax({ $.ajax({
cache : false, cache : false,
url : "<c:url value='/uss/ion/pay/pointUseCashUpdateSendSmsAjax.do'/>", url : "<c:url value='/uss/ion/pay/pointUseCashUpdateSendSmsAjax.do'/>",
@ -94,9 +98,8 @@ function sendSms(){
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);
} }
else { else {
alert(data.msg); alert(data.msg);
@ -106,9 +109,9 @@ function sendSms(){
alert("문자전송에 실패했습니다."); alert("문자전송에 실패했습니다.");
console.log("ERROR : ", e); console.log("ERROR : ", e);
} }
}); });
} }
}
</script> </script>