알림톡 발송로직 테스트 중

This commit is contained in:
hehihoho3@gmail.com 2025-03-26 17:57:16 +09:00
parent 7c411c5f45
commit 3d80a90049
7 changed files with 31 additions and 17 deletions

View File

@ -2,6 +2,7 @@ package itn.com.cmm.util;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import itn.let.kakao.kakaoComm.KakaoSendAdvcVO;
import itn.let.kakao.kakaoComm.KakaoVO; import itn.let.kakao.kakaoComm.KakaoVO;
import itn.let.mjo.msg.service.MjonMsgVO; import itn.let.mjo.msg.service.MjonMsgVO;
@ -36,10 +37,10 @@ public class SlackMessageFormatUtil {
/** /**
* 카카오톡 메시지 텍스트 포맷팅 * 카카오톡 메시지 텍스트 포맷팅
*/ */
public static String formatKakaoText(KakaoVO kakaoVO) { public static String formatKakaoText(KakaoSendAdvcVO sendVO) {
String smsTxt = kakaoVO.getTemplateContent(); String smsTxt = sendVO.getTemplateContent();
String reserveYn = safeGetString(kakaoVO.getReserveYn()); String reserveYn = safeGetString(sendVO.getReserveYn());
String atDelayYn = safeGetString(kakaoVO.getAtDelayYn()); String atDelayYn = safeGetString(sendVO.getAtDelayYn());
// 공통 텍스트 포맷팅 로직 적용 // 공통 텍스트 포맷팅 로직 적용
return formatMessagePrefix(smsTxt, reserveYn, "Y".equals(atDelayYn)); return formatMessagePrefix(smsTxt, reserveYn, "Y".equals(atDelayYn));
@ -73,10 +74,10 @@ public class SlackMessageFormatUtil {
/** /**
* @카카오톡용 sandName 포맷팅 메서드 * @카카오톡용 sandName 포맷팅 메서드
*/ */
public static String formatKakaoSandName(KakaoVO kakaoVO) { public static String formatKakaoSandName(KakaoSendAdvcVO sendVO) {
String userId = kakaoVO.getUserId(); String userId = sendVO.getUserId();
String callFrom = kakaoVO.getCallFrom(); String callFrom = sendVO.getCallFrom();
String msgType = getKakaoMessageTypeLabel(kakaoVO.getMsgType()); String msgType = getKakaoMessageTypeLabel(sendVO.getMsgType());
return String.format("[%s][%s]%s", userId, callFrom, msgType); return String.format("[%s][%s]%s", userId, callFrom, msgType);
} }

View File

@ -902,9 +902,6 @@ public class KakaoAlimTalkServiceImpl extends EgovAbstractServiceImpl implements
boolean isNotified = mjonCommon.processUserAndCheckAT(kakaoVO); boolean isNotified = mjonCommon.processUserAndCheckAT(kakaoVO);
/** @LETTNGNRLMBER 사용자 정보 -> 스미싱의심 여부 */
UserManageVO userManageVO = mjonCommon.getUserManageInfo(userId);
kakaoVO.setAtSmishingYn(userManageVO.getAtSmishingYn());
/** @카카오톡 전송 list 셋팅 -------------------------------------------*/ /** @카카오톡 전송 list 셋팅 -------------------------------------------*/
List<KakaoSendAdvcVO> kakaoSendAdvcListVO = kakaoSendUtil.populateSendLists(kakaoVO, isNotified, statusResponse); List<KakaoSendAdvcVO> kakaoSendAdvcListVO = kakaoSendUtil.populateSendLists(kakaoVO, isNotified, statusResponse);
@ -976,7 +973,7 @@ public class KakaoAlimTalkServiceImpl extends EgovAbstractServiceImpl implements
/** @SLACK발송 */ /** @SLACK발송 */
/** @발송조건이되면 발송 */ /** @발송조건이되면 발송 */
if(isNotified) { if(isNotified) {
mjonCommon.getAdminKakaoAtSendSlack(kakaoVO); mjonCommon.getAdminKakaoAtSendSlack(sendVO);
}else if("Y".equals(kakaoVO.getAtSmishingYn())){ }else if("Y".equals(kakaoVO.getAtSmishingYn())){
/** @발송조건이 안되면 DB INSERT */ /** @발송조건이 안되면 DB INSERT */
mjonMsgDAO.insertSpamPassMsgData(MjonMsgVO.builder() mjonMsgDAO.insertSpamPassMsgData(MjonMsgVO.builder()

View File

@ -1430,7 +1430,7 @@ public class KakaoAlimTalkSendController {
if(!smishingAlarmPassSts) {//평일,주말, 공휴일 알림설정 시간에 포함되지 않는 경우 슬랙 알림 발송 if(!smishingAlarmPassSts) {//평일,주말, 공휴일 알림설정 시간에 포함되지 않는 경우 슬랙 알림 발송
mjonCommon.getAdminKakaoAtSendSlack(kakaoVO); // mjonCommon.getAdminKakaoAtSendSlack(kakaoVO);
} }

View File

@ -27,6 +27,7 @@ import itn.com.cmm.MjonMsgSendVO;
import itn.com.cmm.OptimalMsgResultDTO; import itn.com.cmm.OptimalMsgResultDTO;
import itn.com.cmm.util.MsgSendUtils; import itn.com.cmm.util.MsgSendUtils;
import itn.com.cmm.util.SlackMessageFormatUtil; import itn.com.cmm.util.SlackMessageFormatUtil;
import itn.let.kakao.kakaoComm.KakaoSendAdvcVO;
import itn.let.kakao.kakaoComm.KakaoVO; import itn.let.kakao.kakaoComm.KakaoVO;
import itn.let.mail.service.StatusResponse; import itn.let.mail.service.StatusResponse;
import itn.let.mjo.event.service.MjonEventService; import itn.let.mjo.event.service.MjonEventService;
@ -159,7 +160,7 @@ public class MjonCommon {
} }
} }
public void getAdminKakaoAtSendSlack(KakaoVO kakaoVO) { public void getAdminKakaoAtSendSlack(KakaoSendAdvcVO kakaoVO) {
HttpClient client = new HttpClient(); HttpClient client = new HttpClient();
PostMethod post = new PostMethod(SLACK_URL); PostMethod post = new PostMethod(SLACK_URL);
@ -537,7 +538,7 @@ private int parseIntOrDefault(String value, int defaultValue) {
// 조건 체크 // 조건 체크
if ("Y".equals(adminSmsNoticeYn) || "Y".equals(atSmishingYn)) { if ("Y".equals(adminSmsNoticeYn) || "Y".equals(atSmishingYn)) {
kakaoVO.setAtSmishingYn(atSmishingYn); // MjonMsgVO에 스미싱 정보 설정 kakaoVO.setAtSmishingYn("Y"); // MjonMsgVO에 스미싱 정보 설정
// 스미싱 알림 처리 // 스미싱 알림 처리
return handleSmishingAlert(); // 알림 처리 결과 반환 return handleSmishingAlert(); // 알림 처리 결과 반환

View File

@ -117,6 +117,7 @@ public class PriceAndPoint {
MjonPayVO mjonPayVO = new MjonPayVO(); MjonPayVO mjonPayVO = new MjonPayVO();
mjonPayVO.setCashId(idgenMjonCashId.getNextStringId()); mjonPayVO.setCashId(idgenMjonCashId.getNextStringId());
mjonPayVO.setUserId(userId); mjonPayVO.setUserId(userId);
System.out.println(" + totPrice :: "+ totPrice);
mjonPayVO.setCash(totPrice); mjonPayVO.setCash(totPrice);
mjonPayVO.setFrstRegisterId(userId); mjonPayVO.setFrstRegisterId(userId);
mjonPayVO.setMemo(memo); mjonPayVO.setMemo(memo);

View File

@ -702,6 +702,8 @@ function sendTemplateInfo(){
return false;
var status = data.status; var status = data.status;
if("OK" == status){ if("OK" == status){
var resultSts = data.object.resultSts; var resultSts = data.object.resultSts;
@ -1505,7 +1507,7 @@ $(window).on('load', function() {
<div class="clearfix receipt_num receiver_wrap01"> <div class="clearfix receipt_num receiver_wrap01">
<div class="receipt_num_top"> <div class="receipt_num_top">
<label for="callTo" class="label">받는 번호입력</label> <label for="callTo" class="label">받는 번호입력</label>
<input type="text" id="callTo" name="callTo" oninput="this.value = this.value.replace(/[^0-9.]/g, '').replace(/(\..*)\./g, '$1');" placeholder="번호를 입력하세요" onfocus="this.placeholder=''" onblur="this.placeholder='번호를 입력하세요'" style="width:340px;"> <input value="01083584250" type="text" id="callTo" name="callTo" oninput="this.value = this.value.replace(/[^0-9.]/g, '').replace(/(\..*)\./g, '$1');" placeholder="번호를 입력하세요" onfocus="this.placeholder=''" onblur="this.placeholder='번호를 입력하세요'" style="width:340px;">
<button type="button" class="btnType btnType6 addCallToF">번호추가</button> <button type="button" class="btnType btnType6 addCallToF">번호추가</button>
</br> </br>
<span> <span>

View File

@ -1118,7 +1118,19 @@ $(document).ready(function (){
.filter(num => num !== "") .filter(num => num !== "")
.filter(num => isValidPhoneNumber(num)); // 유효한 번호만 필터링; .filter(num => isValidPhoneNumber(num)); // 유효한 번호만 필터링;
fn_phoneAddProcess(tableL, numbers); console.log('numbers : ', numbers);
const addrData = processPhoneNumbers(numbers);
// 기존 tableL의 데이터를 가져옵니다.
var existingData = tableL.getData();
// 데이터 병합 및 중복 제거
const result = mergeAndValidateData(existingData, addrData);
// 테이블 데이터 업데이트
if (!updateTableData(tableL, result)) return false;
// textarea 초기화 // textarea 초기화
textarea.val(''); // jQuery 객체에서 값을 초기화할 때는 .val('') 사용 textarea.val(''); // jQuery 객체에서 값을 초기화할 때는 .val('') 사용