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.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<MberCmpHstVO> 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<MberCmpHstVO> 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<MberCmpHstVO> 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();
}
//심사처리 완료 시 문자 발송 - 회원가입, 기업회원전환 안내만 발송되게 수정 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<String> 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();
}
//심사처리 완료 시 문자 발송 - 회원가입, 기업회원전환 안내만 발송되게 수정 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;
}
}