From e7e0c044300fe066d14cb42788ffa16781f56543 Mon Sep 17 00:00:00 2001 From: rosewiper Date: Thu, 12 Sep 2024 11:33:45 +0900 Subject: [PATCH] =?UTF-8?q?=EC=82=AC=EC=9A=A9=EC=9E=90=20=EC=B9=9C?= =?UTF-8?q?=EA=B5=AC=ED=86=A1=20=EC=8A=A4=EB=AF=B8=EC=8B=B1=20=EC=9D=98?= =?UTF-8?q?=EC=8B=AC=EC=97=90=20=EB=8C=80=ED=95=9C=2030=EB=B6=84=20?= =?UTF-8?q?=EC=A7=80=EC=97=B0=EC=97=90=20=EB=8C=80=ED=95=9C=20=EC=98=A4?= =?UTF-8?q?=EB=A5=98=20=EC=88=98=EC=A0=95=20=20=20-=20=EC=A7=80=EC=97=B0?= =?UTF-8?q?=EC=B2=98=EB=A6=AC=EA=B0=80=20=EC=95=88=EB=90=98=EA=B3=A0=20?= =?UTF-8?q?=EC=9E=88=EC=96=B4=EC=84=9C=20=EC=98=A4=EB=A5=98=20=EC=88=98?= =?UTF-8?q?=EC=A0=95=20=EC=99=84=EB=A3=8C(at=5Fdelay=5Fyn=20=EA=B0=92?= =?UTF-8?q?=EC=9D=B4=20=EB=B3=80=EA=B2=BD=EC=9D=B4=20=EC=95=88=EB=90=98?= =?UTF-8?q?=EB=8D=98=20=EB=B6=80=EB=B6=84=20=EC=88=98=EC=A0=95)=20=20=20-?= =?UTF-8?q?=20=EC=95=BC=EA=B0=84=EC=8A=A4=EB=AF=B8=EC=8B=B1=EC=9D=98?= =?UTF-8?q?=EC=8B=AC=20=EB=AF=B8=EC=B2=98=EB=A6=AC=20=EA=B8=B0=EB=8A=A5=20?= =?UTF-8?q?=EC=B6=94=EA=B0=80=20=EC=99=84=EB=A3=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 관리자 - 사용자 상세 팝업에 친구톡 단가 및 마진률 표시, 협의단가 입력 팝업에 친구톡 항목 추가 및 수정 기능 변경 --- .../impl/KakaoAlimTalkServiceImpl.java | 67 ++++++++++++++++++- .../web/KakaoFriendsTalkSendController.java | 4 +- .../uss/umt/web/EgovUserManageController.java | 37 +++++++++- .../let/uss/umt/EgovMberManage_SQL_Mysql.xml | 1 + .../cmm/uss/umt/EgovGnrlUserSelectUpdt.jsp | 12 ++-- 5 files changed, 111 insertions(+), 10 deletions(-) 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(){ 알림톡 금액 + + 친구톡 금액 + +