File name
Commit message
Commit date
File name
Commit message
Commit date
File name
Commit message
Commit date
File name
Commit message
Commit date
File name
Commit message
Commit date
File name
Commit message
Commit date
File name
Commit message
Commit date
File name
Commit message
Commit date
package itn.let.mjo.event.web;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.HandlerMapping;
import org.springframework.web.servlet.mvc.support.RedirectAttributes;
import egovframework.rte.fdl.security.userdetails.util.EgovUserDetailsHelper;
import egovframework.rte.ptl.mvc.tags.ui.pagination.PaginationInfo;
import itn.com.cmm.LoginVO;
import itn.com.cmm.util.StringUtil;
import itn.com.utl.fcc.service.EgovStringUtil;
import itn.let.cop.bbs.service.BoardVO;
import itn.let.mjo.event.service.MjonEventService;
import itn.let.mjo.event.service.MjonEventVO;
import itn.let.mjo.msgcampain.service.MjonCandidateService;
import itn.let.mjo.msgcampain.service.MjonCandidateVO;
import itn.let.mjo.pay.service.MjonPayService;
import itn.let.mjo.pay.service.MjonPayVO;
import itn.let.mjo.pay.service.MjonVaMsgLogVO;
import itn.let.mjo.payva.service.VacsVactService;
import itn.let.mjo.payva.service.VacsVactVO;
import itn.let.uss.umt.service.EgovMberManageService;
import itn.let.uss.umt.service.MberManageVO;
@Controller
public class MjonEventPayV2Controller {
@Resource(name = "MjonEventService")
private MjonEventService mjonEventService;
@Resource(name = "mberManageService")
private EgovMberManageService mberManageService;
@Resource(name = "mjonCandidateService")
private MjonCandidateService mjonCandidateService;
//전용계좌 서비스
@Resource(name = "vacsVactService")
private VacsVactService vacsVactService;
@Resource(name = "mjonPayService")
private MjonPayService mjonPayService;
/**
* 이벤트 결제하기 화면
* @param searchVO
* @param model
* @return "/web/event/member/pay/PayView.do"
* @throws Exception
*/
@RequestMapping(value= {"/web/event/member/pay/PayView.do"})
public String PayViewV2(@ModelAttribute("mjonPayVO") MjonPayVO mjonPayVO,
HttpServletRequest request, RedirectAttributes redirectAttributes,
ModelMap model) throws Exception{
String pattern = (String) request.getAttribute(
HandlerMapping.BEST_MATCHING_PATTERN_ATTRIBUTE) ;
//로그인 정보 획득
// LoginVO loginVO = (LoginVO) EgovUserDetailsHelper.getAuthenticatedUser();
LoginVO loginVO = EgovUserDetailsHelper.isAuthenticated()? (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser():null;
String userId = loginVO == null ? "" : EgovStringUtil.isNullToString(loginVO.getId());
if(loginVO == null) {
//redirectAttributes.addFlashAttribute("message", "문자온 서비스는 로그인 후 이용 가능합니다.");
return "redirect:/web/user/login/login.do";
}
// 하드코딩
//if(!userId.equals("nobledeco")) {
// if(!userId.equals("nobledeco2")) {
// if(!userId.equals("nopay")) {
// return "redirect:/web/main/mainPage.do";
// }
// }
//}
//기존 결제 내역이 있는 회원인지 확인
int payCnt = 0;
if(StringUtil.isNotEmpty(userId)) {
//결제내역 카운트 조회
payCnt = mjonPayService.selectMemerPayCount(userId);
if(payCnt > 0) {
redirectAttributes.addFlashAttribute("message", "고객님께서는 첫결제 이벤트 대상이 아닙니다.");
return "redirect:/web/main/mainPage.do";
}else {
String bbsId = "BBSMSTR_000000000731"; //이벤트 게시판 번호
String nttSj = "[첫결제 이벤트] 첫 결제 시, 누구나 조건 없이 인생 최저가!";
BoardVO resultEvent = selectEventBoardInfo(bbsId, nttSj);
if(resultEvent != null) {//진행중 이벤트 이면 이벤트 게시글 번호 셋팅
// Step 0. B선 전송사 이용고객 => 이벤트대상 제외처리
MberManageVO mberManageVO = new MberManageVO();
mberManageVO.setMberId(userId);
String blineCode = mberManageService.selectBlineCodeByMberId(mberManageVO);
if (blineCode != null && blineCode.equals("N")) {
//이벤트 회원 정보 조회
MjonEventVO mjonEventVO = new MjonEventVO();
MjonEventVO eventMberInfo = selectEventMsgMberDefaultInfo(mjonEventVO, resultEvent.getNttId(), bbsId, loginVO.getId(), loginVO.getName());
int resultCnt = 0;
if(eventMberInfo == null) {//등록된 회원정보가 없으면 정보 입력
mjonEventVO.setEventStatus("N");
resultCnt = mjonEventService.insertEventMsgMberDefaultInfo(mjonEventVO);
}else {//등록된 회원정보가 있으면 화면 이동 및 메세지 처리
String status = eventMberInfo.getEventStatus();
if(status.equals("Y")) {//이벤트가 진행중인 경우
redirectAttributes.addFlashAttribute("message", "현재 첫 결제 이벤트를 진행중입니다.");
return "redirect:/web/main/mainPage.do";
}else if(status.equals("E")) {//이벤트가 종료된 경우
redirectAttributes.addFlashAttribute("message", "현재 첫 결제 이벤트를 완료 하였습니다.");
return "redirect:/web/main/mainPage.do";
}
}
}
else {
redirectAttributes.addFlashAttribute("message", "이벤트 대상자가 아닙니다.");
return "redirect:/web/main/mainPage.do";
}
}else {//이벤트 게시글 정보가 없으면 0으로 셋팅.
redirectAttributes.addFlashAttribute("message", "첫 결제 이벤트는 종료 되었습니다.");
return "redirect:/web/main/mainPage.do";
}
}
}
MberManageVO mberManageVO = mberManageService.selectMber(loginVO.getId());
model.addAttribute("mberManageVO", mberManageVO);
MjonCandidateVO mjonCandidateVO = new MjonCandidateVO();
if(userId != "") {
mjonCandidateVO = mjonCandidateService.selectCandidateDataInfo(userId);
model.addAttribute("mjonCandidateVO",mjonCandidateVO);
}
mjonPayVO.setReturnURL(request.getRequestURL().toString().split("pay")[0] + "nicepay/payResultAjax.do") ;
/** pageing */
PaginationInfo paginationInfo = new PaginationInfo();
paginationInfo.setCurrentPageNo(mjonPayVO.getPageIndex());
paginationInfo.setRecordCountPerPage(mjonPayVO.getPageUnit());
paginationInfo.setPageSize(mjonPayVO.getPageSize());
mjonPayVO.setFirstIndex(paginationInfo.getFirstRecordIndex());
mjonPayVO.setLastIndex(paginationInfo.getLastRecordIndex());
mjonPayVO.setRecordCountPerPage(paginationInfo.getRecordCountPerPage());
if("".equals(mjonPayVO.getSearchSortCnd())){ //최초조회시 최신것 조회List
mjonPayVO.setSearchSortCnd("moid");
mjonPayVO.setSearchSortOrd("desc");
}
mjonPayVO.setUserId(loginVO.getId());
/*List<MjonPayVO> resultList = mjonPayService.selectPayList(mjonPayVO);*/
/*model.addAttribute("resultList", resultList);
paginationInfo.setTotalRecordCount(resultList.size() > 0 ? ((MjonPayVO)resultList.get(0)).getTotCnt() : 0);*/
/*model.addAttribute("paginationInfo", paginationInfo);*/
//대상 리스트 가져오기
VacsVactVO vacsVactVO = new VacsVactVO();
vacsVactVO.setMberId(loginVO.getId());
//List<?> bankList = vacsVactService.selectBankAcctList(tempVO); //할당 가능한 계좌 수량 리스트 받아오기
List<?> bankList = vacsVactService.selectBankAcctAllList(vacsVactVO); //할당 가능한 계좌 수량 리스트 받아오기
List<?> myBankList = vacsVactService.selectMyBankAcctList(vacsVactVO); //내가 할당받은 전용계좌 리스트 받아오기
MjonVaMsgLogVO vaMsgLogVO = new MjonVaMsgLogVO();
vaMsgLogVO.setMberId(loginVO.getId());
Date now = new Date();
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
String date = sdf.format(now);
vaMsgLogVO.setSendDate(date);
MjonVaMsgLogVO resultMsgInfo = mjonPayService.selectMyAcctSendCnt(vaMsgLogVO);
//대상 리스트, 페이징 정보 전달
model.addAttribute("resultList", bankList);
model.addAttribute("resultMyList", myBankList);
model.addAttribute("resultMsgInfo", resultMsgInfo);
model.addAttribute("mjonPayVO", mjonPayVO);
// 탭이동
String tabType = "1";
if(request.getParameter("tabType") != null) {
tabType = request.getParameter("tabType");
}
model.addAttribute("tabType", tabType);
return "/web/event/pay/EventPayView";
}
//이벤트 게시글 정보 불러오기 함수
public BoardVO selectEventBoardInfo(String bbsId, String nttSj) throws Exception{
BoardVO boardVO = new BoardVO();
boardVO.setBbsId(bbsId);
boardVO.setNttSj(nttSj);
BoardVO resultEvent = mjonEventService.selectEventInfoByNttSj(boardVO);
return resultEvent;
}
//이벤트 회원 정보 불러오기 함수
public MjonEventVO selectEventMsgMberDefaultInfo(MjonEventVO mjonEventVO, float nttId, String bbsId, String mberId, String mberNm) throws Exception{
mjonEventVO.setEventNttId(Float.toString(nttId));
mjonEventVO.setEventBbsId(bbsId);
mjonEventVO.setMberId(mberId);
mjonEventVO.setMberNm(mberNm);
mjonEventVO.setEventShortPrice("7.5");
mjonEventVO.setEventLongPrice("32");
mjonEventVO.setEventPicturePrice("59");
mjonEventVO.setEventPicture2Price("67");
mjonEventVO.setEventPicture3Price("70");
//이벤트 회원정보 존재여부 확인 및 회원 정보 불러오기
MjonEventVO eventMberInfo = mjonEventService.selectEventMsgMberDefaultInfo(mjonEventVO);
return eventMberInfo;
}
}