diff --git a/src/main/java/itn/let/kakao/user/kakaoAt/service/impl/KakaoAlimTalkServiceImpl.java b/src/main/java/itn/let/kakao/user/kakaoAt/service/impl/KakaoAlimTalkServiceImpl.java index 9776ef74..61f0cd6a 100644 --- a/src/main/java/itn/let/kakao/user/kakaoAt/service/impl/KakaoAlimTalkServiceImpl.java +++ b/src/main/java/itn/let/kakao/user/kakaoAt/service/impl/KakaoAlimTalkServiceImpl.java @@ -432,6 +432,51 @@ public class KakaoAlimTalkServiceImpl extends EgovAbstractServiceImpl implements //카카오 알림톡 전송 리스트 List kakaoFtSendList = new ArrayList(); + + //야간스미싱 알림여부 정보 불러오기 + JoinSettingVO joinSettingVO = siteManagerDAO.selectAdminNotiDetail(); + String holiSmishingNoti = joinSettingVO.getHoliSmishingNoti(); + + //스팸,스미싱이어도 딜레이없이 문자 전송을 처리할지 선택 상태값 변수 + boolean spamSmishingPassStatus = false; //야간스미싱 알림여부가 활성화인 경우 false, 비활성화인경우 true 값을 가지도록 한다. + + //야간스미싱알리 여부가 비활성화 인경우 무조건 문자를 즉시 보내도록 한다. + //현재는 평일, 주말, 휴일 상관없이 N 이면 30분 딜레이 없이 발송 처리하도록 함. + if(holiSmishingNoti.equals("Y")) { + + MsgAlarmSetVO msgAlarmSetVO = new MsgAlarmSetVO(); + + msgAlarmSetVO.setUseYn("Y"); + msgAlarmSetVO.setFirstIndex(0); + + List resultAlarmList = msgHolidayDAO.selectAlarmSettingList(msgAlarmSetVO); + + Calendar calendar = Calendar.getInstance(); + int year = calendar.get(Calendar.YEAR); + + MsgHolidayVO msgHolidayVO = new MsgHolidayVO(); + msgHolidayVO.setFirstIndex(0); + msgHolidayVO.setRecordCountPerPage(100); + msgHolidayVO.setSearchHoliYear(Integer.toString(year)); + + List resultHolidayList = msgHolidayDAO.selectMsgHolidayList(msgHolidayVO); + + MjonHolidayApi mjonHolidayApi = new MjonHolidayApi(); + + boolean smishingAlarmPassSts = mjonHolidayApi.getHolidaySmishingPassStatus(resultAlarmList, resultHolidayList); + + spamSmishingPassStatus = smishingAlarmPassSts; + }else { + + spamSmishingPassStatus = true; + + } + + String atSmishingYn = kakaoVO.getAtSmishingYn(); + + if(spamSmishingPassStatus) { + atSmishingYn = "N"; + } /** 카카오 알림톡 전송 리스트 생성 (시작)-------------------------------------------*/ for(int i = 0; i < callToCnt; i++) { @@ -496,7 +541,7 @@ public class KakaoAlimTalkServiceImpl extends EgovAbstractServiceImpl implements } - if(kakaoVO.getAtSmishingYn().equals("Y")) { + if(atSmishingYn.equals("Y")) { String sandDate = ""; if(kakaoVO.getDivideChk().equals("Y")) { @@ -632,6 +677,12 @@ public class KakaoAlimTalkServiceImpl extends EgovAbstractServiceImpl implements mjonMsgVO.setKakaoSubMagOrgnlTxt(kakaoVO.getKakaoSubMagOrgnlTxt()); mjonMsgVO.setAtDelayYn(kakaoVO.getAtSmishingYn()); + //야간 스미싱 알림 비활성화인 경우 딜레이처리 안하도록 함 20240912 우영두 수정 + if(spamSmishingPassStatus) { + mjonMsgVO.setAtDelayYn("N"); + }else { + mjonMsgVO.setAtDelayYn(kakaoVO.getAtSmishingYn()); + } if(kakaoVO.getBizJsonYn().equals("Y")) { mjonMsgVO.setFileCnt("1"); @@ -655,6 +706,20 @@ public class KakaoAlimTalkServiceImpl extends EgovAbstractServiceImpl implements * * */ kakaoAlimTalkDAO.insertKakaoSendPrice(kakaoVO); + + + try { + + //야간 스미싱 알림이 활성화 이고 알림 예외 일정에 포함되고, 스팸 또는 스미싱 의심 상태일 경우 문자정보 별도 저장처리 - 20240821 우영두 추가 + if(holiSmishingNoti.equals("Y") && spamSmishingPassStatus && kakaoVO.getAtSmishingYn().equals("Y")) { + mjonMsgDAO.insertSpamPassMsgData(mjonMsgVO); + } + + } catch (Exception e) { + System.out.println("++++++++++++++++++++++++++++++ spamSmishingPassStatus 친구톡 야간 스미싱 알림 데이터 입력 오류 발생 !!!!"); + } + + }else { mjonMsgDAO.updateMsgGroupDataForTotCntSum(mjonMsgVO); } diff --git a/src/main/java/itn/let/kakao/user/kakaoFt/web/KakaoFriendsTalkSendController.java b/src/main/java/itn/let/kakao/user/kakaoFt/web/KakaoFriendsTalkSendController.java index 5f294815..2e0892d1 100644 --- a/src/main/java/itn/let/kakao/user/kakaoFt/web/KakaoFriendsTalkSendController.java +++ b/src/main/java/itn/let/kakao/user/kakaoFt/web/KakaoFriendsTalkSendController.java @@ -409,9 +409,9 @@ public class KakaoFriendsTalkSendController { //스미싱 의심이 아니면 delayYn 값 셋팅 if(kakaoVO.getAtSmishingYn().equals("N")) { - kakaoVO.setDelayYn("N"); + kakaoVO.setAtDelayYn("N"); }else { - kakaoVO.setDelayYn("Y"); + kakaoVO.setAtDelayYn("Y"); } //분할발송 여부 - 친구톡은 분할 발송이 없기애 N으로 픽스 diff --git a/src/main/java/itn/let/uss/umt/web/EgovUserManageController.java b/src/main/java/itn/let/uss/umt/web/EgovUserManageController.java index 0ff37d34..86e8afa6 100644 --- a/src/main/java/itn/let/uss/umt/web/EgovUserManageController.java +++ b/src/main/java/itn/let/uss/umt/web/EgovUserManageController.java @@ -1099,6 +1099,7 @@ public class EgovUserManageController { model.addAttribute("sysPicture3Price", sysJoinSetVO.getPicture3Price()); model.addAttribute("sysPicture3Price", sysJoinSetVO.getPicture3Price()); model.addAttribute("sysKakaoAtPrice", sysJoinSetVO.getKakaoAtPrice()); + model.addAttribute("sysKakaoFtPrice", sysJoinSetVO.getKakaoFtPrice()); // 등급제 단가 추출 => 시스템 단가에 적용 sysJoinSetVO = mberGrdService.selectMberGrdDefaultInfo(sysJoinSetVO, userId); @@ -1110,6 +1111,7 @@ public class EgovUserManageController { Float picture2Price = mberManageVO.getPicture2Price(); Float picture3Price = mberManageVO.getPicture3Price(); Float kakaoAtPrice = mberManageVO.getKakaoAtPrice(); + Float kakaoFtPrice = mberManageVO.getKakaoFtPrice(); Float faxPrice = mberManageVO.getFaxPrice(); System.out.println("mberManageVO.getFaxPrice() : " + mberManageVO.getFaxPrice()); @@ -1125,6 +1127,11 @@ public class EgovUserManageController { if(kakaoAtPrice < 1) { kakaoAtPrice = sysJoinSetVO.getKakaoAtPrice(); } + + if(kakaoFtPrice < 1) { + kakaoFtPrice = sysJoinSetVO.getKakaoFtPrice(); + } + if(faxPrice < 1) { faxPrice = sysJoinSetVO.getFaxPrice(); } @@ -1135,6 +1142,7 @@ public class EgovUserManageController { model.addAttribute("picture2Price", picture2Price); model.addAttribute("picture3Price", picture3Price); model.addAttribute("kakaoAtPrice", kakaoAtPrice); + model.addAttribute("kakaoFtPrice", kakaoFtPrice); model.addAttribute("faxPrice", faxPrice); model.addAttribute("sysJoinSetVO", sysJoinSetVO); @@ -1313,6 +1321,9 @@ public class EgovUserManageController { double kakaoAtCost = 0.00; double kakaoAtMargin = 0.00; + double kakaoFtCost = 0.00; + double kakaoFtMargin = 0.00; + double faxCost = 0.00; double faxMargin = 0.00; @@ -1345,11 +1356,24 @@ public class EgovUserManageController { avgPriceP = Double.parseDouble(item.getAgentPrice()); } } + + /* + * 알림톡,친구톡 원가 정보 조회 + * Agent 코드 번호를 넘겨준다. + * 다우기술 04번으로 넘겨줌 + * */ - // kakao 원가 - kakaoAtCost = kakaoApiService.selectKakaoCost(); + MjonMsgAgentStsVO resultAgentCost = mjonMsgAgentStsService.selectHotLineAgentCost("04"); + kakaoAtCost = resultAgentCost.getKakaoAtCost(); //알림톡 원가 + kakaoFtCost = resultAgentCost.getKakaoFtCost(); //친구톡 원가 + + // kakao 알림톡 마진률 계산 + //kakaoAtCost = kakaoApiService.selectKakaoCost(); kakaoAtMargin = (1-(kakaoAtCost / kakaoAtPrice))*100; + //kakao 친구톡 마진률 계산 + kakaoFtMargin = (1-(kakaoFtCost / kakaoFtPrice))*100; + // fax 원가 SELECT faxCost = faxService.getFaxCost(); // fax 마직 계산 :: 1-원가/단가 @@ -1366,7 +1390,9 @@ public class EgovUserManageController { model.addAttribute("avgPriceL", avgPriceL); model.addAttribute("avgPriceP", avgPriceP); model.addAttribute("kakaoAtCost", kakaoAtCost); + model.addAttribute("kakaoFtCost", kakaoFtCost); model.addAttribute("kakaoAtMargin", kakaoAtMargin); + model.addAttribute("kakaoFtMargin", kakaoFtMargin); model.addAttribute("faxCost", faxCost); model.addAttribute("faxMargin", faxMargin); } @@ -2894,6 +2920,11 @@ public class EgovUserManageController { mberManageVO.setKakaoAtPrice(0); } + // 친구톡 => 수정하려는 단가가 시스템기본단가와 동일할경우 0으로 세팅 + if (Float.compare(sysJoinSetVO.getKakaoFtPrice(), mberManageVO.getKakaoFtPrice()) == 0) { + mberManageVO.setKakaoFtPrice(0); + } + int resultCnt = mberManageService.updateUserPrice(mberManageVO); if(resultCnt > 0) { @@ -4789,7 +4820,7 @@ public class EgovUserManageController { * 회원 이용정지 사유 조회하기 * @param searchVO * @param model - * @return "/uss/umt/user/uss/umt/user/EgovGnrlselectedUserView.do.do" + * @return "/uss/umt/user/uss/umt/user/selectMberSpamBlockMemoDetailAjax.do" * @throws Exception */ @RequestMapping(value = {"/uss/umt/user/selectMberSpamBlockMemoDetailAjax.do"}) diff --git a/src/main/resources/egovframework/sqlmap/let/uss/umt/EgovMberManage_SQL_Mysql.xml b/src/main/resources/egovframework/sqlmap/let/uss/umt/EgovMberManage_SQL_Mysql.xml index 8e721c86..39465903 100644 --- a/src/main/resources/egovframework/sqlmap/let/uss/umt/EgovMberManage_SQL_Mysql.xml +++ b/src/main/resources/egovframework/sqlmap/let/uss/umt/EgovMberManage_SQL_Mysql.xml @@ -1217,6 +1217,7 @@ , PICTURE2_PRICE = #picture2Price# , PICTURE3_PRICE = #picture3Price# , KAKAO_AT_PRICE = #kakaoAtPrice# + , KAKAO_FT_PRICE = #kakaoFtPrice# , KAKAO_FT_IMG_PRICE = #kakaoFtImgPrice# , KAKAO_FT_WIDE_IMG_PRICE = #kakaoFtWideImgPrice# WHERE MBER_ID = #mberId# diff --git a/src/main/webapp/WEB-INF/jsp/cmm/uss/umt/EgovGnrlUserSelectUpdt.jsp b/src/main/webapp/WEB-INF/jsp/cmm/uss/umt/EgovGnrlUserSelectUpdt.jsp index 1a52cfed..5047f2a8 100644 --- a/src/main/webapp/WEB-INF/jsp/cmm/uss/umt/EgovGnrlUserSelectUpdt.jsp +++ b/src/main/webapp/WEB-INF/jsp/cmm/uss/umt/EgovGnrlUserSelectUpdt.jsp @@ -5246,7 +5246,7 @@ function fnInputSmiBlockMemo(){ 구분 알림톡(원) - 친구톡(준비중) + 친구톡(원) 팩스(원) @@ -5254,7 +5254,7 @@ function fnInputSmiBlockMemo(){ 문자온 원가 - 준비중 + @@ -5263,7 +5263,7 @@ function fnInputSmiBlockMemo(){ - 준비중 + @@ -5272,7 +5272,7 @@ function fnInputSmiBlockMemo(){ 마진률 % - 준비중 + % % @@ -5729,6 +5729,10 @@ function fnInputSmiBlockMemo(){ 알림톡 금액 + + 친구톡 금액 + +