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.ModelAndView;
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 MjonEventController {
@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;
@RequestMapping("/web/event/selectEventPopAjax.do")
public String selectEventPopAjas(MjonEventVO mjonEventVO, ModelMap model ) throws Exception{
try {
//로그인 권한정보 불러오기
LoginVO loginVO = EgovUserDetailsHelper.isAuthenticated()? (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser():null;
model.addAttribute("loginVO", loginVO);
if(loginVO != null) {
System.out.println("+++++++++++++++++++++++ mberId ::: "+loginVO.getId());
}
String nttSj = "[첫결제 이벤트] 첫 결제 시, 누구나 조건 없이 인생 최저가!";
BoardVO boardVO = new BoardVO();
boardVO.setBbsId("BBSMSTR_000000000731");
boardVO.setNttSj(nttSj);
BoardVO resultEvent = mjonEventService.selectEventInfoByNttSj(boardVO);
model.addAttribute("resultEvent", resultEvent);
} catch (Exception e) {
throw new Exception(e);
}
return "web/event/eventMsgFrstPop";
}
/**
* 이벤트 회원 정보 테이블에 기본 정보 입력해 주기.
* 회원아이디, 회원이름, 이벤트 게시판 번호, 이벤트 게시글 번호, 회원 단가 정보, 이벤트 수신동의, 이벤트 유효 상태값(미진행 : N 으로 셋팅)
*
* */
@RequestMapping("/web/event/insertEventDefaultMberInfoAjax.do")
public ModelAndView insertEventDefaultMberInfoAjax(MjonEventVO mjonEventVO) throws Exception{
ModelAndView modelAndView = new ModelAndView();
modelAndView.setViewName("jsonView");
//로그인 권한정보 불러오기
LoginVO loginVO = EgovUserDetailsHelper.isAuthenticated()? (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser():null;
if(loginVO == null) {
modelAndView.addObject("resultSts", "loginFail");
return modelAndView;
}else {
/**
* 이벤트 컨텐츠 정보 불러오기
* 이벤트 게시글 제목 및 카테고리로 검색해서 불러온다.
*
* */
float nttId = 0;
String bbsId = "BBSMSTR_000000000731"; //이벤트 게시판 번호
String nttSj = "[첫결제 이벤트] 첫 결제 시, 누구나 조건 없이 인생 최저가!";
BoardVO resultEvent = selectEventBoardInfo(bbsId, nttSj);
if(resultEvent != null) {//이벤트 게시판의 이벤트 게시글 번호 셋팅
mjonEventVO.setEventNttId(Float.toString(resultEvent.getNttId()));
}else {//이벤트 게시글 정보가 없으면 0으로 셋팅.
modelAndView.addObject("resultSts", "eventEnded");
return modelAndView;
}
// Step 0. B선 전송사 이용고객 => 이벤트대상 제외처리
MberManageVO mberManageVO = new MberManageVO();
mberManageVO.setMberId(loginVO.getId());
String blineCode = mberManageService.selectBlineCodeByMberId(mberManageVO);
if (blineCode != null && blineCode.equals("N")) {
//이벤트 회원 정보 조회
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")) {//이벤트가 진행중인 경우
modelAndView.addObject("resultSts", "eventJoined");
}else if(status.equals("E")) {//이벤트가 종료된 경우
modelAndView.addObject("resultSts", "eventEnded");
}else {//이벤트 미진행인 경우 성공으로 결제페이지로 이동되도록 한다.
modelAndView.addObject("resultSts", "success");
}
return modelAndView;
}
}
else {
modelAndView.addObject("resultSts", "eventBline");
return modelAndView;
}
modelAndView.addObject("resultSts", "success");
}
return modelAndView;
}
/**
* 이벤트 회원 정보 테이블에 기본 정보 입력해 주기.
* 회원아이디, 회원이름, 이벤트 게시판 번호, 이벤트 게시글 번호, 회원 단가 정보, 이벤트 수신동의, 이벤트 유효 상태값(미진행 : N 으로 셋팅)
*
* */
@RequestMapping("/web/event/updateEventPolicyMberInfoAjax.do")
public ModelAndView updateEventPolicyMberInfoAjax(MjonEventVO mjonEventVO) throws Exception{
ModelAndView modelAndView = new ModelAndView();
modelAndView.setViewName("jsonView");
//로그인 권한정보 불러오기
LoginVO loginVO = EgovUserDetailsHelper.isAuthenticated()? (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser():null;
if(loginVO == null) {
modelAndView.addObject("message", "문자온 서비스는 로그인 후 이용 가능합니다.");
modelAndView.addObject("resultSts", "loginFail");
return modelAndView;
}else {
mjonEventVO.setMberId(loginVO.getId());
mjonEventVO.setMberNm(loginVO.getName());
//이벤트 회원정보 존재여부 확인 및 회원 정보 불러오기
MjonEventVO eventMberInfo = mjonEventService.selectEventMsgMberDefaultInfo(mjonEventVO);
int resultCnt = 0;
if(eventMberInfo == null) {//등록된 회원정보가 없으면 오류 발생
//mjonEventVO.setEventStatus("N");
//resultCnt = mjonEventService.insertEventMsgMberDefaultInfo(mjonEventVO);
modelAndView.addObject("message", "이벤트 회원 정보가 없습니다.");
modelAndView.addObject("resultSts", "emptyMber");
return modelAndView;
}else if(!eventMberInfo.getEventStatus().equals("N")){//이벤트가 진행중이거나, 종료된 회원인 경우
modelAndView.addObject("message", "현재 이벤트를 진행 중이시거나 완료하신 회원입니다.");
modelAndView.addObject("resultSts", "statusFail");
return modelAndView;
}else {//등록된 회원정보가 있으면 유의사항 및 문자 수신 동의 정보 업데이트 처리
resultCnt = mjonEventService.updateEventPolicyMberInfo(mjonEventVO);
if(resultCnt > 0) {//수정이 정상적으로 된 경우
modelAndView.addObject("resultSts", "success");
}else {//이벤트 미진행인 경우 성공으로 결제페이지로 이동되도록 한다.
modelAndView.addObject("resultSts", "updateFail");
}
return modelAndView;
}
}
}
/**
* 이벤트 결제하기 화면
* @param searchVO
* @param model
* @return "/web/pay/PayView.do"
* @throws Exception
*/
@RequestMapping(value= {"/web/event/member/pay/PayView_OLD.do"})
public String PayView(@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";
}
//기존 결제 내역이 있는 회원인지 확인
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_OLD";
}
//이벤트 게시글 정보 불러오기 함수
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;
}
}