package itn.let.uss.umt.web; import java.util.List; import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.ui.ModelMap; import org.springframework.web.bind.annotation.ModelAttribute; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.servlet.ModelAndView; import egovframework.rte.fdl.security.userdetails.util.EgovUserDetailsHelper; import egovframework.rte.ptl.mvc.tags.ui.pagination.PaginationInfo; import itn.com.cmm.ComDefaultCodeVO; import itn.com.cmm.LoginVO; import itn.com.cmm.service.EgovCmmUseService; import itn.com.utl.fcc.service.EgovStringUtil; import itn.let.mjo.msg.service.MjonMsgService; import itn.let.mjo.msg.service.MjonMsgVO; import itn.let.mjo.msgdata.service.MjonMsgDataService; import itn.let.mjo.msgdata.service.MjonMsgReturnVO; import itn.let.uss.umt.service.EgovMberCmpHstService; import itn.let.uss.umt.service.MberCmpHstVO; @Controller public class EgovMberCmpHstController { @Resource(name = "egovMberCmpHstService") private EgovMberCmpHstService egovMberCmpHstService; @Resource(name = "EgovCmmUseService") private EgovCmmUseService cmmUseService; @Resource(name = "MjonMsgDataService") private MjonMsgDataService mjonMsgDataService; @Resource(name = "mjonMsgService") private MjonMsgService mjonMsgService; /** * 기원회원 신청 목록 관리자페이지 * @param mberCmpHstVO * @param request * @param model * @return * @throws Exception */ @RequestMapping("/uss/umt/user/EgovMberCmpHstList.do") public String egovMberCmpHstList(@ModelAttribute("searchVO") MberCmpHstVO mberCmpHstVO, HttpServletRequest request , ModelMap model) throws Exception { LoginVO loginVO = (LoginVO) EgovUserDetailsHelper.getAuthenticatedUser(); String hstSttus = request.getParameter("hstSttus"); model.addAttribute("hstSttus", hstSttus); //기업유형 ComDefaultCodeVO voComCode = new ComDefaultCodeVO(); voComCode.setCodeId("ITN033"); model.addAttribute("bizTypeList", cmmUseService.selectCmmCodeDetail(voComCode)); // 유형 코드조회 voComCode.setCodeId("ITN048"); model.addAttribute("hstTypeList", cmmUseService.selectCmmCodeDetail(voComCode)); // 처리상태 코드조회 voComCode.setCodeId("ITN049"); model.addAttribute("hstSttusList", cmmUseService.selectCmmCodeDetail(voComCode)); if(mberCmpHstVO.getPageUnit() != 10) { mberCmpHstVO.setPageUnit(mberCmpHstVO.getPageUnit()); } /** paging */ PaginationInfo paginationInfo = new PaginationInfo(); paginationInfo.setCurrentPageNo(mberCmpHstVO.getPageIndex()); paginationInfo.setRecordCountPerPage(mberCmpHstVO.getPageUnit()); paginationInfo.setPageSize(mberCmpHstVO.getPageSize()); mberCmpHstVO.setFirstIndex(paginationInfo.getFirstRecordIndex()); mberCmpHstVO.setLastIndex(paginationInfo.getLastRecordIndex()); mberCmpHstVO.setRecordCountPerPage(paginationInfo.getRecordCountPerPage()); if("".equals(mberCmpHstVO.getSearchSortCnd())){ //최초조회시 최신것 조회List mberCmpHstVO.setSearchSortCnd("frstRegistPnttm"); mberCmpHstVO.setSearchSortOrd("desc"); } List mberCmpHstList = egovMberCmpHstService.selectMberCmpHstListByType(mberCmpHstVO); int totCnt = 0; if(mberCmpHstList.size() > 0) { totCnt = mberCmpHstList.get(0).getTotCnt(); } model.addAttribute("mberCmpHstList", mberCmpHstList); paginationInfo.setTotalRecordCount(totCnt); model.addAttribute("paginationInfo", paginationInfo); return "cmm/uss/umt/EgovMberCmpHstListByType"; } /** * 기원회원 신청 목록 전체 내역 팝업 * @param mberCmpHstVO * @param request * @param model * @return * @throws Exception */ @RequestMapping("/uss/umt/user/EgovMberCmpHstListPop.do") public String egovMberCmpHstListPop(@ModelAttribute("searchVO") MberCmpHstVO mberCmpHstVO, HttpServletRequest request , ModelMap model) throws Exception { LoginVO loginVO = (LoginVO) EgovUserDetailsHelper.getAuthenticatedUser(); //기업유형 ComDefaultCodeVO voComCode = new ComDefaultCodeVO(); voComCode.setCodeId("ITN033"); model.addAttribute("bizTypeList", cmmUseService.selectCmmCodeDetail(voComCode)); // 유형 코드조회 voComCode.setCodeId("ITN048"); model.addAttribute("hstTypeList", cmmUseService.selectCmmCodeDetail(voComCode)); // 처리상태 코드조회 voComCode.setCodeId("ITN049"); model.addAttribute("hstSttusList", cmmUseService.selectCmmCodeDetail(voComCode)); if(mberCmpHstVO.getPageUnit() != 10) { mberCmpHstVO.setPageUnit(mberCmpHstVO.getPageUnit()); } /** paging */ PaginationInfo paginationInfo = new PaginationInfo(); paginationInfo.setCurrentPageNo(mberCmpHstVO.getPageIndex()); paginationInfo.setRecordCountPerPage(mberCmpHstVO.getPageUnit()); paginationInfo.setPageSize(mberCmpHstVO.getPageSize()); mberCmpHstVO.setFirstIndex(paginationInfo.getFirstRecordIndex()); mberCmpHstVO.setLastIndex(paginationInfo.getLastRecordIndex()); mberCmpHstVO.setRecordCountPerPage(paginationInfo.getRecordCountPerPage()); if("".equals(mberCmpHstVO.getSearchSortCnd())){ //최초조회시 최신것 조회List mberCmpHstVO.setSearchSortCnd("cmphstId"); mberCmpHstVO.setSearchSortOrd("desc"); } List mberCmpHstList = egovMberCmpHstService.selectMberCmpHstList(mberCmpHstVO); int totCnt = 0; if(mberCmpHstList.size() > 0) { totCnt = mberCmpHstList.get(0).getTotCnt(); } model.addAttribute("mberCmpHstList", mberCmpHstList); paginationInfo.setTotalRecordCount(totCnt); model.addAttribute("paginationInfo", paginationInfo); return "cmm/uss/umt/EgovMberCmpHstList"; } /** * 기원회원 신청 목록 전체 내역 팝업 * @param mberCmpHstVO * @param request * @param model * @return * @throws Exception */ @RequestMapping("/uss/umt/user/EgovMberCmpHstTaxListPop.do") public String egovMberCmpHstTaxListPop(@ModelAttribute("searchVO") MberCmpHstVO mberCmpHstVO, HttpServletRequest request , ModelMap model) throws Exception { LoginVO loginVO = (LoginVO) EgovUserDetailsHelper.getAuthenticatedUser(); //기업유형 ComDefaultCodeVO voComCode = new ComDefaultCodeVO(); voComCode.setCodeId("ITN033"); model.addAttribute("bizTypeList", cmmUseService.selectCmmCodeDetail(voComCode)); // 유형 코드조회 voComCode.setCodeId("ITN048"); model.addAttribute("hstTypeList", cmmUseService.selectCmmCodeDetail(voComCode)); // 처리상태 코드조회 voComCode.setCodeId("ITN049"); model.addAttribute("hstSttusList", cmmUseService.selectCmmCodeDetail(voComCode)); if(mberCmpHstVO.getPageUnit() != 10) { mberCmpHstVO.setPageUnit(mberCmpHstVO.getPageUnit()); } /** paging */ PaginationInfo paginationInfo = new PaginationInfo(); paginationInfo.setCurrentPageNo(mberCmpHstVO.getPageIndex()); paginationInfo.setRecordCountPerPage(mberCmpHstVO.getPageUnit()); paginationInfo.setPageSize(mberCmpHstVO.getPageSize()); mberCmpHstVO.setFirstIndex(paginationInfo.getFirstRecordIndex()); mberCmpHstVO.setLastIndex(paginationInfo.getLastRecordIndex()); mberCmpHstVO.setRecordCountPerPage(paginationInfo.getRecordCountPerPage()); if("".equals(mberCmpHstVO.getSearchSortCnd())){ //최초조회시 최신것 조회List mberCmpHstVO.setSearchSortCnd("cmphstId"); mberCmpHstVO.setSearchSortOrd("desc"); } List mberCmpHstList = egovMberCmpHstService.selectMberCmpHstList(mberCmpHstVO); int totCnt = 0; if(mberCmpHstList.size() > 0) { totCnt = mberCmpHstList.get(0).getTotCnt(); } model.addAttribute("mberCmpHstList", mberCmpHstList); paginationInfo.setTotalRecordCount(totCnt); model.addAttribute("paginationInfo", paginationInfo); return "cmm/uss/umt/EgovMberCmpHstTaxList"; } /** * 기원회원 신청 반려 팝업 * @param mberCmpHstVO * @param request * @param model * @return * @throws Exception */ @RequestMapping("/uss/umt/user/EgovMberCmpHstReturnPop.do") public String selectedUserView(@ModelAttribute MberCmpHstVO mberCmpHstVO, HttpServletRequest request, Model model) throws Exception { mberCmpHstVO = egovMberCmpHstService.selectMberCmpHstDetail(mberCmpHstVO); model.addAttribute("mberCmpHstVO", mberCmpHstVO); return "cmm/uss/umt/EgovMberCmpHstReturnPop"; } /** * 기원회원 신청 상세 관리자페이지 * @param mberCmpHstVO * @param request * @param model * @return * @throws Exception */ @RequestMapping("/uss/umt/user/EgovMberCmpHstDetailAjax.do") public String egovMberCmpHstDetailAjax(@ModelAttribute("searchVO") MberCmpHstVO mberCmpHstVO, HttpServletRequest request , ModelMap model) throws Exception { if(mberCmpHstVO.getPageUnit() != 10) { mberCmpHstVO.setPageUnit(mberCmpHstVO.getPageUnit()); } mberCmpHstVO = egovMberCmpHstService.selectMberCmpHstDetail(mberCmpHstVO); model.addAttribute("mberCmpHstVO", mberCmpHstVO); return "cmm/uss/umt/EgovMberCmpHstDetail"; } /** * 기원회원 신청 승인 처리 * @param mberCmpHstVO * @param request * @param model * @return * @throws Exception */ @RequestMapping("/uss/umt/user/mberCmpHstStatusSaveAjax.do") public ModelAndView mberCmpHstStatusSaveAjax(@ModelAttribute("searchVO") MberCmpHstVO mberCmpHstVO ) throws Exception{ ModelAndView modelAndView = new ModelAndView(); modelAndView.setViewName("jsonView"); boolean isSuccess = true; boolean isDone = false; //이미 처리건인지 확인 값 int updtCnt = 0; String sttusMsg = ""; if("02".equals(mberCmpHstVO.getHstSttus())){ sttusMsg = "승인"; }else { sttusMsg = "반려"; } String msg = sttusMsg+" 처리되었습니다."; MberCmpHstVO statusChkVO = egovMberCmpHstService.selectMberCmpHstDetail(mberCmpHstVO); if(!"01".equals(statusChkVO.getHstSttus())) { isDone = true; if("02".equals(statusChkVO.getHstSttus())) { msg = "이미 승인했습니다."; }else if("03".equals(statusChkVO.getHstSttus())) { msg = "이미 반려했습니다."; } modelAndView.addObject("isSuccess", isSuccess); modelAndView.addObject("isDone", isDone); modelAndView.addObject("msg", msg); return modelAndView; } try { LoginVO loginVO = EgovUserDetailsHelper.isAuthenticated()? (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser():null; String userId = loginVO == null ? "" : EgovStringUtil.isNullToString(loginVO.getId()); if(userId.equals("")) { isSuccess = false; modelAndView.addObject("isSuccess", isSuccess); modelAndView.addObject("msg", "로그인 후 이용이 가능합니다."); return modelAndView; } mberCmpHstVO.setLastUpdusrId(userId); // 기업회원 신청 승인/반려 처리 updtCnt = egovMberCmpHstService.mberCmpHstStatusSaveAll(mberCmpHstVO); } catch(Exception e) { isSuccess = false; msg = "오류 : " + e.getMessage(); } System.out.println("############### 기업회원 승인 ###############"); System.out.println("updtCnt : " + updtCnt); System.out.println("mberCmpHstVO.getHstType() : " + mberCmpHstVO.getHstType()); //심사처리 완료 시 문자 발송 - 회원가입, 기업회원전환 안내만 발송되게 수정 220613 if(updtCnt == 1 && ("01".equals(mberCmpHstVO.getHstType()) || "02".equals(mberCmpHstVO.getHstType()))) { try { MjonMsgVO mjonMsgVO = new MjonMsgVO(); String type = ""; //유형 if("01".equals(mberCmpHstVO.getHstType())) { type = "기업회원 가입"; }else if("02".equals(mberCmpHstVO.getHstType())) { type = "기업회원 전환"; }else{ type = "기업정보 변경"; } String sttus = ""; if("02".equals(mberCmpHstVO.getHstSttus())) { sttus = "승인"; }else { sttus = "반려"; } /*String contents = "고객님께서 신청하신 문자온 " + type + "이 "+ sttus + " 처리되었습니다."; //반려 시 문자 내용 수정 220622 승인시 문구는 아직 미정 if("03".equals(mberCmpHstVO.getHstSttus())) { contents = "고객님께서 신청하신 문자온 " + type + "이 서류미비로 보류된 상태입니다. 로그인하신 후 필요서류 확인바랍니다."; }*/ String contents = ""; if("02".equals(mberCmpHstVO.getHstSttus())) { //승인 if("01".equals(mberCmpHstVO.getHstType())) { //회원가입 contents = "[문자온] 기업회원 가입 신청이 승인되었습니다."; }else if("02".equals(mberCmpHstVO.getHstType())) { //기업회원 전환 contents = "[문자온] 기업회원 전환이 승인되었습니다."; } }else { //반려 if("01".equals(mberCmpHstVO.getHstType())) { //회원가입 contents = mberCmpHstVO.getReturnCn(); }else if("02".equals(mberCmpHstVO.getHstType())) { //기업회원 전환 contents = mberCmpHstVO.getReturnCn(); } } mjonMsgVO.setSmsTxt(contents); //문자 내용 mjonMsgVO.setReserveYn("N");//에약문자 N mjonMsgVO.setCallFrom("01084329333");//발신번호 mjonMsgVO.setUserId("system"); //ID mjonMsgVO.setBefCash("0.0"); //관리자가 발송하는 것이라서 0원으로 입력 //문자열 길이 체크 후 단문 장문 설정 String charset = "euc-kr"; //문자 바이트 계산에 필요한 캐릭터 셋 : 한글 2Byte로 계산 String smsCont = contents; int FrBytes = smsCont.getBytes(charset).length; if(FrBytes > 90) { mjonMsgVO.setMsgType("6"); //장문 mjonMsgVO.setMsgDiv("L"); // 장문 }else { mjonMsgVO.setMsgType("4"); //단문 mjonMsgVO.setMsgDiv("S"); // 단문 } // 문자타입별 대표전송사 정보 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(mberManageVO.getMoblphonNo()); String[] phone = new String[1]; phone[0] = mberCmpHstVO.getMbtlNum(); mjonMsgVO.setCallToList(phone); //문자종류 관리자가 발송하는 것은 msgKind : S 로 셋팅 mjonMsgVO.setMsgKind("S"); mjonMsgVO.setFileCnt("0");//첨부이미지 갯수 if(mjonMsgVO.getAgentCode().equals("03")) { //아이엠오 전송사 문자 타입 설정해 주기 // 단순 장문 문자는 neoType : 2, 그림 포함 : 4 if(mjonMsgVO.getFileCnt().equals("0")) { // 단순 장문 문자 mjonMsgVO.setNeoType("2"); }else{ // 그림포함 문자인경우 mjonMsgVO.setNeoType("4"); } } //현재 고객의 보유 캐시가 문자 발송이 가능한 금액인지 체크 String userMoney = "0.0"; String userPoint = "0.0"; mjonMsgVO.setBefPoint(userPoint); //현재 보유 포인트 정보 저장 mjonMsgVO.setBefCash("0.0"); //관리자가 발송하는 것이라서 0원으로 입력 MjonMsgReturnVO returnVO = mjonMsgDataService.insertAdmToMberMsgDataInfo(mjonMsgVO); //실제 전송 //MjonMsgReturnVO returnVO = mjonMsgDataService.insertSysMsgDataInfo(mjonMsgVO); //실제 전송 /*// 시스템 발송 로그 - insertAdmToMberMsgDataInfo에서 처리 SendLogVO sendLogVO = new SendLogVO(); // SendType 1:문자로 발송 2:이메일로 발송 sendLogVO.setSendId(returnVO.getMsgGroupId()); sendLogVO.setSendType("1"); sendLogVO.setFrstSendInfo(mjonMsgVO.getCallFrom()); sendLogVO.setReceive(mjonMsgVO.getCallTo()); sendLogVO.setContents(contents); mjonMsgDataService.insertSysMsgLog(sendLogVO);*/ msg = msg += (System.lineSeparator()+"안내문자 발송 성공했습니다."); } catch(Exception e){ msg = msg += (System.lineSeparator() +"안내문자 발송 실패했습니다."); } } mberCmpHstVO.setMberId(""); //업데이트 처리 후 mberId 초기화 - 리스트 select 조건절에 mberId때문에 승인, 반려 처리 후 그 ID 목록만 조회되는 것 방지 modelAndView.addObject("isSuccess", isSuccess); modelAndView.addObject("msg", msg); if(updtCnt == 0) { modelAndView.addObject("msg", "업데이트 실패"); } return modelAndView; } /** * 반려 기업회원 삭제 처리 * @param mberCmpHstVO * @param request * @param model * @return * @throws Exception */ @RequestMapping("/uss/umt/user/mberCmpHstStatusDeleteAjax.do") public ModelAndView mberCmpHstStatusDeleteAjax( @ModelAttribute("searchVO") MberCmpHstVO mberCmpHstVO ) throws Exception{ ModelAndView modelAndView = new ModelAndView(); modelAndView.setViewName("jsonView"); boolean isSuccess = true; int delCnt = 0; String msg = "삭제 처리되었습니다."; //로그인 여부 확인 후 삭제 처리 try { //로그인 여부 확인 LoginVO loginVO = EgovUserDetailsHelper.isAuthenticated()? (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser():null; String userId = loginVO == null ? "" : EgovStringUtil.isNullToString(loginVO.getId()); if(userId.equals("")) { isSuccess = false; modelAndView.addObject("isSuccess", isSuccess); modelAndView.addObject("msg", "로그인 후 이용이 가능합니다."); return modelAndView; } //삭제 처리 delCnt = egovMberCmpHstService.mberCmpHstStatusDeleteAll(mberCmpHstVO); } catch(Exception e) { isSuccess = false; msg = "오류 : " + e.getMessage(); } mberCmpHstVO.setMberId(""); //업데이트 처리 후 mberId 초기화 - 리스트 select 조건절에 mberId때문에 승인, 반려 처리 후 그 ID 목록만 조회되는 것 방지 modelAndView.addObject("isSuccess", isSuccess); modelAndView.addObject("msg", msg); if(delCnt <= 0) { modelAndView.addObject("msg", "삭제 실패"); } return modelAndView; } /** * 기원회원 신청 일괄승인 처리 * @param mberCmpHstVO * @param request * @param model * @return * @throws Exception */ @RequestMapping("/uss/umt/user/mberCmpHstStatusYSaveAjax.do") public ModelAndView mberCmpHstStatusYSaveAjax(@RequestParam(value="cmphstIds[]") List cmphstIds ) throws Exception{ ModelAndView modelAndView = new ModelAndView(); modelAndView.setViewName("jsonView"); ModelMap model = new ModelMap(); boolean isSuccess = true; int updtCnt = 0; String msg = ""; MberCmpHstVO mberCmpHstVO = new MberCmpHstVO(); LoginVO loginVO = EgovUserDetailsHelper.isAuthenticated()? (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser():null; String userId = loginVO == null ? "" : EgovStringUtil.isNullToString(loginVO.getId()); if(userId.equals("")) { isSuccess = false; modelAndView.addObject("isSuccess", isSuccess); modelAndView.addObject("msg", "로그인 후 이용이 가능합니다."); return modelAndView; } //승인처리 시작 for(int i = 0; i < cmphstIds.size(); i++) { try { mberCmpHstVO.setCmphstId(cmphstIds.get(i)); mberCmpHstVO = egovMberCmpHstService.selectMberCmpHstDetail(mberCmpHstVO); mberCmpHstVO.setLastUpdusrId(userId); //승인처리 mberCmpHstVO.setHstSttus("02"); updtCnt = egovMberCmpHstService.mberCmpHstStatusSaveAll(mberCmpHstVO); msg += mberCmpHstVO.getMberId() +" 승인 완료 \n"; }catch(Exception e) { isSuccess = false; msg += mberCmpHstVO.getMberId() +" 오류 : " + e.getMessage()+"\n"; } //승인 처리 문자 발송 - 회원가입, 기업회원전환 안내만 발송되게 수정 220613 if(updtCnt == 1 && ("01".equals(mberCmpHstVO.getHstType()) || "02".equals(mberCmpHstVO.getHstType()))) { try { MjonMsgVO mjonMsgVO = new MjonMsgVO(); String type = ""; //유형 if("01".equals(mberCmpHstVO.getHstType())) { type = "기업회원 가입"; }else{ type = "기업회원 전환"; } String contents = ""; if("01".equals(mberCmpHstVO.getHstType())) { //회원가입 contents = "[문자온] 기업회원 가입 신청이 승인되었습니다."; }else if("02".equals(mberCmpHstVO.getHstType())) { //기업회원 전환 contents = "[문자온] 기업회원 전환이 승인되었습니다."; } mjonMsgVO.setSmsTxt(contents); //문자 내용 mjonMsgVO.setReserveYn("N");//에약문자 N mjonMsgVO.setCallFrom("01084329333");//발신번호 mjonMsgVO.setUserId("system"); //ID mjonMsgVO.setBefCash("0.0"); //관리자가 발송하는 것이라서 0원으로 입력 //문자열 길이 체크 후 단문 장문 설정 String charset = "euc-kr"; //문자 바이트 계산에 필요한 캐릭터 셋 : 한글 2Byte로 계산 String smsCont = contents; int FrBytes = smsCont.getBytes(charset).length; if(FrBytes > 90) { mjonMsgVO.setMsgType("6"); //장문 mjonMsgVO.setMsgDiv("L"); // 장문 }else { mjonMsgVO.setMsgType("4"); //단문 mjonMsgVO.setMsgDiv("S"); // 단문 } // 문자타입별 대표전송사 정보 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(mberManageVO.getMoblphonNo()); String[] phone = new String[1]; phone[0] = mberCmpHstVO.getMbtlNum(); mjonMsgVO.setCallToList(phone); //문자종류 관리자가 발송하는 것은 msgKind : S 로 셋팅 mjonMsgVO.setMsgKind("S"); mjonMsgVO.setFileCnt("0");//첨부이미지 갯수 if(mjonMsgVO.getAgentCode().equals("03")) { //아이엠오 전송사 문자 타입 설정해 주기 // 단순 장문 문자는 neoType : 2, 그림 포함 : 4 if(mjonMsgVO.getFileCnt().equals("0")) { // 단순 장문 문자 mjonMsgVO.setNeoType("2"); }else{ // 그림포함 문자인경우 mjonMsgVO.setNeoType("4"); } } //현재 고객의 보유 캐시가 문자 발송이 가능한 금액인지 체크 String userMoney = "0.0"; String userPoint = "0.0"; mjonMsgVO.setBefPoint(userPoint); //현재 보유 포인트 정보 저장 mjonMsgVO.setBefCash("0.0"); //관리자가 발송하는 것이라서 0원으로 입력 MjonMsgReturnVO returnVO = mjonMsgDataService.insertAdmToMberMsgDataInfo(mjonMsgVO); //실제 전송 /*msg = msg += (System.lineSeparator()+mberCmpHstVO.getMberId()+ "승인 완료");*/ } catch(Exception e){ msg = msg += (System.lineSeparator() +mberCmpHstVO.getMberId() + "에게 안내문자 발송 실패했습니다."); } } } mberCmpHstVO.setMberId(""); //업데이트 처리 후 mberId 초기화 - 리스트 select 조건절에 mberId때문에 승인, 반려 처리 후 그 ID 목록만 조회되는 것 방지 modelAndView.addObject("isSuccess", isSuccess); modelAndView.addObject("msg", msg); return modelAndView; } /** * 기원회원 신청 반려 처리 * @param mberCmpHstVO * @param request * @param model * @return * @throws Exception */ @RequestMapping("/uss/umt/user/mberCmpHstStatusReturnAjax.do") public ModelAndView mberCmpHstStatusReturnAjax(@ModelAttribute("searchVO") MberCmpHstVO mberCmpHstVO, ModelMap model) throws Exception{ ModelAndView modelAndView = new ModelAndView(); modelAndView.setViewName("jsonView"); boolean isSuccess = true; int updtCnt = 0; String sttusMsg = ""; String msg = "반려 처리되었습니다."; MberCmpHstVO statusChkVO = egovMberCmpHstService.selectMberCmpHstDetail(mberCmpHstVO); if(!"01".equals(statusChkVO.getHstSttus())) { if("02".equals(statusChkVO.getHstSttus())) { msg = "이미 승인했습니다."; }else if("03".equals(statusChkVO.getHstSttus())) { msg = "이미 반려했습니다."; } modelAndView.addObject("isSuccess", isSuccess); modelAndView.addObject("msg", msg); return modelAndView; } try { LoginVO loginVO = EgovUserDetailsHelper.isAuthenticated()? (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser():null; String userId = loginVO == null ? "" : EgovStringUtil.isNullToString(loginVO.getId()); if(userId.equals("")) { isSuccess = false; modelAndView.addObject("isSuccess", isSuccess); modelAndView.addObject("msg", "로그인 후 이용이 가능합니다."); return modelAndView; } mberCmpHstVO.setLastUpdusrId(userId); // 기업회원 신청 승인/반려 처리 updtCnt = egovMberCmpHstService.mberCmpHstStatusSaveAll(mberCmpHstVO); } catch(Exception e) { isSuccess = false; msg = "오류 : " + e.getMessage(); } System.out.println("############### 기업회원 반려 ###############"); System.out.println("updtCnt : " + updtCnt); System.out.println("mberCmpHstVO.getHstType() : " + mberCmpHstVO.getHstType()); //심사처리 완료 시 문자 발송 - 회원가입, 기업회원전환 안내만 발송되게 수정 220613 if(updtCnt == 1 && ("01".equals(mberCmpHstVO.getHstType()) || "02".equals(mberCmpHstVO.getHstType()))) { try { MjonMsgVO mjonMsgVO = new MjonMsgVO(); String type = ""; //유형 if("01".equals(mberCmpHstVO.getHstType())) { type = "기업회원 가입"; }else if("02".equals(mberCmpHstVO.getHstType())) { type = "기업회원 전환"; }else{ type = "기업정보 변경"; } String sttus = ""; if("02".equals(mberCmpHstVO.getHstSttus())) { sttus = "승인"; }else { sttus = "반려"; } /*String contents = "고객님께서 신청하신 문자온 " + type + "이 "+ sttus + " 처리되었습니다."; //반려 시 문자 내용 수정 220622 승인시 문구는 아직 미정 if("03".equals(mberCmpHstVO.getHstSttus())) { contents = "고객님께서 신청하신 문자온 " + type + "이 서류미비로 보류된 상태입니다. 로그인하신 후 필요서류 확인바랍니다."; }*/ String contents = ""; if("02".equals(mberCmpHstVO.getHstSttus())) { //승인 if("01".equals(mberCmpHstVO.getHstType())) { //회원가입 contents = "[문자온] 기업회원 가입 신청이 승인되었습니다."; }else if("02".equals(mberCmpHstVO.getHstType())) { //기업회원 전환 contents = "[문자온] 기업회원 전환이 승인되었습니다."; } }else { //반려 if("01".equals(mberCmpHstVO.getHstType())) { //회원가입 contents = mberCmpHstVO.getReturnCn(); }else if("02".equals(mberCmpHstVO.getHstType())) { //기업회원 전환 contents = mberCmpHstVO.getReturnCn(); } } mjonMsgVO.setSmsTxt(contents); //문자 내용 mjonMsgVO.setReserveYn("N");//에약문자 N mjonMsgVO.setCallFrom("01084329333");//발신번호 mjonMsgVO.setUserId("system"); //ID mjonMsgVO.setBefCash("0.0"); //관리자가 발송하는 것이라서 0원으로 입력 //문자열 길이 체크 후 단문 장문 설정 String charset = "euc-kr"; //문자 바이트 계산에 필요한 캐릭터 셋 : 한글 2Byte로 계산 String smsCont = contents; int FrBytes = smsCont.getBytes(charset).length; if(FrBytes > 90) { mjonMsgVO.setMsgType("6"); //장문 mjonMsgVO.setMsgDiv("L"); // 장문 }else { mjonMsgVO.setMsgType("4"); //단문 mjonMsgVO.setMsgDiv("S"); // 단문 } // 문자타입별 대표전송사 정보 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(mberManageVO.getMoblphonNo()); String[] phone = new String[1]; phone[0] = mberCmpHstVO.getMbtlNum(); mjonMsgVO.setCallToList(phone); //문자종류 관리자가 발송하는 것은 msgKind : S 로 셋팅 mjonMsgVO.setMsgKind("S"); mjonMsgVO.setFileCnt("0");//첨부이미지 갯수 if(mjonMsgVO.getAgentCode().equals("03")) { //아이엠오 전송사 문자 타입 설정해 주기 // 단순 장문 문자는 neoType : 2, 그림 포함 : 4 if(mjonMsgVO.getFileCnt().equals("0")) { // 단순 장문 문자 mjonMsgVO.setNeoType("2"); }else{ // 그림포함 문자인경우 mjonMsgVO.setNeoType("4"); } } //현재 고객의 보유 캐시가 문자 발송이 가능한 금액인지 체크 String userMoney = "0.0"; String userPoint = "0.0"; mjonMsgVO.setBefPoint(userPoint); //현재 보유 포인트 정보 저장 mjonMsgVO.setBefCash("0.0"); //관리자가 발송하는 것이라서 0원으로 입력 MjonMsgReturnVO returnVO = mjonMsgDataService.insertAdmToMberMsgDataInfo(mjonMsgVO); //실제 전송 //MjonMsgReturnVO returnVO = mjonMsgDataService.insertSysMsgDataInfo(mjonMsgVO); //실제 전송 /*// 시스템 발송 로그 - insertAdmToMberMsgDataInfo에서 처리 SendLogVO sendLogVO = new SendLogVO(); // SendType 1:문자로 발송 2:이메일로 발송 sendLogVO.setSendId(returnVO.getMsgGroupId()); sendLogVO.setSendType("1"); sendLogVO.setFrstSendInfo(mjonMsgVO.getCallFrom()); sendLogVO.setReceive(mjonMsgVO.getCallTo()); sendLogVO.setContents(contents); mjonMsgDataService.insertSysMsgLog(sendLogVO); */ msg = msg += (System.lineSeparator()+"안내문자 발송 성공했습니다."); } catch(Exception e){ msg = msg += (System.lineSeparator() +"안내문자 발송 실패했습니다."); } } mberCmpHstVO.setMberId(""); //업데이트 처리 후 mberId 초기화 - 리스트 select 조건절에 mberId때문에 승인, 반려 처리 후 그 ID 목록만 조회되는 것 방지 modelAndView.addObject("isSuccess", isSuccess); modelAndView.addObject("msg", msg); if(updtCnt == 0) { modelAndView.addObject("msg", "업데이트 실패"); } return modelAndView; } }