wyh 2023-07-17
문자 즉시발송기능 추가
@2fe33219220851bbe5e564f3a55170e280fd5003
src/main/java/itn/let/mjo/msg/service/MjonMsgService.java
--- src/main/java/itn/let/mjo/msg/service/MjonMsgService.java
+++ src/main/java/itn/let/mjo/msg/service/MjonMsgService.java
@@ -201,6 +201,9 @@
 	//스팸 / 스미싱 지연 알림톡 발송 취소 처리
 	int deleteKakaoAtDelaySendCancelData(MjonResvMsgVO mjonResvMsgVO) throws Exception;
 	
+	//문자 즉시 발송처리
+	int updateMsgDirectSend(MjonResvMsgVO mjonResvMsgVO) throws Exception;
+	
 	//스팸 / 스미싱 지연 알림톡 즉시 발송처리
 	int updateKakaoAtDelaySendRealTimeData(MjonResvMsgVO mjonResvMsgVO) throws Exception;
 	
src/main/java/itn/let/mjo/msg/service/impl/MjonMsgServiceImpl.java
--- src/main/java/itn/let/mjo/msg/service/impl/MjonMsgServiceImpl.java
+++ src/main/java/itn/let/mjo/msg/service/impl/MjonMsgServiceImpl.java
@@ -1068,4 +1068,83 @@
 	public List<MjonMsgVO> selectMsgSendTotCnt(MjonMsgVO mjonMsgVO) throws Exception {
 		return mjonMsgDAO.selectMsgSendTotCnt(mjonMsgVO);
 	}
+
+	@Override
+	public int updateMsgDirectSend(MjonResvMsgVO mjonResvMsgVO) throws Exception {
+		
+		int resultSts = 0;
+		
+		try {
+			
+			System.out.println("++++++++++++++++++ updateMsgDelaySendRealTimeData groupId ::: "+mjonResvMsgVO.getMsgGroupId());
+			//전송 문자 건수 MSG_SEQ 번호 받아오기
+			List<MjonResvMsgVO> resultMsgSeqList = mjonReservMsgDAO.selectMsgSeqListByGroupId(mjonResvMsgVO);
+			
+			String reservYn = resultMsgSeqList.get(0).getReserveYn();
+			
+			System.out.println("++++++++++++++++++++++++++++ reservYn ::: "+reservYn);
+			
+			int size = resultMsgSeqList.size();
+			List<String> userDataList = new ArrayList<String>();
+			for(int i=0; i < size; i++) {
+				
+				userDataList.add(resultMsgSeqList.get(i).getUserData());
+				System.out.println(resultMsgSeqList.get(i).getUserData());
+				
+			}
+			
+			mjonResvMsgVO.setUserDataList(userDataList);
+
+			//즉시 전송 딜레이건에 대한 즉시 전송 처리 - 아이하트, 아에임오 전송사는 사용 안하기 때문에 주석처리함.
+			
+			//int ihResult = 0;
+			//int imoResult = 0;
+			int FHSmsResult = 0;
+			int FHMmsResult = 0;
+			int bizResult = 0;
+			int JJResult = 0;
+			int IVTResult = 0;
+			int JJB01Result = 0;
+			int JJB02Result = 0;
+			
+				
+			//아이하트 딜레이문자 즉시발송 처리
+			//ihResult = mjonReservMsgDAO.deleteIHeartMsgSeqListByMsgSeq(mjonResvMsgVO);
+			//ihResult = mjonReservMsgDAO.updateRealTimeIHeartMsgSeqListByMsgSeq(mjonResvMsgVO);
+			
+			//아이엠오  딜레이문자 즉시발송 처리
+			//imoResult = mjonReservMsgDAO.updateRealTimeIMOMsgSeqListByMsgSeq(mjonResvMsgVO);
+			
+			//현대퓨처넷 단문 딜레이문자 즉시발송 처리
+			FHSmsResult = mjonReservMsgDAO.updateRealTimeHFNSmsMsgSeqListByMsgSeq(mjonResvMsgVO);
+
+			//현대퓨처넷 장문/그림  딜레이문자 즉시발송 처리
+			FHMmsResult = mjonReservMsgDAO.updateRealTimeHFNMmsMsgSeqListByMsgSeq(mjonResvMsgVO);
+			
+			//비즈뿌리오  딜레이문자 즉시발송 처리
+			bizResult = mjonReservMsgDAO.updateRealTimeBizMsgSeqListByMsgSeq(mjonResvMsgVO);
+			
+			//제이제이 딜레이문자 즉시발송 처리
+			JJResult = mjonReservMsgDAO.updateRealTimeJJMsgSeqListByMsgSeq(mjonResvMsgVO);
+			
+			//인비토 딜레이문자 즉시발송 처리
+			IVTResult = mjonReservMsgDAO.updateRealTimeIVTMsgSeqListByMsgSeq(mjonResvMsgVO);
+			
+			//제이제이 B01 딜레이문자 즉시발송 처리
+			JJB01Result = mjonReservMsgDAO.updateRealTimeJJB01MsgSeqListByMsgSeq(mjonResvMsgVO);
+			
+			//제이제이 B02 딜레이문자 즉시발송 처리
+			JJB02Result = mjonReservMsgDAO.updateRealTimeJJB02MsgSeqListByMsgSeq(mjonResvMsgVO);
+			
+			//발송 결과 합산
+			resultSts = FHSmsResult + FHMmsResult + bizResult + JJResult + IVTResult + JJB01Result + JJB02Result;
+			
+			System.out.println("++++++++++++++++++++++++++++++ resultSts ::: "+resultSts);
+			
+		} catch (Exception e) {
+			System.out.println("+++++++++++++++++++++++++++++++++++ updateMsgDelaySendRealTimeDataAjax ServiceImpl Error !!!! "+e);
+		}
+		
+		return resultSts;
+	}
 }
src/main/java/itn/let/mjo/msg/web/MjonMsgController.java
--- src/main/java/itn/let/mjo/msg/web/MjonMsgController.java
+++ src/main/java/itn/let/mjo/msg/web/MjonMsgController.java
@@ -3619,6 +3619,78 @@
     }
     
     /**
+     * 문자 즉시 전송 처리
+     * @param mjonMsgVO
+     * @param model
+     * @return	"/uss/ion/msg/updateMsgDirectSendAjax.do"
+     * @throws Exception
+     */
+	@RequestMapping(value = {"/uss/ion/msg/updateMsgDirectSendAjax.do"})
+	public ModelAndView updateMsgDirectSendAjax(MjonMsgVO mjonMsgVO) throws Exception {
+		ModelAndView modelAndView = new ModelAndView();
+		modelAndView.setViewName("jsonView");
+	
+		String isStatus = "";
+		String msg = "";
+		
+		//로그인 정보 획득
+		LoginVO	loginVO = (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser();
+		String	userId = loginVO == null ? "" : EgovStringUtil.isNullToString(loginVO.getId());
+		
+		if(userId.equals("")) {
+		
+			modelAndView.addObject("isStatus", "loginFail");
+			modelAndView.addObject("msg", "로그인이 필요합니다.");
+			return modelAndView;
+		
+		}
+		try {
+			
+			MjonResvMsgVO mjonResvMsgVO = new MjonResvMsgVO();
+			mjonResvMsgVO.setUserId(mjonMsgVO.getUserId());//회원 아이디
+	
+			String[] arrMsgGroupId = mjonMsgVO.getMsgGroupId().split(",");
+			int resultSts = 0;
+	
+			//문자 발송요청일자 체크해주기
+			/*boolean compareReqDate = getCompareReqDateList(arrMsgGroupId, mjonMsgVO.getUserId());
+	
+			if(!compareReqDate) {
+				modelAndView.addObject("isStatus", "dateFail");
+				modelAndView.addObject("msg", "발송시간이 지난 문자가 있습니다. 문자 발송예정 시간을 확인해 주세요.");
+				return modelAndView;
+			}*/
+	
+			for(String temp : arrMsgGroupId) {
+				mjonResvMsgVO.setMsgGroupId(temp);//취소 문자 그룹 아이디
+				//문자 발송 지연 데이터 즉시 발송처리
+				int count = mjonMsgService.updateMsgDirectSend(mjonResvMsgVO);
+				resultSts = resultSts + count;
+			}
+	
+			if(resultSts > 0) {
+			
+				modelAndView.addObject("isStatus", "success");
+				modelAndView.addObject("msg", "즉시 발송 처리가 완료되었습니다.");
+			
+			}else {
+			
+				modelAndView.addObject("isStatus", "fail");
+				modelAndView.addObject("msg", "즉시 발송 처리에 오류가 발생하였습니다.");
+				
+			}
+		
+		} catch (Exception e) {
+			System.out.println("+++++++++++++++++++++++++++++++++++ updateMsgDelaySendRealTimeDataAjax Controller Error !!!! "+e);
+			modelAndView.addObject("isStatus", "fail");
+			modelAndView.addObject("msg", "오류가 발생하였습니다.");
+			return modelAndView;
+		}
+		
+		return modelAndView;
+}
+    
+    /**
      * 스팸 및 스미싱 30분 지연알림톡 전송 취소 처리
      * @param mjonMsgVO
      * @param model
src/main/webapp/WEB-INF/jsp/cmm/uss/umt/EgovGnrlUserSelectMsgDataListPop.jsp
--- src/main/webapp/WEB-INF/jsp/cmm/uss/umt/EgovGnrlUserSelectMsgDataListPop.jsp
+++ src/main/webapp/WEB-INF/jsp/cmm/uss/umt/EgovGnrlUserSelectMsgDataListPop.jsp
@@ -222,10 +222,10 @@
 function fn_updateSendRealTime(userId, msgGroupId){
 	
 	var msg = "";
-	var url = "/uss/ion/msg/updateMsgDelaySendRealTimeDataAjax.do";
+	var url = "/uss/ion/msg/updateMsgDirectSendAjax.do";
 	var json = {"msgGroupId" : msgGroupId, "userId" : userId}; 
 	
-	if(confirm("해당 문자를 즉시 발송 하시겠습니까?\n고객님께서 예약문자를 실수로 분할발송한경우 이용해주세요.")){
+	if(confirm("해당 문자를 즉시 발송 하시겠습니까?\n 해당문자는 예약여부 상관없이 즉시 발송됩니다.")){
 		$.ajax({
 	        type: "POST",
 	        url: url,
Add a comment
List