Merge branch 'rosewiper'
This commit is contained in:
commit
69f1480212
@ -13,4 +13,7 @@ public interface MjonCandidateService {
|
|||||||
|
|
||||||
// 선거문자 후보자 삭제 처리
|
// 선거문자 후보자 삭제 처리
|
||||||
public int deleteCandidateDataInfo(MjonCandidateVO mjonCandidateVO) throws Exception;
|
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 lastUpdusrId;
|
||||||
|
|
||||||
private String dataType;
|
private String dataType;
|
||||||
|
private String emailFullStr;
|
||||||
|
private String regidentNoFullStr;
|
||||||
|
|
||||||
public int getCandidateId() {
|
public int getCandidateId() {
|
||||||
return candidateId;
|
return candidateId;
|
||||||
@ -120,10 +121,18 @@ public class MjonCandidateVO {
|
|||||||
public void setDataType(String dataType) {
|
public void setDataType(String dataType) {
|
||||||
this.dataType = 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);
|
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);
|
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);
|
model.addAttribute("resultPhoList", resultPhoList);
|
||||||
paginationInfo.setTotalRecordCount( resultPhoList.size()> 0 ? ((Long)((EgovMap)resultPhoList.get(0)).get("totCnt")).intValue() : 0);
|
paginationInfo.setTotalRecordCount( resultPhoList.size()> 0 ? ((Long)((EgovMap)resultPhoList.get(0)).get("totCnt")).intValue() : 0);
|
||||||
model.addAttribute("paginationInfo", paginationInfo);
|
model.addAttribute("paginationInfo", paginationInfo);
|
||||||
|
model.addAttribute("mberManageVO", mberManageVO);
|
||||||
|
|
||||||
return "web/msgcampain/MsgDataSMLView";
|
return "web/msgcampain/MsgDataSMLView";
|
||||||
}
|
}
|
||||||
@ -598,66 +599,98 @@ public class MjonMsgCampainDataController {
|
|||||||
LoginVO loginVO = EgovUserDetailsHelper.isAuthenticated()? (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser():null;
|
LoginVO loginVO = EgovUserDetailsHelper.isAuthenticated()? (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser():null;
|
||||||
String userId = loginVO == null ? "" : EgovStringUtil.isNullToString(loginVO.getId());
|
String userId = loginVO == null ? "" : EgovStringUtil.isNullToString(loginVO.getId());
|
||||||
|
|
||||||
if(userId.equals("")) {
|
try {
|
||||||
|
|
||||||
modelAndView.addObject("result", "loginFail");
|
if(userId.equals("")) {
|
||||||
modelAndView.addObject("message", "로그인이 필요합니다.");
|
|
||||||
return modelAndView;
|
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());
|
||||||
|
|
||||||
}
|
mjonCandidateVO.setRegidentNo1(regidentNo1);
|
||||||
|
mjonCandidateVO.setRegidentNo2(regidentNo2);
|
||||||
MjonVOParamXssValues XssParam = new MjonVOParamXssValues();
|
|
||||||
|
|
||||||
int XssCnt = XssParam.buildUri(mjonCandidateVO);
|
|
||||||
|
|
||||||
if(XssCnt > 0) {
|
|
||||||
|
|
||||||
modelAndView.addObject("result", "fail");
|
if(dataType.equals("Upt")) {
|
||||||
modelAndView.addObject("message", "후보자 등록 정보에 잘못된 문자열이 있습니다.");
|
|
||||||
return modelAndView;
|
resultCnt = mjonCandidateService.updateCandidateDataInfo(mjonCandidateVO);
|
||||||
|
|
||||||
|
}else {
|
||||||
|
|
||||||
|
resultCnt = mjonCandidateService.insertCandidateDataInfo(mjonCandidateVO);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
}
|
/*
|
||||||
|
* 20231122 우영두 수정
|
||||||
int resultCnt = 0;
|
* 후보자 등록/수정시 후보자 정보에 대한 세금계산서 정보가 등록되어야 함.
|
||||||
String dataType = mjonCandidateVO.getDataType();
|
* 선거문자를 이용하는 개인 회원은 세금계산서를 후보자에 대한 것을 신청하기 때문에 회원정보의 세금계산서 정보를 업데이트 하도록 함.
|
||||||
|
*
|
||||||
//주민번호 앞, 뒷 자리 암호화 처리하기
|
* */
|
||||||
String regidentNo1 = egovCryptoUtil.encrypt(mjonCandidateVO.getRegidentNo1());
|
if(resultCnt > 0) {
|
||||||
String regidentNo2 = egovCryptoUtil.encrypt(mjonCandidateVO.getRegidentNo2());
|
|
||||||
|
//후보자 담당자 이메일 주소 합쳐주기
|
||||||
mjonCandidateVO.setRegidentNo1(regidentNo1);
|
mjonCandidateVO.setEmailFullStr(mjonCandidateVO.getEmail() + "@" + mjonCandidateVO.getEmailDomain());
|
||||||
mjonCandidateVO.setRegidentNo2(regidentNo2);
|
|
||||||
|
// 주민번호 복호화 하기
|
||||||
if(dataType.equals("Upt")) {
|
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);
|
} catch (Exception e) {
|
||||||
|
System.out.println("insertCandidateDataInfoAjax Controller Error!!! " + e);
|
||||||
}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 {
|
|
||||||
|
|
||||||
modelAndView.addObject("result", "fail");
|
modelAndView.addObject("result", "fail");
|
||||||
modelAndView.addObject("message", "후보자 등록에 오류가 발생하였습니다.");
|
modelAndView.addObject("message", "후보자 등록에 오류가 발생하였습니다.");
|
||||||
|
|
||||||
|
return modelAndView;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return modelAndView;
|
return modelAndView;
|
||||||
@ -686,40 +719,47 @@ public class MjonMsgCampainDataController {
|
|||||||
LoginVO loginVO = EgovUserDetailsHelper.isAuthenticated()? (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser():null;
|
LoginVO loginVO = EgovUserDetailsHelper.isAuthenticated()? (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser():null;
|
||||||
String userId = loginVO == null ? "" : EgovStringUtil.isNullToString(loginVO.getId());
|
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");
|
MjonVOParamXssValues XssParam = new MjonVOParamXssValues();
|
||||||
modelAndView.addObject("message", "로그인이 필요합니다.");
|
|
||||||
return modelAndView;
|
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);
|
} catch (Exception e) {
|
||||||
|
System.out.println("deleteCandidateDataInfoAjax Controller Error!!! " + e);
|
||||||
}
|
|
||||||
|
|
||||||
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 {
|
|
||||||
|
|
||||||
modelAndView.addObject("result", "fail");
|
modelAndView.addObject("result", "fail");
|
||||||
modelAndView.addObject("message", "후보자 삭제에 오류가 발생하였습니다.");
|
modelAndView.addObject("message", "후보자 삭제에 오류가 발생하였습니다.");
|
||||||
|
return modelAndView;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -3425,10 +3425,77 @@ public class MjonPayController {
|
|||||||
LoginVO loginVO = EgovUserDetailsHelper.isAuthenticated()? (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser():null;
|
LoginVO loginVO = EgovUserDetailsHelper.isAuthenticated()? (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser():null;
|
||||||
String userId = loginVO == null ? "" : EgovStringUtil.isNullToString(loginVO.getUniqId());
|
String userId = loginVO == null ? "" : EgovStringUtil.isNullToString(loginVO.getUniqId());
|
||||||
|
|
||||||
mberManageVO.setUniqId(userId);
|
if(userId.equals("")) {
|
||||||
mberManageService.updateTaxbill(mberManageVO);
|
|
||||||
|
redirectAttributes.addFlashAttribute("message", egovMessageSource.getMessage("fail.common.login"));
|
||||||
redirectAttributes.addFlashAttribute("message", egovMessageSource.getMessage("success.common.update"));
|
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";
|
return "redirect:/web/member/pay/BillPub.do";
|
||||||
}
|
}
|
||||||
|
|||||||
@ -356,4 +356,17 @@ public class MjonReservMsgDAO extends EgovAbstractDAO {
|
|||||||
|
|
||||||
return update("MjonReservMsgDAO.updateReserveTimeBizMsgSeqListByMsgSeq", mjonResvMsgVO);
|
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;
|
int result = 0;
|
||||||
|
|
||||||
try {
|
try {
|
||||||
|
System.out.println("================= 예약 취소 처리 시작============================");
|
||||||
|
System.out.println("================= 메세지 그룹 아이디============================" + mjonResvMsgVO.getMsgGroupId());
|
||||||
|
|
||||||
|
|
||||||
String agentCode = mjonResvMsgVO.getAgentCode(); //전송사 코드번호
|
String agentCode = mjonResvMsgVO.getAgentCode(); //전송사 코드번호
|
||||||
String msgType = mjonResvMsgVO.getMsgType(); //문자 종류 - 4:단문, 6:장문
|
String msgType = mjonResvMsgVO.getMsgType(); //문자 종류 - 4:단문, 6:장문
|
||||||
@ -102,72 +105,58 @@ public class MjonReservMsgServiceImpl extends EgovAbstractServiceImpl implements
|
|||||||
|
|
||||||
mjonResvMsgVO.setUserDataList(userDataList);
|
mjonResvMsgVO.setUserDataList(userDataList);
|
||||||
|
|
||||||
int ihResult = 0;
|
//int ihResult = 0;
|
||||||
int imoResult = 0;
|
//int imoResult = 0;
|
||||||
int bizResult = 0;
|
int bizResult = 0;
|
||||||
int jjResult = 0;
|
int jjResult = 0;
|
||||||
int ivtResult = 0;
|
int ivtResult = 0;
|
||||||
int FHSmsResult = 0;
|
//int FHSmsResult = 0;
|
||||||
int FHMmsResult = 0;
|
//int FHMmsResult = 0;
|
||||||
int jjB01Result = 0;
|
int jjB01Result = 0;
|
||||||
int jjB02Result = 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);
|
bizResult = mjonReservMsgDAO.deleteBizMsgSeqListByMsgSeq(mjonResvMsgVO);
|
||||||
|
System.out.println("============================== 다우기술 예약 취소 건수 ::: "+bizResult);
|
||||||
|
|
||||||
//제이제이 예약취소 삭제
|
//제이제이 예약취소 삭제
|
||||||
jjResult = mjonReservMsgDAO.deleteJJMsgSeqListByMsgSeq(mjonResvMsgVO);
|
jjResult = mjonReservMsgDAO.deleteJJMsgSeqListByMsgSeq(mjonResvMsgVO);
|
||||||
|
System.out.println("============================== 제이제이 예약 취소 건수 ::: "+jjResult);
|
||||||
|
|
||||||
//인비토 예약취소 삭제
|
//인비토 예약취소 삭제
|
||||||
ivtResult = mjonReservMsgDAO.deleteIVTMsgSeqListByMsgSeq(mjonResvMsgVO);
|
ivtResult = mjonReservMsgDAO.deleteIVTMsgSeqListByMsgSeq(mjonResvMsgVO);
|
||||||
|
System.out.println("============================== 인비토 예약 취소 건수 ::: "+ivtResult);
|
||||||
|
|
||||||
//제이제이 B01 예약취소 삭제
|
//제이제이 B01 예약취소 삭제
|
||||||
jjB01Result = mjonReservMsgDAO.deleteJJB01MsgSeqListByMsgSeq(mjonResvMsgVO);
|
jjB01Result = mjonReservMsgDAO.deleteJJB01MsgSeqListByMsgSeq(mjonResvMsgVO);
|
||||||
|
System.out.println("============================== 제이제이 B01 예약 취소 건수 ::: "+jjB01Result);
|
||||||
|
|
||||||
//제이제이 B02 예약취소 삭제
|
//제이제이 B02 예약취소 삭제
|
||||||
jjB02Result = mjonReservMsgDAO.deleteJJB02MsgSeqListByMsgSeq(mjonResvMsgVO);
|
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) {
|
if(result > 0) {
|
||||||
|
|
||||||
|
System.out.println("========================예약취소 상태값 변경 및 환불 처리============================");
|
||||||
//mj_msg_data 테이블 예약 취소 값 수정
|
//mj_msg_data 테이블 예약 취소 값 수정
|
||||||
mjonReservMsgDAO.updateResvMsgCancelDataFlag(mjonResvMsgVO);
|
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 {
|
}else {
|
||||||
|
|
||||||
modelAndView.addObject("message", "예약 발송 처리가 실패 되었습니다.");
|
modelAndView.addObject("message", "예약 발송 취소 처리가 실패 되었습니다. 잠시 후 다시 시도해 주세요.");
|
||||||
modelAndView.addObject("result", "fail");
|
modelAndView.addObject("result", "fail");
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -37,7 +37,6 @@
|
|||||||
REGIDENT_NO2,
|
REGIDENT_NO2,
|
||||||
CANDIDATE_ADDR,
|
CANDIDATE_ADDR,
|
||||||
MANAGER_NM,
|
MANAGER_NM,
|
||||||
OFFICE,
|
|
||||||
PHONE_NO,
|
PHONE_NO,
|
||||||
EMAIL,
|
EMAIL,
|
||||||
EMAIL_DOMAIN,
|
EMAIL_DOMAIN,
|
||||||
@ -54,7 +53,6 @@
|
|||||||
#regidentNo2#,
|
#regidentNo2#,
|
||||||
#candidateAddr#,
|
#candidateAddr#,
|
||||||
#managerNm#,
|
#managerNm#,
|
||||||
#office#,
|
|
||||||
#phoneNo#,
|
#phoneNo#,
|
||||||
#email#,
|
#email#,
|
||||||
#emailDomain#,
|
#emailDomain#,
|
||||||
@ -75,7 +73,6 @@
|
|||||||
REGIDENT_NO2 = #regidentNo2#,
|
REGIDENT_NO2 = #regidentNo2#,
|
||||||
CANDIDATE_ADDR = #candidateAddr#,
|
CANDIDATE_ADDR = #candidateAddr#,
|
||||||
MANAGER_NM = #managerNm#,
|
MANAGER_NM = #managerNm#,
|
||||||
OFFICE = #office#,
|
|
||||||
PHONE_NO = #phoneNo#,
|
PHONE_NO = #phoneNo#,
|
||||||
EMAIL = #email#,
|
EMAIL = #email#,
|
||||||
EMAIL_DOMAIN = #emailDomain#,
|
EMAIL_DOMAIN = #emailDomain#,
|
||||||
@ -90,6 +87,19 @@
|
|||||||
WHERE MBER_ID = #mberId#
|
WHERE MBER_ID = #mberId#
|
||||||
</delete>
|
</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>
|
</sqlMap>
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -938,6 +938,27 @@
|
|||||||
|
|
||||||
</update>
|
</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>
|
</sqlMap>
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -2839,6 +2839,13 @@ function fn_candidateLoginChk(){
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function fn_mberDeptChk(){
|
||||||
|
|
||||||
|
alert("선거문자는 개인 회원만 이용 가능합니다.");
|
||||||
|
return false;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
function goToCustom(){
|
function goToCustom(){
|
||||||
var form = document.goToCustomForm;
|
var form = document.goToCustomForm;
|
||||||
@ -3254,11 +3261,9 @@ function getMjMsgSentListAll(pageNo) {
|
|||||||
<input type="hidden" id="dataType" name="dataType" value="Reg"/>
|
<input type="hidden" id="dataType" name="dataType" value="Reg"/>
|
||||||
|
|
||||||
<div class="layer_in">
|
<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">
|
<div class="candidate_table">
|
||||||
<p>후보자</p>
|
<p>후보자</p>
|
||||||
|
|
||||||
|
|
||||||
<table>
|
<table>
|
||||||
<caption>후보자 등록을 위한 성명, 주민등록번호, 주소를 입력하는 표</caption>
|
<caption>후보자 등록을 위한 성명, 주민등록번호, 주소를 입력하는 표</caption>
|
||||||
<colgroup>
|
<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">
|
<input type="text" id="managerNm" name="managerNm" value="<c:out value='${mjonCandidateVO.managerNm}'/>" placeholder="담당자 성명 입력" onfocus="this.placeholder=''" onblur="this.placeholder='담당자 성명 입력'" class="inputLight">
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<%-- <tr>
|
||||||
<th scope="row">직위</th>
|
<th scope="row">직위</th>
|
||||||
<td>
|
<td>
|
||||||
<label for="office" class="label"></label>
|
<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">
|
<input type="text" id="office" name="office" value="<c:out value='${mjonCandidateVO.office}'/>" placeholder="직위 입력" onfocus="this.placeholder=''" onblur="this.placeholder='직위 입력'" class="inputLight">
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr> --%>
|
||||||
<tr>
|
<tr>
|
||||||
<th scope="row">휴대폰</th>
|
<th scope="row">휴대폰</th>
|
||||||
<td>
|
<td>
|
||||||
@ -3828,6 +3833,9 @@ function getMjMsgSentListAll(pageNo) {
|
|||||||
<c:when test="${empty LoginVO}">
|
<c:when test="${empty LoginVO}">
|
||||||
<button type="button" class="btnType" onclick="javascript:fn_candidateLoginChk(); return false;"><i class="election_btn1"></i>후보자 등록</button>
|
<button type="button" class="btnType" onclick="javascript:fn_candidateLoginChk(); return false;"><i class="election_btn1"></i>후보자 등록</button>
|
||||||
</c:when>
|
</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>
|
<c:otherwise>
|
||||||
<button type="button" class="btnType" data-tooltip="candidate_popup01"><i class="election_btn1"></i>후보자 등록</button>
|
<button type="button" class="btnType" data-tooltip="candidate_popup01"><i class="election_btn1"></i>후보자 등록</button>
|
||||||
</c:otherwise>
|
</c:otherwise>
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user