package itn.let.cert.phone.web; import java.time.LocalDateTime; import java.util.HashMap; import java.util.Map; import javax.annotation.Resource; import org.apache.commons.lang3.StringUtils; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.servlet.ModelAndView; import egovframework.rte.fdl.security.userdetails.util.EgovUserDetailsHelper; import itn.com.cmm.LoginVO; import itn.com.utl.fcc.service.EgovStringUtil; import itn.let.cert.phone.service.CertPhoneService; import itn.let.cert.phone.service.MberCertPhoneVO; import itn.let.mail.service.StatusResponse; import itn.let.mjo.msg.service.MjonMsgVO; import itn.let.mjo.msgdata.service.MjonMsgDataService; import itn.let.mjo.msgdata.service.MjonMsgReturnVO; import itn.let.uat.uia.web.SendLogVO; /** * * @author : 이호영 * @fileName : CertIpController.java * @date : 2024.11.19 * @description : 허용 IP 관련 컨트롤러 * =========================================================== * DATE AUTHOR NOTE * ----------------------------------------------------------- * * 2024.11.19 이호영 최초 생성 * * * */ @Controller public class CertPhoneController { /* certPhoneService */ @Resource(name = "CertPhoneService") private CertPhoneService certPhoneService; @Resource(name = "MjonMsgDataService") private MjonMsgDataService mjonMsgDataService; @RequestMapping(value = {"/cert/phone/selectMberCertPhoneList"}) public ResponseEntity selectMberCertPhoneList(MberCertPhoneVO mberCertPhoneVO) throws Exception { ModelAndView modelAndView = new ModelAndView(); modelAndView.setViewName("jsonView"); //로그인 권한정보 불러오기 LoginVO loginVO = EgovUserDetailsHelper.isAuthenticated()? (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser():null; String userId = loginVO == null ? "" : EgovStringUtil.isNullToString(loginVO.getId()); if(userId == null) { if(StringUtils.isEmpty(userId)) return ResponseEntity.ok().body(new StatusResponse(HttpStatus.BAD_REQUEST, "로그인 후 이용해 주세요", LocalDateTime.now())); } mberCertPhoneVO.setMberId(userId); return ResponseEntity.ok().body(certPhoneService.selectMberCertPhoneListWhereUserId(userId)); } @RequestMapping(value = {"/cert/phone/findByCertPhoneInfo.do"}) public ResponseEntity findByCertPhoneInfo(MberCertPhoneVO mberCertPhoneVO) throws Exception { ModelAndView modelAndView = new ModelAndView(); modelAndView.setViewName("jsonView"); //로그인 권한정보 불러오기 LoginVO loginVO = EgovUserDetailsHelper.isAuthenticated()? (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser():null; String userId = loginVO == null ? "" : EgovStringUtil.isNullToString(loginVO.getId()); if(userId == null) { if(StringUtils.isEmpty(userId)) return ResponseEntity.ok().body(new StatusResponse(HttpStatus.BAD_REQUEST, "로그인 후 이용해 주세요", LocalDateTime.now())); } return ResponseEntity.ok().body(certPhoneService.findByCertPhoneInfo(mberCertPhoneVO)); } @RequestMapping(value = {"/cert/phone/insertCertPhone.do"}) public ResponseEntity insertCertPhone(MberCertPhoneVO mberCertPhoneVO) throws Exception { ModelAndView modelAndView = new ModelAndView(); modelAndView.setViewName("jsonView"); System.out.println(" :: insertCertPhone :: "); //로그인 권한정보 불러오기 LoginVO loginVO = EgovUserDetailsHelper.isAuthenticated()? (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser():null; String userId = loginVO == null ? "" : EgovStringUtil.isNullToString(loginVO.getId()); if(userId == null) { if(StringUtils.isEmpty(userId)) return ResponseEntity.ok().body(new StatusResponse(HttpStatus.BAD_REQUEST, "로그인 후 이용해 주세요", LocalDateTime.now())); } mberCertPhoneVO.setFrstRegisterId(userId); mberCertPhoneVO.setMberId(userId); return ResponseEntity.ok().body(certPhoneService.insertCertPhone(mberCertPhoneVO, loginVO.getMoblphonNo())); } @RequestMapping(value = {"/cert/phone/updateCertPhone.do"}) public ResponseEntity updateCertPhone(MberCertPhoneVO mberCertPhoneVO) throws Exception { ModelAndView modelAndView = new ModelAndView(); modelAndView.setViewName("jsonView"); //로그인 권한정보 불러오기 LoginVO loginVO = EgovUserDetailsHelper.isAuthenticated()? (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser():null; String userId = loginVO == null ? "" : EgovStringUtil.isNullToString(loginVO.getId()); if(userId == null) { if(StringUtils.isEmpty(userId)) return ResponseEntity.ok().body(new StatusResponse(HttpStatus.BAD_REQUEST, "로그인 후 이용해 주세요", LocalDateTime.now())); } mberCertPhoneVO.setFrstRegisterId(userId); mberCertPhoneVO.setMberId(userId); return ResponseEntity.ok().body(certPhoneService.updateMberCertPhone(mberCertPhoneVO)); } @RequestMapping(value = {"/cert/phone/deleteCertPhone.do"}) public ResponseEntity deleteCertPhone(MberCertPhoneVO mberCertPhoneVO) throws Exception { ModelAndView modelAndView = new ModelAndView(); modelAndView.setViewName("jsonView"); //로그인 권한정보 불러오기 LoginVO loginVO = EgovUserDetailsHelper.isAuthenticated()? (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser():null; String userId = loginVO == null ? "" : EgovStringUtil.isNullToString(loginVO.getId()); if(userId == null) { if(StringUtils.isEmpty(userId)) return ResponseEntity.ok().body(new StatusResponse(HttpStatus.BAD_REQUEST, "로그인 후 이용해 주세요", LocalDateTime.now())); } mberCertPhoneVO.setLastUpdusrId(userId); mberCertPhoneVO.setMberId(userId); return ResponseEntity.ok().body(certPhoneService.deleteCertPhone(mberCertPhoneVO)); } @RequestMapping(value = {"/cert/phone/sendSysMsgDataAjax.do"}) public ResponseEntity sendSysMsgDataAjax(MberCertPhoneVO mberCertPhoneVO) throws Exception { //로그인 권한정보 불러오기 LoginVO loginVO = EgovUserDetailsHelper.isAuthenticated()? (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser():null; String userId = loginVO == null ? "" : EgovStringUtil.isNullToString(loginVO.getId()); if(userId == null) { if(StringUtils.isEmpty(userId)) return ResponseEntity.ok().body(new StatusResponse(HttpStatus.BAD_REQUEST, "로그인 후 이용해 주세요", LocalDateTime.now())); } mberCertPhoneVO.setMberId(userId); // 번호 중복 확인 MberCertPhoneVO mberCertIpListVO = (MberCertPhoneVO) certPhoneService.findByCertPhoneInfo(mberCertPhoneVO).getObject(); if(mberCertIpListVO != null || loginVO.getMoblphonNo().equals(mberCertPhoneVO.getMbtlnum()) ) { return ResponseEntity.ok().body(new StatusResponse(HttpStatus.CONFLICT, "등록된 번호입니다.", LocalDateTime.now())); } MjonMsgVO mjonMsgVO = new MjonMsgVO(); mjonMsgVO.setCallTo(mberCertPhoneVO.getMbtlnum()); MjonMsgReturnVO returnVO = mjonMsgDataService.sendSysMsgData(mjonMsgVO); String resultSts = returnVO.getSendMsgCnt(); String resultBlockSts = returnVO.getSendMsgBlockCnt(); String msg= ""; Map returnMap = new HashMap<>(); HttpStatus httpStatus = null; if (!resultSts.equals("0")) { httpStatus = HttpStatus.OK; returnMap.put("msg", "문자 전송이 완료되었습니다."); returnMap.put("resultSts", resultSts); returnMap.put("resultBlockSts", resultBlockSts); } else { httpStatus = HttpStatus.BAD_REQUEST; returnMap.put("msg", "문자 전송에 오류가 발생하였습니다."); returnMap.put("resultSts", "0"); returnMap.put("resultBlockSts", "0"); } return ResponseEntity.ok().body(new StatusResponse(httpStatus, returnMap, LocalDateTime.now())); } @RequestMapping(value = {"/cert/phone/selectSysMsgLogCheck.do"}) public ResponseEntity selectSysMsgLogCheck(MberCertPhoneVO mberCertPhoneVO) throws Exception { //로그인 권한정보 불러오기 LoginVO loginVO = EgovUserDetailsHelper.isAuthenticated()? (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser():null; String userId = loginVO == null ? "" : EgovStringUtil.isNullToString(loginVO.getId()); if(userId == null) { if(StringUtils.isEmpty(userId)) return ResponseEntity.ok().body(new StatusResponse(HttpStatus.BAD_REQUEST, "로그인 후 이용해 주세요", LocalDateTime.now())); } mberCertPhoneVO.setMberId(userId); // return ResponseEntity.ok().body(certPhoneService.selectSysMsgLogCheck(mberCertPhoneVO)); } }