File name
Commit message
Commit date
File name
Commit message
Commit date
2024-09-12
File name
Commit message
Commit date
File name
Commit message
Commit date
2024-08-23
File name
Commit message
Commit date
2024-09-12
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();
}
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("15518011");//발신번호
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("15518011");//발신번호
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("15518011");//발신번호
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;
}
}