This commit is contained in:
woo 2023-07-11 09:41:30 +09:00
commit 25f6864f0c
12 changed files with 112 additions and 44 deletions

View File

@ -753,7 +753,7 @@ public class KakaoAlimTalkSendController {
if (joinSettingVO != null && joinSettingVO.getSlackNoti().equals("Y")) {
//Slack으로 메세지 전송 처리
MjonCommon comm = new MjonCommon();
// comm.getAdminKakaoAtSandSlack(kakaoVO);
comm.getAdminKakaoAtSandSlack(kakaoVO);
}
}

View File

@ -313,8 +313,42 @@ public class MjonKGMPayController {
UserManageVO userManageVO = new UserManageVO();
userManageVO.setSmishingYn("Y");
userManageVO.setMberId(Userid);
userManageService.updateOneUserSmishingYn(userManageVO);
userManageService.updateOneUserSmishingYnNotAlert(userManageVO);
}
else {
// 대상 : 휴대폰결제, 즉시이체, 전용계좌
// Step 1. 스미싱의심 지정 여부
JoinSettingVO joinSettingVO = new JoinSettingVO();
joinSettingVO = egovSiteManagerService.selectAdminNotiDetail();
if (joinSettingVO != null && joinSettingVO.getSmishingNoti().equals("Y")) {
// Step 1. 개인회원 여부 체크
int isPersnalMemberCnt = egovSiteManagerService.selectPersnalMemberCnt(Userid);
if (isPersnalMemberCnt == 1) {
// Step 2. 첫결제 여부 체크
int isFirstPayCnt = egovSiteManagerService.selectFirstPayCnt(Userid);
if (isFirstPayCnt == 1) {
// SMS 체크
if (joinSettingVO != null && joinSettingVO.getSmsNoti().equals("Y")) {
// 스미싱의심 SMS 알림전송
mjonNoticeSendUtil.smishingSmsNoticeSend("스미싱의심/휴대폰 첫결제", Userid, mberNm);
}
// SLACK 체크
if (joinSettingVO != null && joinSettingVO.getSlackNoti().equals("Y")) {
// Slack 메시지 발송(단순본문)
String msg = "[문자온] 스미싱의심/휴대폰 첫결제 - " + mberNm +"("+ Userid + ")";
mjonCommon.sendSimpleSlackMsg(msg);
}
// 스미싱 의심회원으로 변경
UserManageVO userManageVO = new UserManageVO();
userManageVO.setSmishingYn("Y");
userManageVO.setMberId(Userid);
userManageService.updateOneUserSmishingYnNotAlert(userManageVO);
}
}
}
}
redirect.addAttribute("Resultcd", Resultcd);
redirect.addAttribute("Tradeid", Tradeid);

View File

@ -28,7 +28,9 @@ import itn.let.mjo.payva.service.VacsAhstVO;
import itn.let.schdlr.service.SchdlrManageService;
import itn.let.schdlr.service.SchdlrVO;
import itn.let.sym.site.service.EgovSiteManagerService;
import itn.let.sym.site.service.JoinSettingVO;
import itn.let.uss.umt.service.EgovUserManageService;
import itn.let.uss.umt.service.UserManageVO;
import itn.let.utl.user.service.MjonNoticeSendUtil;
@Service("SchdlrManageService")
@ -362,7 +364,6 @@ public class SchdlrManageServiceImpl extends EgovAbstractServiceImpl implements
//세틀뱅크 입금 내역 원장에 처리 완료 내용 입력해 주기
vacsAhstService.updateVacsAhstCashComplete(temp);
/*
try {
String Userid = temp.getMberId();
String mberNm = "";
@ -407,7 +408,7 @@ public class SchdlrManageServiceImpl extends EgovAbstractServiceImpl implements
System.out.println("전용계좌 TrNo : " + temp.getTrNo());
System.out.println("전용계좌 e.getMessage() : " + e.getMessage());
}
*/
}

View File

@ -517,9 +517,14 @@
AND MD.MSG_GROUP_ID = MG.MSG_GROUP_ID
AND IFNULL(MG.DEL_FLAG, 'N') = 'N'
AND MD.DEL_FLAG = 'N'
<!-- JSPark 2023.03.24 알림톡 전송완료 목록은 (즉시 + 예약 발송완료) 노출 -->
<!-- JSPark 2023.07.10 알림톡 전송완료 목록은 (즉시 + 예약 발송완료 + 처리안된 지연문자(즉시,예약) 노출 -->
<![CDATA[
AND MG.REQ_DATE <= DATE_ADD(NOW(), INTERVAL 60 MINUTE)
AND CASE
WHEN MG.RESERVE_YN = 'N'
THEN (MG.REQ_DATE <= DATE_ADD(NOW(), INTERVAL 60 MINUTE))
WHEN MG.RESERVE_YN = 'Y'
THEN (MG.REQ_DATE <= NOW() OR (MG.AT_DELAY_YN = 'Y' AND MG.AT_DELAY_COMPLETE_YN = 'N'))
END
]]>
<isNotEmpty property="userId">
AND MG.USER_ID = #userId#
@ -740,9 +745,9 @@
THEN '단문'
ELSE '장문'
END BIZ_KAKAO_RESEND_TYPE
, A.BIZ_KAKAO_RESEND_DATA
, A.BIZ_KAKAO_JSON_FILE
, A.BIZ_UMID
, A.BIZ_KAKAO_RESEND_DATA
, A.BIZ_KAKAO_JSON_FILE
, A.BIZ_UMID
<include refid="KakaoSentDAO.selectJoinQuery"/>
<isNotEmpty property="userId">
AND B.USER_ID = #userId#
@ -762,7 +767,12 @@
AND A.MSG_TYPE IN ('8','9')
</isEmpty>
<![CDATA[
AND B.REQ_DATE <= DATE_ADD(NOW(), INTERVAL 60 MINUTE)
AND CASE
WHEN B.RESERVE_YN = 'N'
THEN (B.REQ_DATE <= DATE_ADD(NOW(), INTERVAL 60 MINUTE))
WHEN B.RESERVE_YN = 'Y'
THEN (B.REQ_DATE <= NOW() OR (B.AT_DELAY_YN = 'Y' AND B.AT_DELAY_COMPLETE_YN = 'N'))
END
]]>
)M
LEFT JOIN MJ_KAKAO_PROFILE_INFO MKPI

View File

@ -275,7 +275,7 @@
var confCode = $("#confCode").val();
if (!confirm('문자발송 사용여부는 전송사 비율과 상관없이\n사용자 문자 발송 사용여부가 일괄 적용됩니다.(주의)\n\n수정 하시겠습니까?')){
if (!confirm('문자, 알림톡 사용자화면 발송 사용여부가 변경됩니다.\n긴급 시스템작업시에만 사용해주세요.\n수정 하시겠습니까?')){
return false;
}
@ -374,7 +374,7 @@
<br><br />
<div class="listTop maxWth">
<span class="tType4 c_e40000 fwBold">
<p >문자발송 사용여부 - 전송사 비율과 상관없이, 사용자 문자 발송 사용여부 일괄 적용(주의)</p>
<p>문자, 알림톡 발송 사용여부 - 문자, 알림톡 사용자화면 발송 사용여부(주의)</p>
</span>
</div>
<div class="tableWrap maxWth">
@ -386,7 +386,7 @@
<tbody>
<tr>
<th>
문자발송 사용여부
문자, 알림톡 발송 사용여부
</th>
<td>
<ec:select codeId="CONF01" name="confCode" id="confCode" css="class='select'" selectedValue="${confVO.confCode}" />

View File

@ -3689,7 +3689,7 @@ function kakaoATDelayCancel(msgGroupId){
<c:otherwise>
그림문자
</c:otherwise>
</c:choose>
</c:choose>
<div class="sms_detail_hover">
<c:if test="${not empty fn:split(mjonMsgSentList.atchFiles, '^')[0]}">
<img class="MyMsgImg1" src="/cmm/fms/getImage2.do?atchFileId=${fn:split(mjonMsgSentList.atchFiles, '^')[0]}&fileSn=0" style="width: 110px;">
@ -3870,9 +3870,9 @@ function kakaoATDelayCancel(msgGroupId){
<c:otherwise>
-
</c:otherwise>
</c:choose>
</c:choose>
</c:otherwise>
</c:choose> </td>
</c:choose>
</td>
<td><c:out value="${mjonMsgSentList.callFrom}"/></td>
<td class="sms_detail" style="text-align: left;">
@ -3885,7 +3885,7 @@ function kakaoATDelayCancel(msgGroupId){
<c:otherwise>
그림문자
</c:otherwise>
</c:choose>
</c:choose>
<div class="sms_detail_hover">
<c:if test="${not empty fn:split(mjonMsgSentList.atchFiles, '^')[0]}">
<img class="MyMsgImg1" src="/cmm/fms/getImage2.do?atchFileId=${fn:split(mjonMsgSentList.atchFiles, '^')[0]}&fileSn=0" style="width: 110px;">
@ -4066,24 +4066,16 @@ function kakaoATDelayCancel(msgGroupId){
</td>
<td><c:out value="${mjonMsgDelaySentList.callFrom}"/></td>
<td class="sms_detail" style="text-align: left;">
<%--
<div class="ellipsis_line">
<!-- 그림문자 중 텍스트 내용은 없고 그림 이미지만 있는경우 처리 -->
<c:choose>
<c:when test="${empty mjonMsgDelaySentList.smsTxt && not empty mjonMsgDelaySentList.filePath1}">
그림이미지
</c:when>
<c:otherwise>
<c:out value="${mjonMsgDelaySentList.smsTxt}"/>
</c:otherwise>
</c:choose>
</div>
--%>
<c:choose>
<c:when test="${empty mjonMsgDelaySentList.smsTxt}">
그림문자
<c:choose>
<c:when test="${mjonMsgDelaySentList.msgType eq '4'}">
내용없음
</c:when>
<c:otherwise>
그림문자
</c:otherwise>
</c:choose>
<div class="sms_detail_hover">
<c:if test="${not empty fn:split(mjonMsgDelaySentList.atchFiles, '^')[0]}">
<img class="MyMsgImg1" src="/cmm/fms/getImage2.do?atchFileId=${fn:split(mjonMsgDelaySentList.atchFiles, '^')[0]}&fileSn=0" style="width: 120px;">
@ -5252,7 +5244,7 @@ function kakaoATDelayCancel(msgGroupId){
<br>
작성 : <c:out value="${result.frstRegisterId}"/>(<c:out value="${result.mberNm}"/> <c:out value="${result.ofcpsNm}"/>)
<br>
일시 : <c:out value="${result.frstRegistPnttm}"/>
일시 : <c:out value="${result.frstRegistPnttm}"/>
</li>
</c:forEach>
</ul>

View File

@ -582,7 +582,7 @@ function fnSmishingUpdate(flag) {
<fmt:parseDate value="${result.reqDate}" var="reqDateValue" pattern="yyyy-MM-dd HH:mm"/>
<fmt:formatDate value="${reqDateValue}" pattern="MM-dd HH:mm"/>
</td>
<td onclick="fn_detail_list('${result.msgGroupId}'); return false;" style="cursor:pointer;" <c:if test="${result.atSmishingYn eq 'Y'}">class="smishing"</c:if>>
<td onclick="fn_detail_list('${result.msgGroupId}', '<c:out value="${result.userId}"/>'); return false;" style="cursor:pointer;" <c:if test="${result.atSmishingYn eq 'Y'}">class="smishing"</c:if>>
<c:choose>
<c:when test="${result.reserveYn eq 'Y'}">
예약

View File

@ -498,10 +498,10 @@ function fnAtSmishingUpdate(flag) {
</a>
</div>
</td>
<td onclick="fn_detail_list('<c:out value="${result.msgGroupId}"/>', '<c:out value="${result.userId}"/>'); return false;" <c:if test="${result.atSmishingYn eq 'Y'}">class="smishing"</c:if>>
<td onclick="fn_detail_list('<c:out value="${result.msgGroupId}"/>', '<c:out value="${result.userId}"/>'); return false;" style="cursor:pointer;" <c:if test="${result.atSmishingYn eq 'Y'}">class="smishing"</c:if>>
<c:out value="${result.yellowId}"/>
</td>
<td onclick="fn_detail_list('<c:out value="${result.msgGroupId}"/>', '<c:out value="${result.userId}"/>'); return false;" <c:if test="${result.atSmishingYn eq 'Y'}">class="smishing"</c:if>>
<td onclick="fn_detail_list('<c:out value="${result.msgGroupId}"/>', '<c:out value="${result.userId}"/>'); return false;" style="cursor:pointer;" <c:if test="${result.atSmishingYn eq 'Y'}">class="smishing"</c:if>>
<c:choose>
<c:when test="${result.successCount > 0}">
<c:out value="${result.msgGroupCnt}"/>(<fmt:formatNumber value="${(result.successCount / result.msgGroupCnt) * 100}" pattern="#,###" />%)
@ -550,11 +550,11 @@ function fnAtSmishingUpdate(flag) {
</c:otherwise>
</c:choose>
</td>
<td onclick="fn_detail_list('<c:out value="${result.msgGroupId}"/>', '<c:out value="${result.userId}"/>'); return false;" title="<c:out value="${result.rsltDate}"/>" <c:if test="${result.atSmishingYn eq 'Y'}">class="smishing"</c:if>>
<td onclick="fn_detail_list('<c:out value="${result.msgGroupId}"/>', '<c:out value="${result.userId}"/>'); return false;" style="cursor:pointer;" title="<c:out value="${result.rsltDate}"/>" <c:if test="${result.atSmishingYn eq 'Y'}">class="smishing"</c:if>>
<fmt:parseDate value="${result.reqDate}" var="reqDateValue" pattern="yyyy-MM-dd HH:mm"/>
<fmt:formatDate value="${reqDateValue}" pattern="MM-dd HH:mm"/>
</td>
<td onclick="fn_detail_list('${result.msgGroupId}', '<c:out value="${result.userId}"/>'); return false;" <c:if test="${result.atSmishingYn eq 'Y'}">class="smishing"</c:if>>
<td onclick="fn_detail_list('${result.msgGroupId}', '<c:out value="${result.userId}"/>'); return false;" style="cursor:pointer;" <c:if test="${result.atSmishingYn eq 'Y'}">class="smishing"</c:if>>
<c:choose>
<c:when test="${result.reserveYn eq 'Y'}">
예약
@ -582,10 +582,8 @@ function fnAtSmishingUpdate(flag) {
</table>
</div>
<div class="btnWrap" style="margin-bottom: 15px;">
<!--
<input type="button" class="btnType2" style="padding:5px 10px" onclick="fnAtSmishingUpdate('on'); return false;" value="알림톡 스미싱 ON">
<input type="button" class="btnType2" style="padding:5px 10px" onclick="fnAtSmishingUpdate('off'); return false;" value="알림톡 스미싱 OFF">
-->
</div>
<!-- 페이지 네비게이션 시작 -->

View File

@ -808,8 +808,8 @@ function TabTypePay(obj, tabId) {
</div>--%>
<div>
<p class="tab_tit">충전수단 선택</p>
<ul class="area_tab type03">
<li class="btn_charge0 btn_tab active"><button type="button" onclick="TabTypePay(this,'0');"><i></i>간편결제</button></li>
<ul class="area_tab">
<li class="btn_charge_simple btn_tab active"><button type="button" onclick="TabTypePay(this,'0');"><i></i>간편결제</button></li>
<li class="btn_charge1 btn_tab"><button type="button" onclick="TabTypePay(this,'1');"><i></i>신용카드</button></li>
<li class="btn_charge2 btn_tab"><button type="button" onclick="TabTypePay(this,'2');" id="btnDdedicatedAccount"><i></i>전용계좌</button></li>
<li class="btn_charge5 btn_tab"><button type="button" onclick="TabTypePay(this,'5');"><i></i>즉시이체</button></li>

View File

@ -167,6 +167,8 @@
alert("팩스 발송에 필요한 회원님의 보유 잔액이 부족 합니다.");
return false;
}
return true;
}

View File

@ -434,11 +434,38 @@ function excelDownload(){
}
function checkConf() {
var confCheck = false;
$.ajax({
type: "POST",
url: "/web/mjon/conf/selectMjonMsgUseConfAjax.do",
data: {},
dataType:'json',
async: false,
success: function (returnData, status) {
if(returnData.result == "fail") {
console.log(returnData.message);
}else if(returnData.result == "success"){
confCheck = true;
}
}
,error: function (e) {console.log("ERROR : ", e); }
});
return confCheck;
}
/*
* 등록된 발신 탬플릿 카카오톡 전송
*/
function sendTemplateInfo(){
if(!checkConf()){ //문자온 conf-check
alert("현재 알림톡 발송하기 기능 점검 중입니다.\n\n1분 후 다시 시도해주세요.");
return false;
}
if(!usrDeptChk()){
return false;
}

View File

@ -6,6 +6,10 @@
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
<%@ taglib prefix="ec" uri="/WEB-INF/tld/ecnet_tld.tld"%>
<style>
.charg_cont .area_tab li{ width: calc((100% - 80px)/5);}
</style>
<!-- KG 모빌리언스 -->
<script src="https://mup.mobilians.co.kr/js/ext/ext_inc_comm.js"></script>
<script type="text/javascript" src="<c:url value='/js/MJUtill.js'/>"></script>
@ -639,7 +643,7 @@ function TabTypePay(obj, tabId) {
<div>
<p class="tab_tit">충전수단 선택</p>
<ul class="area_tab">
<li class="btn_charge0 btn_tab active"><button type="button" onclick="TabTypePay(this,'0');"><i></i>간편결제</button></li>
<li class="btn_charge_simple btn_tab active"><button type="button" onclick="TabTypePay(this,'0');"><i></i>간편결제</button></li>
<li class="btn_charge1 btn_tab"><button type="button" onclick="TabTypePay(this,'1');"><i></i>신용카드</button></li>
<li class="btn_charge2 btn_tab"><button type="button" onclick="TabTypePay(this,'2');" id="btnDdedicatedAccount"><i></i>전용계좌</button></li>
<!-- <li class="btn_charge2 btn_tab"><button type="button" onclick="TabTypePay(this,'3');"><i></i>무통장입금</button></li> -->