diff --git a/src/main/java/kcc/ve/aplct/sspnIdtmt/service/impl/SspnIdtmtServiceImpl.java b/src/main/java/kcc/ve/aplct/sspnIdtmt/service/impl/SspnIdtmtServiceImpl.java index f7fafa86..d278539c 100644 --- a/src/main/java/kcc/ve/aplct/sspnIdtmt/service/impl/SspnIdtmtServiceImpl.java +++ b/src/main/java/kcc/ve/aplct/sspnIdtmt/service/impl/SspnIdtmtServiceImpl.java @@ -1,16 +1,26 @@ package kcc.ve.aplct.sspnIdtmt.service.impl; import java.util.List; +import java.util.Map; import javax.annotation.Resource; +import org.apache.commons.lang.RandomStringUtils; import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Service; import org.springframework.web.servlet.ModelAndView; +import egovframework.rte.fdl.idgnr.EgovIdGnrService; +import kcc.com.cmm.LoginVO; +import kcc.com.utl.user.service.CheckLoginUtil; +import kcc.let.utl.fcc.service.EgovCryptoUtil; import kcc.ve.aplct.sspnIdtmt.service.SspnIdtmtService; +import kcc.ve.cmm.VeSendSMS; +import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduAplctSndHstryService; import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduAplctVO; import kcc.ve.instr.tngrVisitEdu.eduInfo.service.impl.VEEduAplctDAO; +import kcc.ve.instr.tngrVisitEdu.instrInfo.service.VEInstrDetailVO; +import kcc.ve.instr.tngrVisitEdu.instrInfo.service.VEInstrMixService; import kcc.ve.oprtn.cndtnSspnIdtmt.trgtMng.service.CndtnTrgtMngVO; import kcc.ve.oprtn.cndtnSspnIdtmt.trgtMng.service.impl.CndtnTrgtMngDAO; @@ -26,6 +36,25 @@ public class SspnIdtmtServiceImpl implements SspnIdtmtService { @Resource(name="cndtnTrgtInfoMngDAO") private CndtnTrgtMngDAO cndtnTrgtInfoMngDAO; + //snd_hstry id gen + @Resource(name = "sndGnrService") + private EgovIdGnrService sndGnrService; + + //로그인 체크 util + @Resource(name = "checkLoginUtil") + private CheckLoginUtil checkLoginUtil; + + //암복호화 유틸 + @Resource(name = "egovCryptoUtil") + EgovCryptoUtil egovCryptoUtil; + + //강사 정보 MIX + @Resource(name="vEInstrMixService") + private VEInstrMixService vEInstrMixService; + + // 교육신청발송이력 + @Resource(name = "vEEduAplctSndHstryService") + private VEEduAplctSndHstryService vEEduAplctSndHstryService; @Override public void insertVeEduAplct(VEEduAplctVO paramVO) { @@ -107,6 +136,7 @@ public class SspnIdtmtServiceImpl implements SspnIdtmtService { String msg=""; String id=""; String next=""; //? + String smsYn = ""; //휴대폰 인증 번호 발송 여부 try { result=""; // @@ -176,6 +206,7 @@ public class SspnIdtmtServiceImpl implements SspnIdtmtService { msg = ""; id = cndtnTrgtMngVOList.get(0).getSspnIdtmtTrgtOrd(); next = "Y"; + smsYn = "Y"; //next = Integer.toString(cndtnTrgtMngVOList.size()); //대상자 수 }else if (cndtnTrgtMngVOList.size()>1) { //대상 리스트 던질것 @@ -184,6 +215,7 @@ public class SspnIdtmtServiceImpl implements SspnIdtmtService { msg = ""; id = ""; //여기에 대상 선택을 위한 데이터를 넣어준다. next = "N"; + smsYn = "Y"; modelAndView.addObject("cndtnTrgtMngVOList", cndtnTrgtMngVOList); //cndtnTrgtMngVOList.get(0).getreg @@ -191,6 +223,43 @@ public class SspnIdtmtServiceImpl implements SspnIdtmtService { } + //핸드폰으로 인증번호 발송 + if ("Y".equals(smsYn)) { + //인증번호 생성 + String code = RandomStringUtils.randomNumeric(6); + VEEduAplctVO vEEduAplctVO = new VEEduAplctVO(); + VeSendSMS sendSMS = new VeSendSMS(); + cndtnTrgtInfoMngVO = egovCryptoUtil.decryptCndtnTrgtMngVOInfo(cndtnTrgtInfoMngVO); //핸드폰번호 복호화 + vEEduAplctVO.setEduAplctOrd("기소유예 대상자 인증"); + vEEduAplctVO.setSndCn("안녕하세요. 저작권배움터 기소유예 담당자입니다.\n인증번호는 " + code + " 입니다."); + vEEduAplctVO.setClphone(cndtnTrgtInfoMngVO.getClphone()); + vEEduAplctVO.setSndFlag("B"); + Map resultMap = sendSMS.VeSendSMS(vEEduAplctVO.getClphone(), vEEduAplctVO.getSndCn(), vEEduAplctVO.getSndFlag()); + //문자 발송 성공 시 + if("1".equals(resultMap.get("result_code"))){ + //발송 로그 + LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); + String snd_ord = sndGnrService.getNextStringId(); + vEEduAplctVO.setSndHstryOrd(snd_ord); + vEEduAplctVO.setSndId(loginVO.getUniqId()); + vEEduAplctVO.setTrgt(vEEduAplctVO.getClphone()); + vEEduAplctVO.setSndCd("10"); + vEEduAplctVO.setTrgtId(loginVO.getUniqId()); + vEEduAplctSndHstryService.insert(vEEduAplctVO); + + + //인증번호 row 생성 (기존 강사인증 테이블 사용) + VEInstrDetailVO vEInstrDetailVO = new VEInstrDetailVO(); + vEInstrDetailVO.setEmail(vEEduAplctVO.getClphone()); + vEInstrDetailVO.setCrtfdNumber(code); + vEInstrDetailVO.setUserId(loginVO.getUniqId()); + vEInstrMixService.deleteInstrEmailCrtfd(vEInstrDetailVO); + vEInstrMixService.insertInstrEmailCrtfd(vEInstrDetailVO); + + } + } + + /* if(StringUtils.isNotEmpty(id)) { msg = "이미 신청한 대상자 입니다."; diff --git a/src/main/resources/egovframework/sqlmap/ve/cndtn/cndtnTrgtInfoMng_SQL_Tibero.xml b/src/main/resources/egovframework/sqlmap/ve/cndtn/cndtnTrgtInfoMng_SQL_Tibero.xml index 664629c7..27cc77ba 100644 --- a/src/main/resources/egovframework/sqlmap/ve/cndtn/cndtnTrgtInfoMng_SQL_Tibero.xml +++ b/src/main/resources/egovframework/sqlmap/ve/cndtn/cndtnTrgtInfoMng_SQL_Tibero.xml @@ -496,6 +496,9 @@ ) AND a.prcs_aplct_prd_ord_cmplt IS NULL /* 병합되지 않았다. */ + + AND a.clphone = #clphone# + @@ -533,6 +536,9 @@ ) AND a.prcs_aplct_prd_ord_cmplt IS NULL /* 병합되지 않았다. */ + + AND a.clphone = #clphone# + diff --git a/src/main/webapp/WEB-INF/decorators.xml b/src/main/webapp/WEB-INF/decorators.xml index b6e25065..0a9dc9e1 100644 --- a/src/main/webapp/WEB-INF/decorators.xml +++ b/src/main/webapp/WEB-INF/decorators.xml @@ -169,6 +169,7 @@ */cop/bbs/EgovBBSIdListSearch.do /web/ve/aplct/fndtnEnhanceTrn/eduAplctPop.do + /web/ve/aplct/sspnIdtmt/eduAplctPop.do diff --git a/src/main/webapp/WEB-INF/jsp/web/ve/aplct/sspnIdtmt/popup/eduAplctPopList.jsp b/src/main/webapp/WEB-INF/jsp/web/ve/aplct/sspnIdtmt/popup/eduAplctPopList.jsp index e1cdaec2..f667eeda 100644 --- a/src/main/webapp/WEB-INF/jsp/web/ve/aplct/sspnIdtmt/popup/eduAplctPopList.jsp +++ b/src/main/webapp/WEB-INF/jsp/web/ve/aplct/sspnIdtmt/popup/eduAplctPopList.jsp @@ -25,7 +25,8 @@ --%> + + 휴대폰 번호 + + + + + + 인증번호 + + + + + 성별 @@ -378,7 +448,7 @@ $(document).ready(function(){
- +