선거문자 후보자 등록 변경 및 세금계산서 동기화 기능 변경
예약 취소 오류시 문자발송 상태 및 환불 처리 되도록 로직 수정
This commit is contained in:
parent
670b1527ff
commit
9ded699d5f
@ -13,4 +13,7 @@ public interface MjonCandidateService {
|
||||
|
||||
// 선거문자 후보자 삭제 처리
|
||||
public int deleteCandidateDataInfo(MjonCandidateVO mjonCandidateVO) throws Exception;
|
||||
|
||||
// 선거문자 후보자 등록/수정시 회원정보 테이블 세금계산서 정보 수정해주기
|
||||
public int updateTaxBillMemberInfo(MjonCandidateVO mjonCandidateVO) throws Exception;
|
||||
}
|
||||
|
||||
@ -21,7 +21,8 @@ public class MjonCandidateVO {
|
||||
private String lastUpdusrId;
|
||||
|
||||
private String dataType;
|
||||
|
||||
private String emailFullStr;
|
||||
private String regidentNoFullStr;
|
||||
|
||||
public int getCandidateId() {
|
||||
return candidateId;
|
||||
@ -120,10 +121,18 @@ public class MjonCandidateVO {
|
||||
public void setDataType(String dataType) {
|
||||
this.dataType = dataType;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
public String getEmailFullStr() {
|
||||
return emailFullStr;
|
||||
}
|
||||
public void setEmailFullStr(String emailFullStr) {
|
||||
this.emailFullStr = emailFullStr;
|
||||
}
|
||||
public String getRegidentNoFullStr() {
|
||||
return regidentNoFullStr;
|
||||
}
|
||||
public void setRegidentNoFullStr(String regidentNoFullStr) {
|
||||
this.regidentNoFullStr = regidentNoFullStr;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
@ -27,4 +27,10 @@ public class MjonCandidateDAO extends EgovAbstractDAO {
|
||||
|
||||
return update("mjonCandidateDAO.deleteCandidateDataInfo", mjonCandidateVO);
|
||||
}
|
||||
|
||||
// 선거문자 후보자 등록/수정시 회원정보 테이블 세금계산서 정보 수정해주기
|
||||
public int updateTaxBillMemberInfo(MjonCandidateVO mjonCandidateVO) throws Exception{
|
||||
|
||||
return update("mjonCandidateDAO.updateTaxBillMemberInfo", mjonCandidateVO);
|
||||
}
|
||||
}
|
||||
|
||||
@ -33,4 +33,9 @@ public class MjonCandidateServiceImpl extends EgovAbstractServiceImpl implement
|
||||
|
||||
return mjonCandidateDAO.deleteCandidateDataInfo(mjonCandidateVO);
|
||||
}
|
||||
|
||||
// 선거문자 후보자 등록/수정시 회원정보 테이블 세금계산서 정보 수정해주기
|
||||
public int updateTaxBillMemberInfo(MjonCandidateVO mjonCandidateVO) throws Exception{
|
||||
return mjonCandidateDAO.updateTaxBillMemberInfo(mjonCandidateVO);
|
||||
}
|
||||
}
|
||||
|
||||
@ -570,6 +570,7 @@ public class MjonMsgCampainDataController {
|
||||
model.addAttribute("resultPhoList", resultPhoList);
|
||||
paginationInfo.setTotalRecordCount( resultPhoList.size()> 0 ? ((Long)((EgovMap)resultPhoList.get(0)).get("totCnt")).intValue() : 0);
|
||||
model.addAttribute("paginationInfo", paginationInfo);
|
||||
model.addAttribute("mberManageVO", mberManageVO);
|
||||
|
||||
return "web/msgcampain/MsgDataSMLView";
|
||||
}
|
||||
@ -598,66 +599,98 @@ public class MjonMsgCampainDataController {
|
||||
LoginVO loginVO = EgovUserDetailsHelper.isAuthenticated()? (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser():null;
|
||||
String userId = loginVO == null ? "" : EgovStringUtil.isNullToString(loginVO.getId());
|
||||
|
||||
if(userId.equals("")) {
|
||||
try {
|
||||
|
||||
modelAndView.addObject("result", "loginFail");
|
||||
modelAndView.addObject("message", "로그인이 필요합니다.");
|
||||
return modelAndView;
|
||||
if(userId.equals("")) {
|
||||
|
||||
modelAndView.addObject("result", "loginFail");
|
||||
modelAndView.addObject("message", "로그인이 필요합니다.");
|
||||
return modelAndView;
|
||||
|
||||
}else {
|
||||
|
||||
mjonCandidateVO.setMberId(userId);
|
||||
|
||||
}
|
||||
|
||||
}else {
|
||||
MjonVOParamXssValues XssParam = new MjonVOParamXssValues();
|
||||
|
||||
int XssCnt = XssParam.buildUri(mjonCandidateVO);
|
||||
|
||||
if(XssCnt > 0) {
|
||||
|
||||
modelAndView.addObject("result", "fail");
|
||||
modelAndView.addObject("message", "후보자 등록 정보에 잘못된 문자열이 있습니다.");
|
||||
return modelAndView;
|
||||
|
||||
}
|
||||
|
||||
int resultCnt = 0;
|
||||
String dataType = mjonCandidateVO.getDataType();
|
||||
|
||||
mjonCandidateVO.setMberId(userId);
|
||||
//주민번호 앞, 뒷 자리 암호화 처리하기
|
||||
String regidentNo1 = egovCryptoUtil.encrypt(mjonCandidateVO.getRegidentNo1());
|
||||
String regidentNo2 = egovCryptoUtil.encrypt(mjonCandidateVO.getRegidentNo2());
|
||||
|
||||
}
|
||||
|
||||
MjonVOParamXssValues XssParam = new MjonVOParamXssValues();
|
||||
|
||||
int XssCnt = XssParam.buildUri(mjonCandidateVO);
|
||||
|
||||
if(XssCnt > 0) {
|
||||
mjonCandidateVO.setRegidentNo1(regidentNo1);
|
||||
mjonCandidateVO.setRegidentNo2(regidentNo2);
|
||||
|
||||
modelAndView.addObject("result", "fail");
|
||||
modelAndView.addObject("message", "후보자 등록 정보에 잘못된 문자열이 있습니다.");
|
||||
return modelAndView;
|
||||
if(dataType.equals("Upt")) {
|
||||
|
||||
resultCnt = mjonCandidateService.updateCandidateDataInfo(mjonCandidateVO);
|
||||
|
||||
}else {
|
||||
|
||||
resultCnt = mjonCandidateService.insertCandidateDataInfo(mjonCandidateVO);
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
int resultCnt = 0;
|
||||
String dataType = mjonCandidateVO.getDataType();
|
||||
|
||||
//주민번호 앞, 뒷 자리 암호화 처리하기
|
||||
String regidentNo1 = egovCryptoUtil.encrypt(mjonCandidateVO.getRegidentNo1());
|
||||
String regidentNo2 = egovCryptoUtil.encrypt(mjonCandidateVO.getRegidentNo2());
|
||||
|
||||
mjonCandidateVO.setRegidentNo1(regidentNo1);
|
||||
mjonCandidateVO.setRegidentNo2(regidentNo2);
|
||||
|
||||
if(dataType.equals("Upt")) {
|
||||
/*
|
||||
* 20231122 우영두 수정
|
||||
* 후보자 등록/수정시 후보자 정보에 대한 세금계산서 정보가 등록되어야 함.
|
||||
* 선거문자를 이용하는 개인 회원은 세금계산서를 후보자에 대한 것을 신청하기 때문에 회원정보의 세금계산서 정보를 업데이트 하도록 함.
|
||||
*
|
||||
* */
|
||||
if(resultCnt > 0) {
|
||||
|
||||
//후보자 담당자 이메일 주소 합쳐주기
|
||||
mjonCandidateVO.setEmailFullStr(mjonCandidateVO.getEmail() + "@" + mjonCandidateVO.getEmailDomain());
|
||||
|
||||
// 주민번호 복호화 하기
|
||||
regidentNo1 = egovCryptoUtil.decrypt(mjonCandidateVO.getRegidentNo1());
|
||||
regidentNo2 = egovCryptoUtil.decrypt(mjonCandidateVO.getRegidentNo2());
|
||||
|
||||
mjonCandidateVO.setRegidentNoFullStr(regidentNo1+regidentNo2);
|
||||
|
||||
mjonCandidateService.updateTaxBillMemberInfo(mjonCandidateVO);
|
||||
|
||||
}
|
||||
|
||||
if(resultCnt > 0 && dataType.equals("Upt")) {
|
||||
|
||||
modelAndView.addObject("result", "success");
|
||||
modelAndView.addObject("message", "후보자 정보의 수정이 완료되었습니다.");
|
||||
|
||||
}else if(resultCnt > 0 && dataType.equals("Reg")) {
|
||||
|
||||
modelAndView.addObject("result", "success");
|
||||
modelAndView.addObject("message", "후보자 등록이 완료되었습니다.");
|
||||
|
||||
}else {
|
||||
|
||||
modelAndView.addObject("result", "fail");
|
||||
modelAndView.addObject("message", "후보자 등록에 오류가 발생하였습니다.");
|
||||
|
||||
}
|
||||
|
||||
resultCnt = mjonCandidateService.updateCandidateDataInfo(mjonCandidateVO);
|
||||
|
||||
}else {
|
||||
|
||||
resultCnt = mjonCandidateService.insertCandidateDataInfo(mjonCandidateVO);
|
||||
|
||||
}
|
||||
|
||||
|
||||
if(resultCnt > 0 && dataType.equals("Upt")) {
|
||||
|
||||
modelAndView.addObject("result", "success");
|
||||
modelAndView.addObject("message", "후보자 정보의 수정이 완료되었습니다.");
|
||||
|
||||
}else if(resultCnt > 0 && dataType.equals("Reg")) {
|
||||
|
||||
modelAndView.addObject("result", "success");
|
||||
modelAndView.addObject("message", "후보자 등록이 완료되었습니다.");
|
||||
|
||||
}else {
|
||||
} catch (Exception e) {
|
||||
System.out.println("insertCandidateDataInfoAjax Controller Error!!! " + e);
|
||||
|
||||
modelAndView.addObject("result", "fail");
|
||||
modelAndView.addObject("message", "후보자 등록에 오류가 발생하였습니다.");
|
||||
|
||||
return modelAndView;
|
||||
|
||||
}
|
||||
|
||||
return modelAndView;
|
||||
@ -686,40 +719,47 @@ public class MjonMsgCampainDataController {
|
||||
LoginVO loginVO = EgovUserDetailsHelper.isAuthenticated()? (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser():null;
|
||||
String userId = loginVO == null ? "" : EgovStringUtil.isNullToString(loginVO.getId());
|
||||
|
||||
if(userId.equals("")) {
|
||||
try {
|
||||
|
||||
if(userId.equals("")) {
|
||||
|
||||
modelAndView.addObject("result", "loginFail");
|
||||
modelAndView.addObject("message", "로그인이 필요합니다.");
|
||||
return modelAndView;
|
||||
|
||||
}else {
|
||||
|
||||
mjonCandidateVO.setMberId(userId);
|
||||
|
||||
}
|
||||
|
||||
modelAndView.addObject("result", "loginFail");
|
||||
modelAndView.addObject("message", "로그인이 필요합니다.");
|
||||
return modelAndView;
|
||||
MjonVOParamXssValues XssParam = new MjonVOParamXssValues();
|
||||
|
||||
int XssCnt = XssParam.buildUri(mjonCandidateVO);
|
||||
|
||||
int resultCnt = 0;
|
||||
|
||||
}else {
|
||||
resultCnt = mjonCandidateService.deleteCandidateDataInfo(mjonCandidateVO);
|
||||
|
||||
if(resultCnt > 0 ) {
|
||||
|
||||
modelAndView.addObject("result", "success");
|
||||
modelAndView.addObject("message", "후보자 정보의 삭제 완료되었습니다.");
|
||||
|
||||
|
||||
}else {
|
||||
|
||||
modelAndView.addObject("result", "fail");
|
||||
modelAndView.addObject("message", "후보자 삭제에 오류가 발생하였습니다.");
|
||||
|
||||
}
|
||||
|
||||
mjonCandidateVO.setMberId(userId);
|
||||
|
||||
}
|
||||
|
||||
MjonVOParamXssValues XssParam = new MjonVOParamXssValues();
|
||||
|
||||
int XssCnt = XssParam.buildUri(mjonCandidateVO);
|
||||
|
||||
|
||||
int resultCnt = 0;
|
||||
|
||||
|
||||
resultCnt = mjonCandidateService.deleteCandidateDataInfo(mjonCandidateVO);
|
||||
|
||||
|
||||
|
||||
if(resultCnt > 0 ) {
|
||||
|
||||
modelAndView.addObject("result", "success");
|
||||
modelAndView.addObject("message", "후보자 정보의 삭제 완료되었습니다.");
|
||||
|
||||
|
||||
}else {
|
||||
} catch (Exception e) {
|
||||
System.out.println("deleteCandidateDataInfoAjax Controller Error!!! " + e);
|
||||
|
||||
modelAndView.addObject("result", "fail");
|
||||
modelAndView.addObject("message", "후보자 삭제에 오류가 발생하였습니다.");
|
||||
return modelAndView;
|
||||
|
||||
}
|
||||
|
||||
|
||||
@ -3425,10 +3425,77 @@ public class MjonPayController {
|
||||
LoginVO loginVO = EgovUserDetailsHelper.isAuthenticated()? (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser():null;
|
||||
String userId = loginVO == null ? "" : EgovStringUtil.isNullToString(loginVO.getUniqId());
|
||||
|
||||
mberManageVO.setUniqId(userId);
|
||||
mberManageService.updateTaxbill(mberManageVO);
|
||||
|
||||
redirectAttributes.addFlashAttribute("message", egovMessageSource.getMessage("success.common.update"));
|
||||
if(userId.equals("")) {
|
||||
|
||||
redirectAttributes.addFlashAttribute("message", egovMessageSource.getMessage("fail.common.login"));
|
||||
return "redirect:/web/member/pay/BillPub.do";
|
||||
|
||||
}
|
||||
|
||||
try {
|
||||
|
||||
//세금계산서 정보 수정해주기
|
||||
mberManageVO.setUniqId(userId);
|
||||
mberManageService.updateTaxbill(mberManageVO);
|
||||
|
||||
/*
|
||||
* 20231122 우영두 기능 추가
|
||||
* 개인회원인 경우
|
||||
* 세금계산서 타입이 개인인 경우
|
||||
* 후보자 정보가 있는지 확인하여 후보자 정보가 있다면 세금계산서 정보와 일치하도록 변경된 정보를 후보자 정보도 수정해준다.
|
||||
* */
|
||||
String mberId = loginVO.getId();
|
||||
String taxCNm = mberManageVO.getTaxCNm();
|
||||
|
||||
MberManageVO tmpMberManageVO = mjonMsgDataService.selectMberManageInfo(mberId);
|
||||
String dept = tmpMberManageVO.getDept();
|
||||
|
||||
if(dept.equals("p") && taxCNm != null && taxCNm.length() > 0) {
|
||||
|
||||
MjonCandidateVO mjonCandidateVO = mjonCandidateService.selectCandidateDataInfo(mberId);
|
||||
String candidateNm = mjonCandidateVO.getCandidateNm();
|
||||
if(candidateNm != null && candidateNm.length() > 0) {
|
||||
|
||||
MjonCandidateVO updtCandidateVO = new MjonCandidateVO();
|
||||
|
||||
//이메일 정보 아이디/도메인 정보 분리
|
||||
String email = mberManageVO.getTaxMngEmail().split("@")[0];
|
||||
String emailDomain = mberManageVO.getTaxMngEmail().split("@")[1];
|
||||
|
||||
/*
|
||||
* 주민번호 앞, 뒷 자리 암호화 처리하기
|
||||
* 세금계산서에서 주민번호는 별도로 암/복호화 처리를 안하고 저장함
|
||||
* 기본 가비아 암호화 솔루션 처리로 안한것 같음, 후보자 정보 쪽에서는 전자정부 프레임워크의 암/복호화 적용하여 저장함.
|
||||
*
|
||||
* */
|
||||
String regidentNo1 = egovCryptoUtil.encrypt(mberManageVO.getTaxCIhidNum().substring(0, 6));
|
||||
String regidentNo2 = egovCryptoUtil.encrypt(mberManageVO.getTaxCIhidNum().substring(6, 13));
|
||||
|
||||
updtCandidateVO.setMberId(mberId);
|
||||
updtCandidateVO.setCandidateNm(taxCNm);
|
||||
updtCandidateVO.setRegidentNo1(regidentNo1);
|
||||
updtCandidateVO.setRegidentNo2(regidentNo2);
|
||||
updtCandidateVO.setCandidateAddr(mberManageVO.getTaxCAddr());
|
||||
updtCandidateVO.setManagerNm(mberManageVO.getTaxMngNm());
|
||||
updtCandidateVO.setPhoneNo(mberManageVO.getTaxMngPhoneNum());
|
||||
updtCandidateVO.setEmail(email);
|
||||
updtCandidateVO.setEmailDomain(emailDomain);
|
||||
updtCandidateVO.setLastUpdusrId(mberId);
|
||||
|
||||
int resultCnt = mjonCandidateService.updateCandidateDataInfo(updtCandidateVO);
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
redirectAttributes.addFlashAttribute("message", egovMessageSource.getMessage("success.common.update"));
|
||||
|
||||
} catch (Exception e) {
|
||||
System.out.println("updateTaxbill Controller Error!!! " + e);
|
||||
|
||||
redirectAttributes.addFlashAttribute("message", "세금계산서 정보 수정 중 오류가 발생하였습니다.");
|
||||
return "redirect:/web/member/pay/BillPub.do";
|
||||
}
|
||||
|
||||
return "redirect:/web/member/pay/BillPub.do";
|
||||
}
|
||||
|
||||
@ -356,4 +356,17 @@ public class MjonReservMsgDAO extends EgovAbstractDAO {
|
||||
|
||||
return update("MjonReservMsgDAO.updateReserveTimeBizMsgSeqListByMsgSeq", mjonResvMsgVO);
|
||||
}
|
||||
|
||||
/**
|
||||
* @Method Name : selectMjonMsgGroupDataByGroupId
|
||||
* @작성일 : 2023. 11. 23.
|
||||
* @작성자 : 우영두
|
||||
* @Method 설명 : 문자발송 그룹 데이터 테이블 데이터 조회 , 예약취소시 문자발송 정보 조회를 위해 사용
|
||||
* 예약취소시 전송사별 발송테이블의 데이터 삭제는 완료되었으나, mj_msg_data 테이블의 Deadlock 상황으로 오류 발생시 처리를 위해서 사용
|
||||
*/
|
||||
public MjonResvMsgVO selectMjonMsgGroupDataChkByGroupId(MjonResvMsgVO mjonResvMsgVO) {
|
||||
|
||||
return (MjonResvMsgVO) select("MjonReservMsgDAO.selectMjonMsgGroupDataChkByGroupId", mjonResvMsgVO);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -85,6 +85,9 @@ public class MjonReservMsgServiceImpl extends EgovAbstractServiceImpl implements
|
||||
int result = 0;
|
||||
|
||||
try {
|
||||
System.out.println("================= 예약 취소 처리 시작============================");
|
||||
System.out.println("================= 메세지 그룹 아이디============================" + mjonResvMsgVO.getMsgGroupId());
|
||||
|
||||
|
||||
String agentCode = mjonResvMsgVO.getAgentCode(); //전송사 코드번호
|
||||
String msgType = mjonResvMsgVO.getMsgType(); //문자 종류 - 4:단문, 6:장문
|
||||
@ -102,72 +105,58 @@ public class MjonReservMsgServiceImpl extends EgovAbstractServiceImpl implements
|
||||
|
||||
mjonResvMsgVO.setUserDataList(userDataList);
|
||||
|
||||
int ihResult = 0;
|
||||
int imoResult = 0;
|
||||
//int ihResult = 0;
|
||||
//int imoResult = 0;
|
||||
int bizResult = 0;
|
||||
int jjResult = 0;
|
||||
int ivtResult = 0;
|
||||
int FHSmsResult = 0;
|
||||
int FHMmsResult = 0;
|
||||
//int FHSmsResult = 0;
|
||||
//int FHMmsResult = 0;
|
||||
int jjB01Result = 0;
|
||||
int jjB02Result = 0;
|
||||
|
||||
//아이하트 예약취소 삭제
|
||||
ihResult = mjonReservMsgDAO.deleteIHeartMsgSeqListByMsgSeq(mjonResvMsgVO);
|
||||
//ihResult = mjonReservMsgDAO.deleteIHeartMsgSeqListByMsgSeq(mjonResvMsgVO);
|
||||
|
||||
//현대퓨처넷 단문예약취소 삭제
|
||||
FHSmsResult = mjonReservMsgDAO.deleteHFNSmsMsgSeqListByMsgSeq(mjonResvMsgVO);
|
||||
//FHSmsResult = mjonReservMsgDAO.deleteHFNSmsMsgSeqListByMsgSeq(mjonResvMsgVO);
|
||||
|
||||
//현대퓨처넷 장문/그림 문예약취소 삭제
|
||||
FHMmsResult = mjonReservMsgDAO.deleteHFNMmsMsgSeqListByMsgSeq(mjonResvMsgVO);
|
||||
//FHMmsResult = mjonReservMsgDAO.deleteHFNMmsMsgSeqListByMsgSeq(mjonResvMsgVO);
|
||||
|
||||
//아이엠오 예약취소 삭제
|
||||
imoResult = mjonReservMsgDAO.deleteIMOMsgSeqListByMsgSeq(mjonResvMsgVO);
|
||||
//imoResult = mjonReservMsgDAO.deleteIMOMsgSeqListByMsgSeq(mjonResvMsgVO);
|
||||
|
||||
//비트뿌리오 예약취소 삭제
|
||||
bizResult = mjonReservMsgDAO.deleteBizMsgSeqListByMsgSeq(mjonResvMsgVO);
|
||||
System.out.println("============================== 다우기술 예약 취소 건수 ::: "+bizResult);
|
||||
|
||||
//제이제이 예약취소 삭제
|
||||
jjResult = mjonReservMsgDAO.deleteJJMsgSeqListByMsgSeq(mjonResvMsgVO);
|
||||
System.out.println("============================== 제이제이 예약 취소 건수 ::: "+jjResult);
|
||||
|
||||
//인비토 예약취소 삭제
|
||||
ivtResult = mjonReservMsgDAO.deleteIVTMsgSeqListByMsgSeq(mjonResvMsgVO);
|
||||
System.out.println("============================== 인비토 예약 취소 건수 ::: "+ivtResult);
|
||||
|
||||
//제이제이 B01 예약취소 삭제
|
||||
jjB01Result = mjonReservMsgDAO.deleteJJB01MsgSeqListByMsgSeq(mjonResvMsgVO);
|
||||
System.out.println("============================== 제이제이 B01 예약 취소 건수 ::: "+jjB01Result);
|
||||
|
||||
//제이제이 B02 예약취소 삭제
|
||||
jjB02Result = mjonReservMsgDAO.deleteJJB02MsgSeqListByMsgSeq(mjonResvMsgVO);
|
||||
System.out.println("============================== 제이제이 B02 예약 취소 건수 ::: "+jjB02Result);
|
||||
|
||||
//삭제 결과 합산
|
||||
result = ihResult + FHSmsResult + FHMmsResult + imoResult + bizResult +jjResult + ivtResult + jjB01Result + jjB02Result;
|
||||
//result = ihResult + FHSmsResult + FHMmsResult + imoResult + bizResult +jjResult + ivtResult + jjB01Result + jjB02Result;
|
||||
result = bizResult +jjResult + ivtResult + jjB01Result + jjB02Result;
|
||||
System.out.println("============================== 총 예약 취소 건수 ::: "+result);
|
||||
|
||||
//각 전송사별 문자 발송 테이블에서 데이터 삭제 처리
|
||||
/*if(agentCode.equals("01")) { //아이하트 메세지 삭제
|
||||
|
||||
result = mjonReservMsgDAO.deleteIHeartMsgSeqListByMsgSeq(mjonResvMsgVO);
|
||||
|
||||
}else if(agentCode.equals("02")) { //현대퓨쳐넷 메세지 삭제
|
||||
|
||||
if(msgType.equals("4")) { //단문 삭제
|
||||
|
||||
result = mjonReservMsgDAO.deleteHFNSmsMsgSeqListByMsgSeq(mjonResvMsgVO);
|
||||
|
||||
}else { //장문, 그림 삭제
|
||||
|
||||
result = mjonReservMsgDAO.deleteHFNMmsMsgSeqListByMsgSeq(mjonResvMsgVO);
|
||||
|
||||
}
|
||||
|
||||
}else { //아이엠오 메세지 삭제
|
||||
|
||||
result = mjonReservMsgDAO.deleteIMOMsgSeqListByMsgSeq(mjonResvMsgVO);
|
||||
|
||||
}*/
|
||||
|
||||
//예약 취소 환불 처리
|
||||
if(result > 0) {
|
||||
|
||||
System.out.println("========================예약취소 상태값 변경 및 환불 처리============================");
|
||||
//mj_msg_data 테이블 예약 취소 값 수정
|
||||
mjonReservMsgDAO.updateResvMsgCancelDataFlag(mjonResvMsgVO);
|
||||
|
||||
@ -252,6 +241,102 @@ public class MjonReservMsgServiceImpl extends EgovAbstractServiceImpl implements
|
||||
|
||||
}
|
||||
|
||||
}else if(result == 0){
|
||||
|
||||
//문자 발송 그룹 테이블의 데이터에 예약 취소가 되었는지 조회
|
||||
MjonResvMsgVO tmpMjonResvMsgVO = mjonReservMsgDAO.selectMjonMsgGroupDataChkByGroupId(mjonResvMsgVO);
|
||||
String reserveCYn = tmpMjonResvMsgVO.getReserveCYn();
|
||||
|
||||
if(reserveCYn.equals("N")) {
|
||||
|
||||
result = Integer.parseInt(tmpMjonResvMsgVO.getMsgGroupCnt());
|
||||
|
||||
System.out.println("========================예약취소 상태값 변경 및 환불 처리============================");
|
||||
//mj_msg_data 테이블 예약 취소 값 수정
|
||||
mjonReservMsgDAO.updateResvMsgCancelDataFlag(mjonResvMsgVO);
|
||||
|
||||
//mj_msg_group_data 테이블 예약 취소 값 수정
|
||||
mjonReservMsgDAO.updateResvMsgCancelGroupFlag(mjonResvMsgVO);
|
||||
|
||||
MjonMsgVO mjonMsgVO = mjonReservMsgDAO.selectMjonMsgGroupData(mjonResvMsgVO);
|
||||
|
||||
//문자 발송 캐시 차감 해주기
|
||||
MjonPayVO mjonPayVO = new MjonPayVO();
|
||||
|
||||
mjonPayVO.setCashId(idgenMjonCashId.getNextStringId());
|
||||
mjonPayVO.setUserId(mjonMsgVO.getUserId());
|
||||
mjonPayVO.setCash(Float.parseFloat(mjonMsgVO.getTotPrice()));
|
||||
mjonPayVO.setFrstRegisterId(mjonMsgVO.getUserId());
|
||||
mjonPayVO.setMemo("예약문자 취소 " + result + "건 환불");
|
||||
mjonPayVO.setMsgGroupId(mjonMsgVO.getMsgGroupId());
|
||||
|
||||
mjonPayDAO.insertCash(mjonPayVO); //캐시 환불
|
||||
mjonPayDAO.updateMemberCash(mjonPayVO); //회원정보 업데이트
|
||||
|
||||
String eventYn = mjonMsgVO.getEventYn();
|
||||
|
||||
if(eventYn.equals("Y")) {//이벤트 단가로 발송한 문자인 경우에만 이벤트 환불 처리해줌
|
||||
|
||||
//이벤트 회원의 경우 이벤트 캐시도 환불 처리해줌.
|
||||
MjonEventVO mjonEventVO = new MjonEventVO();
|
||||
mjonEventVO.setMberId(mjonMsgVO.getUserId());
|
||||
MjonEventVO eventMberInfo = mjonEventDAO.selectEventMsgMberDefaultInfo(mjonEventVO);
|
||||
|
||||
float eventRemainCash = 0;
|
||||
boolean compareEndDate = false;
|
||||
|
||||
if(eventMberInfo != null) {
|
||||
|
||||
String eventEndDate = eventMberInfo.getEventEndDate(); //이벤트 종료 일자
|
||||
String eventStatus = eventMberInfo.getEventStatus(); //이벤트 진행 상태
|
||||
|
||||
|
||||
/**
|
||||
* MJUtil.getCompareDate()
|
||||
* 현재 날짜와 파라미터 전달 날짜를 비교
|
||||
* 전달날짜를 지난경우 False를 리턴함.
|
||||
* 현재날짜 이전 혹은 같은 날짜면 True를 리턴함.
|
||||
*
|
||||
* */
|
||||
|
||||
if(eventStatus.equals("Y") || eventStatus.equals("E")) {//현재 이벤트를 진행 중이거나, 종료 된경우 환불 처리해줌
|
||||
|
||||
if(eventEndDate != null) {//이벤트 종료일이 지나지 않은 회원만 환불 처리해줌.
|
||||
compareEndDate = MJUtil.getCompareDate(eventEndDate);
|
||||
eventRemainCash = (float) eventMberInfo.getEventRemainCash();
|
||||
|
||||
|
||||
if(compareEndDate) {//현재 시간이 이벤트 종료일이 지나지 않았다면
|
||||
|
||||
float totEventRemainCash = eventRemainCash + Float.parseFloat(mjonMsgVO.getTotPrice()); //남은 이벤트 캐시 금액에 환불해줄 캐시 금액을 더해준다.
|
||||
|
||||
//이벤트 상태값을 종료로 변경한다.
|
||||
mjonEventVO.setEventInfoId(eventMberInfo.getEventInfoId());
|
||||
|
||||
if(eventStatus.equals("E")) {//이벤트가 종료 된 상태에서 예약 취소를 진행하는 경우 이벤트 종료에서 진행으로 변경 후 캐시 환불 처리
|
||||
|
||||
mjonEventVO.setEventStatus("Y");
|
||||
mjonEventVO.setEventMemo("예약문자 취소로 인한 환물 및 종료되었던 이벤트 진행으로 변경");
|
||||
|
||||
}else {//진행중인 경우 기존 상태값 그대로 적용해준다.
|
||||
|
||||
mjonEventVO.setEventStatus(eventStatus);
|
||||
|
||||
}
|
||||
|
||||
mjonEventVO.setEventRemainCash(totEventRemainCash);
|
||||
mjonEventDAO.updateEventEndStatus(mjonEventVO);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
@ -513,7 +513,7 @@ public class MjonReservMsgController {
|
||||
|
||||
}else {
|
||||
|
||||
modelAndView.addObject("message", "예약 발송 처리가 실패 되었습니다.");
|
||||
modelAndView.addObject("message", "예약 발송 취소 처리가 실패 되었습니다. 잠시 후 다시 시도해 주세요.");
|
||||
modelAndView.addObject("result", "fail");
|
||||
|
||||
}
|
||||
|
||||
@ -37,7 +37,6 @@
|
||||
REGIDENT_NO2,
|
||||
CANDIDATE_ADDR,
|
||||
MANAGER_NM,
|
||||
OFFICE,
|
||||
PHONE_NO,
|
||||
EMAIL,
|
||||
EMAIL_DOMAIN,
|
||||
@ -54,7 +53,6 @@
|
||||
#regidentNo2#,
|
||||
#candidateAddr#,
|
||||
#managerNm#,
|
||||
#office#,
|
||||
#phoneNo#,
|
||||
#email#,
|
||||
#emailDomain#,
|
||||
@ -75,7 +73,6 @@
|
||||
REGIDENT_NO2 = #regidentNo2#,
|
||||
CANDIDATE_ADDR = #candidateAddr#,
|
||||
MANAGER_NM = #managerNm#,
|
||||
OFFICE = #office#,
|
||||
PHONE_NO = #phoneNo#,
|
||||
EMAIL = #email#,
|
||||
EMAIL_DOMAIN = #emailDomain#,
|
||||
@ -90,6 +87,19 @@
|
||||
WHERE MBER_ID = #mberId#
|
||||
</delete>
|
||||
|
||||
<update id="mjonCandidateDAO.updateTaxBillMemberInfo" parameterClass="mjonCandidateVO">
|
||||
|
||||
UPDATE LETTNGNRLMBER SET
|
||||
TAX_MNG_EMAIL = #emailFullStr#,
|
||||
TAX_MNG_NM = #managerNm#,
|
||||
TAX_MNG_PHONENUM = #phoneNo#,
|
||||
TAX_C_NM = #candidateNm#,
|
||||
TAX_C_IHIDNUM = #regidentNoFullStr#,
|
||||
TAX_C_ADDR = #candidateAddr#
|
||||
WHERE MBER_ID = #mberId#
|
||||
|
||||
</update>
|
||||
|
||||
</sqlMap>
|
||||
|
||||
|
||||
|
||||
@ -938,6 +938,27 @@
|
||||
|
||||
</update>
|
||||
|
||||
<select id="MjonReservMsgDAO.selectMjonMsgGroupDataChkByGroupId" parameterClass="mjonMsgResvVO" resultClass="mjonMsgResvVO">
|
||||
|
||||
SELECT MSG_GROUP_ID AS msgGroupId,
|
||||
USER_ID AS userId,
|
||||
MSG_GROUP_CNT AS msgGroupCnt,
|
||||
EACH_PRICE AS eachPrice,
|
||||
TOT_PRICE AS totPrice,
|
||||
RESERVE_YN AS reserveYn,
|
||||
RESERVE_C_YN AS reserveCYn,
|
||||
BEF_CASH AS befCash,
|
||||
BEF_POINT AS befPoint,
|
||||
CANCELDATE AS canceldate,
|
||||
EVENT_YN AS eventYn
|
||||
FROM MJ_MSG_GROUP_DATA A
|
||||
WHERE A.USER_ID = #userId#
|
||||
AND A.RESERVE_YN = 'Y'
|
||||
AND A.DEL_FLAG = 'N'
|
||||
AND A.MSG_GROUP_ID = #msgGroupId#
|
||||
|
||||
</select>
|
||||
|
||||
</sqlMap>
|
||||
|
||||
|
||||
|
||||
@ -2839,6 +2839,13 @@ function fn_candidateLoginChk(){
|
||||
|
||||
}
|
||||
|
||||
function fn_mberDeptChk(){
|
||||
|
||||
alert("선거문자는 개인 회원만 이용 가능합니다.");
|
||||
return false;
|
||||
|
||||
}
|
||||
|
||||
|
||||
function goToCustom(){
|
||||
var form = document.goToCustomForm;
|
||||
@ -3254,11 +3261,9 @@ function getMjMsgSentListAll(pageNo) {
|
||||
<input type="hidden" id="dataType" name="dataType" value="Reg"/>
|
||||
|
||||
<div class="layer_in">
|
||||
<p class="adr_pop_title">선거문자는 반드시 <span class="c_002c9a">후보자 등록</span>을 하셔야만 이용 가능합니다.</p>
|
||||
<p class="adr_pop_title">선거문자는 반드시 <span class="c_002c9a">후보자 등록</span>을 하셔야만 이용 가능합니다. <br/>입력하신 내용은 세금계산서 발행을 위한 정보로만 사용됩니다.</p>
|
||||
<div class="candidate_table">
|
||||
<p>후보자</p>
|
||||
|
||||
|
||||
<table>
|
||||
<caption>후보자 등록을 위한 성명, 주민등록번호, 주소를 입력하는 표</caption>
|
||||
<colgroup>
|
||||
@ -3309,13 +3314,13 @@ function getMjMsgSentListAll(pageNo) {
|
||||
<input type="text" id="managerNm" name="managerNm" value="<c:out value='${mjonCandidateVO.managerNm}'/>" placeholder="담당자 성명 입력" onfocus="this.placeholder=''" onblur="this.placeholder='담당자 성명 입력'" class="inputLight">
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<%-- <tr>
|
||||
<th scope="row">직위</th>
|
||||
<td>
|
||||
<label for="office" class="label"></label>
|
||||
<input type="text" id="office" name="office" value="<c:out value='${mjonCandidateVO.office}'/>" placeholder="직위 입력" onfocus="this.placeholder=''" onblur="this.placeholder='직위 입력'" class="inputLight">
|
||||
</td>
|
||||
</tr>
|
||||
</tr> --%>
|
||||
<tr>
|
||||
<th scope="row">휴대폰</th>
|
||||
<td>
|
||||
@ -3828,6 +3833,9 @@ function getMjMsgSentListAll(pageNo) {
|
||||
<c:when test="${empty LoginVO}">
|
||||
<button type="button" class="btnType" onclick="javascript:fn_candidateLoginChk(); return false;"><i class="election_btn1"></i>후보자 등록</button>
|
||||
</c:when>
|
||||
<c:when test="${not empty mberManageVO && mberManageVO.dept eq 'c'}">
|
||||
<button type="button" class="btnType" onclick="javascript:fn_mberDeptChk(); return false;"><i class="election_btn1"></i>후보자 등록</button>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
<button type="button" class="btnType" data-tooltip="candidate_popup01"><i class="election_btn1"></i>후보자 등록</button>
|
||||
</c:otherwise>
|
||||
|
||||
Loading…
Reference in New Issue
Block a user