diff --git a/src/main/java/kcc/kccadr/adjreqmgr/service/AdjReqMgrVO.java b/src/main/java/kcc/kccadr/adjreqmgr/service/AdjReqMgrVO.java index 478621f4..0c391766 100644 --- a/src/main/java/kcc/kccadr/adjreqmgr/service/AdjReqMgrVO.java +++ b/src/main/java/kcc/kccadr/adjreqmgr/service/AdjReqMgrVO.java @@ -258,10 +258,8 @@ public class AdjReqMgrVO extends ComDefaultVO implements Serializable{ private String userId; private String smsSendTypeCd; // 발송유형 - CC052 private String certNum; // 인증번호 - private String[] phoneList; //수신번호 리스트 - //저작위 email 발송 /* * emailTy ( 확인필요 ) diff --git a/src/main/java/kcc/kccadr/adjreqmgr/service/impl/AdjReqMgrDAO.java b/src/main/java/kcc/kccadr/adjreqmgr/service/impl/AdjReqMgrDAO.java index c7877fdb..5ce70ca1 100644 --- a/src/main/java/kcc/kccadr/adjreqmgr/service/impl/AdjReqMgrDAO.java +++ b/src/main/java/kcc/kccadr/adjreqmgr/service/impl/AdjReqMgrDAO.java @@ -148,7 +148,7 @@ public class AdjReqMgrDAO extends EgovAbstractDAO { update("adjReqMgrDAO.updateAdrMgrMasterDetailApprCn", adjReqMgrVO); } - // 조정알림SMS - SMS전송 요청 LOG 등록 + // 조정알림SMS - SMS전송 요청 LOG 등록 public int insertAdrSmsCustomSend(AdjReqMgrVO adjReqMgrVO) throws Exception{ return update("AdjReqMgrDAO.insertAdrSmsCustomSend", adjReqMgrVO); } diff --git a/src/main/java/kcc/kccadr/cmm/service/impl/SMSOracleDAO.java b/src/main/java/kcc/kccadr/cmm/service/impl/SMSOracleDAO.java index ae9e1094..e0af5544 100644 --- a/src/main/java/kcc/kccadr/cmm/service/impl/SMSOracleDAO.java +++ b/src/main/java/kcc/kccadr/cmm/service/impl/SMSOracleDAO.java @@ -64,5 +64,15 @@ public class SMSOracleDAO extends EgovAbstractDAO { public void insertMmsCustomSend(AdjReqMgrVO adjReqMgrVO) throws Exception{ insert("SMSOracleDAO.insertMmsCustomSend", adjReqMgrVO); } + + // MMS 작성 메세지 전송 등록 + public void insertMmsSendMgr(AdjReqMgrVO adjReqMgrVO) throws Exception{ + insert("SMSOracleDAO.insertMmsSendMgr", adjReqMgrVO); + } + + // SMS 작성 메세지 전송 등록 + public void insertSmsSendMgr(AdjReqMgrVO adjReqMgrVO) throws Exception{ + insert("SMSOracleDAO.insertSmsSendMgr", adjReqMgrVO); + } } diff --git a/src/main/java/kcc/kccadr/msg/service/MsgMgrService.java b/src/main/java/kcc/kccadr/msg/service/MsgMgrService.java index 47aee26a..9a0ff18b 100644 --- a/src/main/java/kcc/kccadr/msg/service/MsgMgrService.java +++ b/src/main/java/kcc/kccadr/msg/service/MsgMgrService.java @@ -36,7 +36,4 @@ public interface MsgMgrService { // 발송 email 내역 리스트 조회 List emailMgrList(EmailMgrVO emailMgrVO) throws Exception; - // 발송 email 내역 등록 - String insertAdrEmailLog(AdjReqMgrVO adjReqMgrVO) throws Exception; - } diff --git a/src/main/java/kcc/kccadr/msg/service/impl/MsgMgrDAO.java b/src/main/java/kcc/kccadr/msg/service/impl/MsgMgrDAO.java index 65bc4c96..d2913485 100644 --- a/src/main/java/kcc/kccadr/msg/service/impl/MsgMgrDAO.java +++ b/src/main/java/kcc/kccadr/msg/service/impl/MsgMgrDAO.java @@ -113,9 +113,4 @@ public class MsgMgrDAO extends EgovAbstractDAO { public List emailMgrList(EmailMgrVO emailMgrVO) throws Exception{ return (List) list("MsgMgrDAO.emailMgrList", emailMgrVO); } - - // 발송 email 내역 등록 - public void insertAdrEmailLog(AdjReqMgrVO adjReqMgrVO) throws Exception{ - insert("MsgMgrDAO.insertAdrEmailLog", adjReqMgrVO); - } } diff --git a/src/main/java/kcc/kccadr/msg/service/impl/MsgMgrServiceImpl.java b/src/main/java/kcc/kccadr/msg/service/impl/MsgMgrServiceImpl.java index f17664c6..de668437 100644 --- a/src/main/java/kcc/kccadr/msg/service/impl/MsgMgrServiceImpl.java +++ b/src/main/java/kcc/kccadr/msg/service/impl/MsgMgrServiceImpl.java @@ -74,33 +74,4 @@ public class MsgMgrServiceImpl extends EgovAbstractServiceImpl implements MsgMgr public List emailMgrList(EmailMgrVO emailMgrVO) throws Exception { return msgMgrDAO.emailMgrList(emailMgrVO); } - - // 발송 email 내역 등록 - public String insertAdrEmailLog(AdjReqMgrVO adjReqMgrVO) throws Exception { - String result = "fail"; - try { - - /*추후 확인 필요 - * adrSeq ( 확인필요 ) - * emailTy ( 확인필요 ) - * 000 - 관리자발송 - * 001 - 보완요청 - * 002 - 수수료납부요청 - * 003 - 조정접수 - * 004 - 기일통지서승인 - * 005 - 기일조서 결재완료 - * 006 - 조정조서 결재완료 - * 007 - 직권조정결정서 확인완료 - * 008 - 없음 - * 009 - 조정불성립 - * - * */ - - msgMgrDAO.insertAdrEmailLog(adjReqMgrVO); - result = "SUCCESS"; - }catch (Exception e) { - System.out.println("Exception Occured!!!"); - } - return result; - } } diff --git a/src/main/java/kcc/kccadr/sendMgr/service/SendMgrService.java b/src/main/java/kcc/kccadr/sendMgr/service/SendMgrService.java new file mode 100644 index 00000000..269f2584 --- /dev/null +++ b/src/main/java/kcc/kccadr/sendMgr/service/SendMgrService.java @@ -0,0 +1,13 @@ +package kcc.kccadr.sendMgr.service; + +import kcc.kccadr.adjreqmgr.service.AdjReqMgrVO; + +public interface SendMgrService { + + // SMS 전송 + public String insertMsgSendMgr (AdjReqMgrVO adjReqMgrVO) throws Exception; + + // 발송 email 내역 등록 + public String insertAdrEmailLog(AdjReqMgrVO adjReqMgrVO) throws Exception; + +} diff --git a/src/main/java/kcc/kccadr/sendMgr/service/impl/SendMgrDAO.java b/src/main/java/kcc/kccadr/sendMgr/service/impl/SendMgrDAO.java new file mode 100644 index 00000000..c7504980 --- /dev/null +++ b/src/main/java/kcc/kccadr/sendMgr/service/impl/SendMgrDAO.java @@ -0,0 +1,38 @@ +package kcc.kccadr.sendMgr.service.impl; + +import org.springframework.stereotype.Repository; + +import egovframework.rte.psl.dataaccess.EgovAbstractDAO; +import kcc.kccadr.adjreqmgr.service.AdjReqMgrVO; + +/** + * @FileName : SendMgrDAO.java + * @Project : kcc_adr_advc_git + * @Date : 2023. 9. 18. + * @작성자 : WYH + * @변경이력 : + * @프로그램 설명 : 저작위 CUBRID DB서버 이메일, 문자 전송 및 로그 등록 + */ +@Repository("SendMgrDAO") +public class SendMgrDAO extends EgovAbstractDAO { + + // MMS 전송 등록 + public int insertMmsSendMgr(AdjReqMgrVO adjReqMgrVO) throws Exception{ + return update("SendMgrDAO.insertMmsSendMgr",adjReqMgrVO); + } + + // SMS 전송 등록 + public int insertSmsSendMgr(AdjReqMgrVO adjReqMgrVO) throws Exception{ + return update("SendMgrDAO.insertSmsSendMgr",adjReqMgrVO); + } + + // 문자전송 LOG 등록 + public void insertMsgSendMgrLog(AdjReqMgrVO adjReqMgrVO) throws Exception{ + insert("SendMgrDAO.insertMsgSendMgrLog",adjReqMgrVO); + } + + // 발송 email LOG 등록 + public void insertAdrEmailLog(AdjReqMgrVO adjReqMgrVO) throws Exception{ + insert("MsgMgrDAO.insertAdrEmailLog", adjReqMgrVO); + } +} diff --git a/src/main/java/kcc/kccadr/sendMgr/service/impl/SendMgrServiceImpl.java b/src/main/java/kcc/kccadr/sendMgr/service/impl/SendMgrServiceImpl.java new file mode 100644 index 00000000..d024a83f --- /dev/null +++ b/src/main/java/kcc/kccadr/sendMgr/service/impl/SendMgrServiceImpl.java @@ -0,0 +1,128 @@ +package kcc.kccadr.sendMgr.service.impl; + +import javax.annotation.Resource; + +import org.springframework.beans.factory.annotation.Value; +import org.springframework.stereotype.Service; + +import egovframework.rte.fdl.cmmn.EgovAbstractServiceImpl; +import kcc.kccadr.adjreqmgr.service.AdjReqMgrVO; +import kcc.kccadr.cmm.service.impl.SMSOracleDAO; +import kcc.kccadr.sendMgr.service.SendMgrService; + + +/** + * @FileName : SendMgrServiceImpl.java + * @Project : kcc_adr_advc_git + * @Date : 2023. 9. 18. + * @작성자 : WYH + * @변경이력 : + * @프로그램 설명 : 이메일, 문자 전송 + */ +@Service("SendMgrService") +public class SendMgrServiceImpl extends EgovAbstractServiceImpl implements SendMgrService { + + @Value("#{globalSettings['Globals.SMSDB.SendTelNo']}") + private String sendTelNo; // 송신 전화번호 + + @Value("#{globalSettings['Globals.SMSDB.TrId']}") + private String trId; // 시스템 ID + + @Value("#{globalSettings['Globals.prod.islocal']}") + private String islocal; // 시스템 구분자 + + // SMS전송(SMS전송서버-오라클DB) + @Resource(name = "SMSOracleDAO") + private SMSOracleDAO sMSOracleDAO; + + // SMS전송(SMS전송서버-CUBRID DB) + @Resource(name = "SendMgrDAO") + private SendMgrDAO sendMgrDAO; + + @Override + public String insertMsgSendMgr(AdjReqMgrVO adjReqMgrVO) throws Exception { + String result = "fail"; + try { + + /* + * 1. adjReqMgrVO로 수신자(trPhone), 메시지(sendMsg), 사건번호(adrNo)를 파라미터로 받는다. + * 2. 정해진 송신자, 시스템 구분자는 미리 정의된 globals.properties 에서 받는다. + * 3. 저작위 SMS 발송 DB로 insert + * 4. 발송 이력을 남긴다. + * 5. smsTy 설정 + * 000 - 관리자발송 + * 001 - 보완요청 + * 002 - 수수료납부요청 + * 003 - 조정접수 + * 004 - 기일통지서승인 + * 005 - 기일조서 결재완료 + * 006 - 조정조서 결재완료 + * 007 - 직권조정결정서 확인완료 + * 008 - 없음 + * 009 - 조정불성립 + * */ + + adjReqMgrVO.setTrId(trId); // 시스템 구분자 + adjReqMgrVO.setSendTelNo(sendTelNo); // 송신자 번호 + adjReqMgrVO.setSmsTy("000"); // 문자 발송 문구 분류 + + int bytes = adjReqMgrVO.getSendMsg().getBytes("euc-kr").length; // 발송메시지 바이트수 + if (bytes > 90) { // 장문 + if(!islocal.equals("local")) { + // 전자조정 오라클 서버 등록 (장문) + sMSOracleDAO.insertMmsSendMgr(adjReqMgrVO); // MMS 등록 장문 > MMS DB(오라클) + } + // CUBRID DB 등록 + sendMgrDAO.insertMmsSendMgr(adjReqMgrVO); + }else { // 단문 + if(!islocal.equals("local")) { // SMS 등록 장문 > SMS DB(오라클) + // 전자조정 오라클 서버 등록 (단문) + sMSOracleDAO.insertSmsSendMgr(adjReqMgrVO); + } + // CUBRID DB 등록 + sendMgrDAO.insertSmsSendMgr(adjReqMgrVO); + } + + // CUBRID DB 전송 로그등록 + sendMgrDAO.insertMsgSendMgrLog(adjReqMgrVO); + + + result = "SUCCESS"; + }catch (Exception e) { + System.out.println("====== try catch insertMsgSendMgr 전송오류"); + result = "메시지 전송오류"; + } + + return result; + } + + @Override + public String insertAdrEmailLog(AdjReqMgrVO adjReqMgrVO) throws Exception { + String result = "fail"; + try { + + /*추후 확인 필요 + * adrSeq ( 확인필요 ) + * emailTy ( 확인필요 ) + * 000 - 관리자발송 + * 001 - 보완요청 + * 002 - 수수료납부요청 + * 003 - 조정접수 + * 004 - 기일통지서승인 + * 005 - 기일조서 결재완료 + * 006 - 조정조서 결재완료 + * 007 - 직권조정결정서 확인완료 + * 008 - 없음 + * 009 - 조정불성립 + * + * */ + + sendMgrDAO.insertAdrEmailLog(adjReqMgrVO); + result = "SUCCESS"; + }catch (Exception e) { + System.out.println("Exception Occured!!!"); + } + return result; + } + +} diff --git a/src/main/java/kcc/kccadr/sendMgr/web/SendMgrEmailController.java b/src/main/java/kcc/kccadr/sendMgr/web/SendMgrEmailController.java index 9735a886..50a276b3 100644 --- a/src/main/java/kcc/kccadr/sendMgr/web/SendMgrEmailController.java +++ b/src/main/java/kcc/kccadr/sendMgr/web/SendMgrEmailController.java @@ -21,6 +21,7 @@ import org.springframework.web.servlet.mvc.support.RedirectAttributes; import kcc.kccadr.adjreqmgr.service.AdjReqMgrVO; import kcc.kccadr.msg.service.MsgMgrService; +import kcc.kccadr.sendMgr.service.SendMgrService; import kcc.let.utl.fcc.service.EgovCryptoUtil; /** @@ -43,8 +44,8 @@ import kcc.let.utl.fcc.service.EgovCryptoUtil; @Controller public class SendMgrEmailController { - @Resource(name = "MsgMgrService") - private MsgMgrService msgMgrService; + @Resource(name = "SendMgrService") + private SendMgrService SendMgrService; //암복호화 유틸 @Resource(name = "egovCryptoUtil") @@ -113,12 +114,11 @@ public class SendMgrEmailController { System.out.println("------------------ 메일발송 끝 ----------------"); System.out.println("------------------ 메일발송Log 추가 시작----------------"); - String encEmailFrom = egovCryptoUtil.encrypt(emailFrom); // email 수신자 주소 암호화 String encEmailTo = egovCryptoUtil.encrypt(emailTo); // email 발신자 주소 암호화 adjReqMgrVO.setEmailFrom(encEmailFrom); adjReqMgrVO.setEmailTo(encEmailTo); - result = msgMgrService.insertAdrEmailLog(adjReqMgrVO); + result = SendMgrService.insertAdrEmailLog(adjReqMgrVO); System.out.println("------------------ 메일발송Log 추가 끝----------------"); } diff --git a/src/main/java/kcc/kccadr/sendMgr/web/SendMgrSMSController.java b/src/main/java/kcc/kccadr/sendMgr/web/SendMgrSMSController.java index 96d94050..fab63278 100644 --- a/src/main/java/kcc/kccadr/sendMgr/web/SendMgrSMSController.java +++ b/src/main/java/kcc/kccadr/sendMgr/web/SendMgrSMSController.java @@ -11,6 +11,9 @@ import org.springframework.web.servlet.mvc.support.RedirectAttributes; import kcc.kccadr.adjreqmgr.service.AdjReqMgrVO; import kcc.kccadr.cmm.service.SMSOracleService; +import kcc.kccadr.sendMgr.service.SendMgrService; + + /** * SMS 발송관리자(관리자) @@ -35,6 +38,9 @@ public class SendMgrSMSController { // SMS 문자발송 서비스 @Resource(name = "SMSOracleService") private SMSOracleService sMSOracleService; + + @Resource(name = "SendMgrService") + private SendMgrService SendMgrService; /** * @Method Name : smsSendMgrPage @@ -68,8 +74,8 @@ public class SendMgrSMSController { try { String result = ""; for(int i=0; i < adjReqMgrVO.getPhoneList().length; i++) { - adjReqMgrVO.setSendTelNo(adjReqMgrVO.getPhoneList()[i]); - result = sMSOracleService.insertSmsCustomSend(adjReqMgrVO); + adjReqMgrVO.setTrPhone(adjReqMgrVO.getPhoneList()[i]); + result = SendMgrService.insertMsgSendMgr(adjReqMgrVO); } modelAndView.addObject("result", result); }catch (Exception e) { diff --git a/src/main/resources/egovframework/sqlmap/com/sms/kccadr/SMS_SQL_Oracle.xml b/src/main/resources/egovframework/sqlmap/com/sms/kccadr/SMS_SQL_Oracle.xml index a5e46538..5b524c99 100644 --- a/src/main/resources/egovframework/sqlmap/com/sms/kccadr/SMS_SQL_Oracle.xml +++ b/src/main/resources/egovframework/sqlmap/com/sms/kccadr/SMS_SQL_Oracle.xml @@ -110,28 +110,6 @@ ) - - - INSERT INTO SC_TRAN ( - TR_NUM - ,TR_SENDDATE - ,TR_ID - /*,TR_SENDSTAT*/ - /*,TR_MSGTYPE*/ - ,TR_PHONE - ,TR_CALLBACK - ,TR_MSG - ) VALUES ( - SC_TRAN_SEQ.NEXTVAL - ,SYSDATE - ,#trId# - /*,'0'*/ - /*,'0'*/ - ,replace(#trPhone#, '-', '') - ,#sendTelNo# - ,#sendMsg# - ) - @@ -158,4 +136,75 @@ ) - \ No newline at end of file + + + INSERT INTO SC_TRAN ( + TR_NUM + ,TR_SENDDATE + ,TR_ID + /*,TR_SENDSTAT*/ + /*,TR_MSGTYPE*/ + ,TR_PHONE + ,TR_CALLBACK + ,TR_MSG + ) VALUES ( + SC_TRAN_SEQ.NEXTVAL + ,SYSDATE + ,#trId# + /*,'0'*/ + /*,'0'*/ + ,replace(#trPhone#, '-', '') + ,#sendTelNo# + ,#sendMsg# + ) + + + + + INSERT INTO MMS_MSG ( + MSGKEY + ,ID + ,SUBJECT + ,PHONE + ,CALLBACK + ,STATUS + ,REQDATE + ,MSG + ,TYPE + ) VALUES ( + MMS_MSG_SEQ.NEXTVAL + ,#trId# + ,'[한국저작권위원회]' + , IFNULL(replace(#trPhone#, '-', ''), '-') + , IFNULL(replace(#sendTelNo#, '-', ''), '-') + ,'0' + ,SYSDATE + ,#sendMsg# + ,'0' + ) + + + + + INSERT INTO SC_TRAN ( + TR_NUM + ,TR_SENDDATE + ,TR_ID + /*,TR_SENDSTAT*/ + /*,TR_MSGTYPE*/ + ,TR_PHONE + ,TR_CALLBACK + ,TR_MSG + ) VALUES ( + SC_TRAN_SEQ.NEXTVAL + ,SYSDATE + ,#trId# + /*,'0'*/ + /*,'0'*/ + , IFNULL(replace(#trPhone#, '-', ''), '-') + , IFNULL(replace(#sendTelNo#, '-', ''), '-') + ,#sendMsg# + ) + + + \ No newline at end of file diff --git a/src/main/resources/egovframework/sqlmap/kccadr/msg/Msg_SQL_Mysql.xml b/src/main/resources/egovframework/sqlmap/kccadr/msg/Msg_SQL_Mysql.xml index 7c9fb24d..64a738d6 100644 --- a/src/main/resources/egovframework/sqlmap/kccadr/msg/Msg_SQL_Mysql.xml +++ b/src/main/resources/egovframework/sqlmap/kccadr/msg/Msg_SQL_Mysql.xml @@ -373,4 +373,81 @@ LIMIT #recordCountPerPage# OFFSET #firstIndex# + + + + INSERT INTO ADR_MMS_MSG ( + MSGKEY + , ID + , SUBJECT + , PHONE + , CALLBACK + , STATUS + , REQDATE + , MSG + , TYPE + , EMAIL_SEND_RESULT + ) VALUES ( + (SELECT IFNULL(MAX(MSGKEY), 0) + 1 FROM ADR_MMS_MSG) + , #trId# + , '[한국저작권위원회]' + , IFNULL(replace(#trPhone#, '-', ''), '-') + , IFNULL(replace(#sendTelNo#, '-', ''), '-') + , '0' + , SYSDATE + , #sendMsg# + , '0' + , #emailSendResult# + ) + + + + + INSERT INTO ADR_SC_TRAN ( + TR_NUM + , TR_SENDDATE + , TR_ID + /*, TR_SENDSTAT*/ + /*, TR_MSGTYPE*/ + , TR_PHONE + , TR_CALLBACK + , TR_MSG + , EMAIL_SEND_RESULT + ) VALUES ( + (SELECT IFNULL(MAX(TR_NUM), 0) + 1 FROM ADR_SC_TRAN) + , SYSDATE + , #trId# + /*,'0'*/ + /*,'0'*/ + , IFNULL(replace(#trPhone#, '-', ''), '-') + , IFNULL(replace(#sendTelNo#, '-', ''), '-') + , #sendMsg# + , #emailSendResult# + ) + + + + + INSERT INTO ADR_SMS_LOG + ( + SMS_CN + , SMS_TY + , SMS_TO + , SMS_FROM + , ADR_NO + , SMS_SEND_PNTTM + , REGIST_PNTTM + ) + VALUES + ( + #sendMsg# + , #smsTy# + , IFNULL(replace(#trPhone#, '-', ''), '-') + , IFNULL(replace(#sendTelNo#, '-', ''), '-') + , #adrNo# + , NOW() + , NOW() + ) + + \ No newline at end of file diff --git a/src/main/webapp/WEB-INF/jsp/kccadr/msg/sendEmailMgrList.jsp b/src/main/webapp/WEB-INF/jsp/kccadr/msg/sendEmailMgrList.jsp index 28e5dcb1..13a2a97b 100644 --- a/src/main/webapp/WEB-INF/jsp/kccadr/msg/sendEmailMgrList.jsp +++ b/src/main/webapp/WEB-INF/jsp/kccadr/msg/sendEmailMgrList.jsp @@ -50,9 +50,9 @@ 발송 Email 목록
- - " /> - " /> + + " /> + " />
@@ -88,11 +88,10 @@
  • 구분

    - +
  • @@ -161,9 +160,9 @@
    -
    +