Merge branch 'master' of http://alfk8281@vcs.iten.co.kr:9999/hylee/mjon_git
This commit is contained in:
commit
29ed297f10
@ -40,5 +40,7 @@ public interface MjonKakaoATService {
|
|||||||
//회원 정보 알림톡 상세정보 리스트 팝업 통계 정보
|
//회원 정보 알림톡 상세정보 리스트 팝업 통계 정보
|
||||||
KakaoVO selectMjonKakaoStatisticATData(KakaoVO searchVO) throws Exception;
|
KakaoVO selectMjonKakaoStatisticATData(KakaoVO searchVO) throws Exception;
|
||||||
|
|
||||||
|
//알림톡 지연문자 리스트 조회
|
||||||
|
List<KakaoVO> selectKakaoATDelaySentList(String userId) throws Exception;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -88,4 +88,8 @@ public class MjonKakaoATDAO extends EgovAbstractDAO {
|
|||||||
|
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
@SuppressWarnings("unchecked")
|
||||||
|
public List<KakaoVO> selectKakaoATDelaySentList(String userId) throws Exception{
|
||||||
|
return (List<KakaoVO>)list("mjonKakaoATDAO.selectKakaoATDelaySentList", userId);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -184,4 +184,9 @@ public class MjonKakaoATServiceImpl extends EgovAbstractServiceImpl implements M
|
|||||||
|
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<KakaoVO> selectKakaoATDelaySentList(String userId) throws Exception {
|
||||||
|
return mjonKakaoATDAO.selectKakaoATDelaySentList(userId);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -157,6 +157,32 @@ public class KakaoAlimTalkServiceImpl extends EgovAbstractServiceImpl implements
|
|||||||
kakaoSandInfo.setReqDate(sdFormat.format(now));
|
kakaoSandInfo.setReqDate(sdFormat.format(now));
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if(kakaoVO.getAtSmishingYn().equals("Y")) {
|
||||||
|
String sandDate = "";
|
||||||
|
|
||||||
|
if(kakaoVO.getDivideChk().equals("Y")) {
|
||||||
|
//분할 문자 예약 시간 입력해주기
|
||||||
|
sandDate = dividDayList.get(i);
|
||||||
|
}else {
|
||||||
|
//예약 시간 입력해주기
|
||||||
|
sandDate = kakaoVO.getReqDate();
|
||||||
|
}
|
||||||
|
|
||||||
|
SimpleDateFormat sdFormat = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
|
||||||
|
Date date = sdFormat.parse(sandDate);
|
||||||
|
|
||||||
|
Calendar cal1 = Calendar.getInstance();
|
||||||
|
cal1.setTime(date); // 시간 설정
|
||||||
|
cal1.add(Calendar.MINUTE, 30); // 30분 연산
|
||||||
|
|
||||||
|
String reqDate = sdFormat.format(cal1.getTime());
|
||||||
|
|
||||||
|
System.out.println("@@@@@@@@@@@@@@ reqDate : "+reqDate);
|
||||||
|
kakaoVO.setReqDate(reqDate);
|
||||||
|
kakaoSandInfo.setReqDate(reqDate);
|
||||||
|
}
|
||||||
|
|
||||||
/**전송시간 설정 (끝)------------------------------------------------*/
|
/**전송시간 설정 (끝)------------------------------------------------*/
|
||||||
|
|
||||||
/**카카오 전송 데이터 추가*/
|
/**카카오 전송 데이터 추가*/
|
||||||
@ -231,6 +257,8 @@ public class KakaoAlimTalkServiceImpl extends EgovAbstractServiceImpl implements
|
|||||||
mjonMsgVO.setBefCash(kakaoVO.getBefCash());
|
mjonMsgVO.setBefCash(kakaoVO.getBefCash());
|
||||||
mjonMsgVO.setBefPoint(kakaoVO.getBefPoint());
|
mjonMsgVO.setBefPoint(kakaoVO.getBefPoint());
|
||||||
mjonMsgVO.setKakaoSubMagOrgnlTxt(kakaoVO.getKakaoSubMagOrgnlTxt());
|
mjonMsgVO.setKakaoSubMagOrgnlTxt(kakaoVO.getKakaoSubMagOrgnlTxt());
|
||||||
|
mjonMsgVO.setAtDelayYn(kakaoVO.getAtSmishingYn());
|
||||||
|
|
||||||
|
|
||||||
if(kakaoVO.getBizJsonYn().equals("Y")) {
|
if(kakaoVO.getBizJsonYn().equals("Y")) {
|
||||||
mjonMsgVO.setFileCnt("1");
|
mjonMsgVO.setFileCnt("1");
|
||||||
|
|||||||
@ -49,11 +49,16 @@ import itn.let.kakao.kakaoComm.kakaoApi.KakaoApiProfileCategory;
|
|||||||
import itn.let.kakao.kakaoComm.kakaoApi.KakaoApiTemplate;
|
import itn.let.kakao.kakaoComm.kakaoApi.KakaoApiTemplate;
|
||||||
import itn.let.kakao.kakaoComm.kakaoApi.service.KakaoApiService;
|
import itn.let.kakao.kakaoComm.kakaoApi.service.KakaoApiService;
|
||||||
import itn.let.kakao.user.kakaoAt.service.KakaoAlimTalkService;
|
import itn.let.kakao.user.kakaoAt.service.KakaoAlimTalkService;
|
||||||
|
import itn.let.mjo.mjocommon.MjonCommon;
|
||||||
|
import itn.let.mjo.msg.service.MjonMsgVO;
|
||||||
import itn.let.mjo.msgdata.service.MjonMsgDataService;
|
import itn.let.mjo.msgdata.service.MjonMsgDataService;
|
||||||
import itn.let.mjo.msgdata.service.MjonMsgDataVO;
|
import itn.let.mjo.msgdata.service.MjonMsgDataVO;
|
||||||
import itn.let.mjo.msgdata.service.MjonMsgReturnVO;
|
import itn.let.mjo.msgdata.service.MjonMsgReturnVO;
|
||||||
|
import itn.let.sym.site.service.EgovSiteManagerService;
|
||||||
import itn.let.sym.site.service.JoinSettingVO;
|
import itn.let.sym.site.service.JoinSettingVO;
|
||||||
|
import itn.let.uss.umt.service.EgovUserManageService;
|
||||||
import itn.let.uss.umt.service.MberManageVO;
|
import itn.let.uss.umt.service.MberManageVO;
|
||||||
|
import itn.let.uss.umt.service.UserManageVO;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
@ -87,10 +92,18 @@ public class KakaoAlimTalkSendController {
|
|||||||
@Resource(name = "MjonMsgDataService")
|
@Resource(name = "MjonMsgDataService")
|
||||||
private MjonMsgDataService mjonMsgDataService;
|
private MjonMsgDataService mjonMsgDataService;
|
||||||
|
|
||||||
|
/** userManageService */
|
||||||
|
@Resource(name = "userManageService")
|
||||||
|
private EgovUserManageService userManageService;
|
||||||
|
|
||||||
/** EgovMessageSource */
|
/** EgovMessageSource */
|
||||||
@Resource(name="egovMessageSource")
|
@Resource(name="egovMessageSource")
|
||||||
EgovMessageSource egovMessageSource;
|
EgovMessageSource egovMessageSource;
|
||||||
|
|
||||||
|
/** 사이트 설정 */
|
||||||
|
@Resource(name = "egovSiteManagerService")
|
||||||
|
EgovSiteManagerService egovSiteManagerService;
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
KakaoApiProfile kakaoApiProfile;
|
KakaoApiProfile kakaoApiProfile;
|
||||||
|
|
||||||
@ -154,6 +167,7 @@ public class KakaoAlimTalkSendController {
|
|||||||
|
|
||||||
mberManageVO = mjonMsgDataService.selectMberManageInfo(userId);
|
mberManageVO = mjonMsgDataService.selectMberManageInfo(userId);
|
||||||
|
|
||||||
|
model.addAttribute("atSmishingYn", mberManageVO.getAtSmishingYn());
|
||||||
}
|
}
|
||||||
|
|
||||||
//3.사용자 개인단가 정보가 0이 아니면 개인단가 사용, 없으면 시스템 기본 단가 사용
|
//3.사용자 개인단가 정보가 0이 아니면 개인단가 사용, 없으면 시스템 기본 단가 사용
|
||||||
@ -479,11 +493,10 @@ public class KakaoAlimTalkSendController {
|
|||||||
int resultSts = 0; //발송결과 건수
|
int resultSts = 0; //발송결과 건수
|
||||||
int resultBlockSts = 0; //수신거부 등록번호로 발송을 안한 건수
|
int resultBlockSts = 0; //수신거부 등록번호로 발송을 안한 건수
|
||||||
|
|
||||||
|
LoginVO loginVO = EgovUserDetailsHelper.isAuthenticated()? (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser():null;
|
||||||
|
String userId = loginVO == null ? "" : EgovStringUtil.isNullToString(loginVO.getId());
|
||||||
try {
|
try {
|
||||||
|
|
||||||
LoginVO loginVO = EgovUserDetailsHelper.isAuthenticated()? (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser():null;
|
|
||||||
String userId = loginVO == null ? "" : EgovStringUtil.isNullToString(loginVO.getId());
|
|
||||||
|
|
||||||
if(userId == "") {
|
if(userId == "") {
|
||||||
modelAndView.addObject("message", "로그인 후 이용이 가능합니다.");
|
modelAndView.addObject("message", "로그인 후 이용이 가능합니다.");
|
||||||
modelAndView.addObject("result", "loginFail");
|
modelAndView.addObject("result", "loginFail");
|
||||||
@ -491,7 +504,9 @@ public class KakaoAlimTalkSendController {
|
|||||||
}else {
|
}else {
|
||||||
/** 카카오톡 전송 기본 설정 -------------------------------------------*/
|
/** 카카오톡 전송 기본 설정 -------------------------------------------*/
|
||||||
kakaoVO.setSendType("AT");
|
kakaoVO.setSendType("AT");
|
||||||
|
kakaoVO.setMsgType("8");
|
||||||
kakaoVO.setUserId(userId);
|
kakaoVO.setUserId(userId);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/** 전송금액 설정 --------------------------------------------------*/
|
/** 전송금액 설정 --------------------------------------------------*/
|
||||||
@ -709,6 +724,43 @@ public class KakaoAlimTalkSendController {
|
|||||||
modelAndView.addObject("result", "success");
|
modelAndView.addObject("result", "success");
|
||||||
modelAndView.addObject("resultSts", resultSts);
|
modelAndView.addObject("resultSts", resultSts);
|
||||||
|
|
||||||
|
|
||||||
|
/** 카카오톡 발송 내용 법인폰, 알림톡 결과 처리 --------------------------------------------------*/
|
||||||
|
try {
|
||||||
|
String adminSmsNoticeYn = "Y";
|
||||||
|
String spamStatus = kakaoVO.getAtSmishingYn(); // 스미싱 의심으로 체크된 고객 정보
|
||||||
|
|
||||||
|
UserManageVO userManageVO = new UserManageVO();
|
||||||
|
userManageVO.setMberId(userId);
|
||||||
|
|
||||||
|
if(!userId.equals("")) {
|
||||||
|
userManageVO = userManageService.selectAdminSmsNoticeYn(userManageVO);
|
||||||
|
adminSmsNoticeYn = userManageVO.getAdminSmsNoticeYn();
|
||||||
|
}
|
||||||
|
|
||||||
|
//법인폰 알림 온 이거나 스미싱의심 문자인 경우 법인폰으로 발송
|
||||||
|
if(adminSmsNoticeYn.equals("Y") || spamStatus.equals("Y")) {
|
||||||
|
|
||||||
|
if(spamStatus.equals("Y")) {
|
||||||
|
kakaoVO.setAtDelayYn("Y");
|
||||||
|
}
|
||||||
|
|
||||||
|
// 법인폰 알람여부 체크
|
||||||
|
JoinSettingVO joinSettingVO = new JoinSettingVO();
|
||||||
|
joinSettingVO = egovSiteManagerService.selectAdminNotiDetail();
|
||||||
|
|
||||||
|
// SLACK 체크
|
||||||
|
if (joinSettingVO != null && joinSettingVO.getSlackNoti().equals("Y")) {
|
||||||
|
//Slack으로 메세지 전송 처리
|
||||||
|
MjonCommon comm = new MjonCommon();
|
||||||
|
// comm.getAdminKakaoAtSandSlack(kakaoVO);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
} catch (Exception e) {
|
||||||
|
throw new Exception("++++++++++++++++++++++ getAdminPhoneSendMsgData Error !!! " + e);
|
||||||
|
}
|
||||||
|
|
||||||
return modelAndView;
|
return modelAndView;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -12,6 +12,7 @@ import org.springframework.stereotype.Service;
|
|||||||
|
|
||||||
import com.mysql.jdbc.StringUtils;
|
import com.mysql.jdbc.StringUtils;
|
||||||
|
|
||||||
|
import itn.let.kakao.kakaoComm.KakaoVO;
|
||||||
import itn.let.mjo.msg.service.MjonMsgVO;
|
import itn.let.mjo.msg.service.MjonMsgVO;
|
||||||
|
|
||||||
@Service("MjonCommon")
|
@Service("MjonCommon")
|
||||||
@ -242,4 +243,63 @@ public class MjonCommon {
|
|||||||
return mjonMsgVO;
|
return mjonMsgVO;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@SuppressWarnings("unchecked")
|
||||||
|
public void getAdminKakaoAtSandSlack(KakaoVO kakaoVO) {
|
||||||
|
|
||||||
|
HttpClient client = new HttpClient();
|
||||||
|
PostMethod post = new PostMethod(url);
|
||||||
|
JSONObject json = new JSONObject();
|
||||||
|
try {
|
||||||
|
|
||||||
|
String reserveYn = kakaoVO.getReserveYn();
|
||||||
|
String atDelayYn = kakaoVO.getAtDelayYn();
|
||||||
|
String smsTxt = kakaoVO.getTemplateContent();
|
||||||
|
String reservSmsTxt = "";
|
||||||
|
String smisingSmsTxt = "";
|
||||||
|
//예약문자를 발송하는 경우 문자 내용 앞에 "[예약]" 표시되도록 처리
|
||||||
|
if(reserveYn.equals("Y")) {
|
||||||
|
reservSmsTxt = "[예약]" + smsTxt;
|
||||||
|
smsTxt = reservSmsTxt;
|
||||||
|
}else if(atDelayYn.equals("Y")) {
|
||||||
|
|
||||||
|
smisingSmsTxt = "[스미싱의심]" + smsTxt;
|
||||||
|
smsTxt = smisingSmsTxt;
|
||||||
|
}
|
||||||
|
|
||||||
|
String sandName = kakaoVO.getCallFrom();
|
||||||
|
String userId = kakaoVO.getUserId();
|
||||||
|
String msgType = "";
|
||||||
|
|
||||||
|
if(kakaoVO.getMsgType().equals("8")) {
|
||||||
|
msgType = "[알림톡]";
|
||||||
|
}else if(kakaoVO.getMsgType().equals("9")){
|
||||||
|
|
||||||
|
}
|
||||||
|
sandName = "[" + userId + "]" + "[" + sandName + "]" + msgType;
|
||||||
|
|
||||||
|
json.put("channel", "mjon메시지");
|
||||||
|
json.put("text", smsTxt);
|
||||||
|
json.put("username", sandName);
|
||||||
|
|
||||||
|
|
||||||
|
post.addParameter("payload", json.toString());
|
||||||
|
// 처음에 utf-8로 content-type안넣어주니까 한글은 깨져서 content-type넣어줌
|
||||||
|
post.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8");
|
||||||
|
int responseCode = client.executeMethod(post);
|
||||||
|
String response = post.getResponseBodyAsString();
|
||||||
|
if (responseCode != HttpStatus.SC_OK) {
|
||||||
|
System.out.println("Response: " + response);
|
||||||
|
}
|
||||||
|
} catch (IllegalArgumentException e) {
|
||||||
|
System.out.println("IllegalArgumentException posting to Slack " + e);
|
||||||
|
} catch (IOException e) {
|
||||||
|
System.out.println("IOException posting to Slack " + e);
|
||||||
|
} catch (Exception e) {
|
||||||
|
System.out.println("Exception posting to Slack " + e);
|
||||||
|
} finally {
|
||||||
|
post.releaseConnection();
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -198,6 +198,12 @@ public interface MjonMsgService {
|
|||||||
//스팸 / 스미싱 지연 문자 즉시 발송처리
|
//스팸 / 스미싱 지연 문자 즉시 발송처리
|
||||||
int updateMsgDelaySendRealTimeData(MjonResvMsgVO mjonResvMsgVO) throws Exception;
|
int updateMsgDelaySendRealTimeData(MjonResvMsgVO mjonResvMsgVO) throws Exception;
|
||||||
|
|
||||||
|
//스팸 / 스미싱 지연 알림톡 발송 취소 처리
|
||||||
|
int deleteKakaoAtDelaySendCancelData(MjonResvMsgVO mjonResvMsgVO) throws Exception;
|
||||||
|
|
||||||
|
//스팸 / 스미싱 지연 알림톡 즉시 발송처리
|
||||||
|
int updateKakaoAtDelaySendRealTimeData(MjonResvMsgVO mjonResvMsgVO) throws Exception;
|
||||||
|
|
||||||
//문자 그룹아이디 리스트의 발송일자 정보 불러오기
|
//문자 그룹아이디 리스트의 발송일자 정보 불러오기
|
||||||
List<MjonResvMsgVO> selectMsgGroupDataReqDateList(MjonResvMsgVO mjonResvMsgVO) throws Exception;
|
List<MjonResvMsgVO> selectMsgGroupDataReqDateList(MjonResvMsgVO mjonResvMsgVO) throws Exception;
|
||||||
|
|
||||||
@ -212,6 +218,7 @@ public interface MjonMsgService {
|
|||||||
|
|
||||||
//카카오 발송 횟수
|
//카카오 발송 횟수
|
||||||
List<MjonMsgVO> selectWithKakaoSendTotCnt(MjonMsgVO mjonMsgVO) throws Exception;
|
List<MjonMsgVO> selectWithKakaoSendTotCnt(MjonMsgVO mjonMsgVO) throws Exception;
|
||||||
|
|
||||||
//문자 발송 횟수
|
//문자 발송 횟수
|
||||||
List<MjonMsgVO> selectMsgSendTotCnt(MjonMsgVO mjonMsgVO) throws Exception;
|
List<MjonMsgVO> selectMsgSendTotCnt(MjonMsgVO mjonMsgVO) throws Exception;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -354,6 +354,10 @@ public class MjonMsgVO extends ComDefaultVO{
|
|||||||
private String delayYn; // 문자 30분 지연 처리 유무
|
private String delayYn; // 문자 30분 지연 처리 유무
|
||||||
private String delayCompleteYn; // 문자 30분 지연 처리 완료 유무
|
private String delayCompleteYn; // 문자 30분 지연 처리 완료 유무
|
||||||
|
|
||||||
|
private String atDelayYn = "N"; // 알림 30분 지연 처리 유무
|
||||||
|
private String atDelayCompleteYn; // 알림톡 30분 지연 처리 완료 유무
|
||||||
|
private String atSmishingYn; // 알림톡 스메싱 여부
|
||||||
|
|
||||||
private int totalCallCnt; //수신자 전체 갯
|
private int totalCallCnt; //수신자 전체 갯
|
||||||
|
|
||||||
private String bizLogCallStatus; //다우기술 biz_log 테이블의 발송결과 코드 값.
|
private String bizLogCallStatus; //다우기술 biz_log 테이블의 발송결과 코드 값.
|
||||||
@ -1375,5 +1379,22 @@ public class MjonMsgVO extends ComDefaultVO{
|
|||||||
public void setAccessKey(String accessKey) {
|
public void setAccessKey(String accessKey) {
|
||||||
this.accessKey = accessKey;
|
this.accessKey = accessKey;
|
||||||
}
|
}
|
||||||
|
public String getAtDelayYn() {
|
||||||
|
return atDelayYn;
|
||||||
|
}
|
||||||
|
public void setAtDelayYn(String atDelayYn) {
|
||||||
|
this.atDelayYn = atDelayYn;
|
||||||
|
}
|
||||||
|
public String getAtDelayCompleteYn() {
|
||||||
|
return atDelayCompleteYn;
|
||||||
|
}
|
||||||
|
public void setAtDelayCompleteYn(String atDelayCompleteYn) {
|
||||||
|
this.atDelayCompleteYn = atDelayCompleteYn;
|
||||||
|
}
|
||||||
|
public String getAtSmishingYn() {
|
||||||
|
return atSmishingYn;
|
||||||
|
}
|
||||||
|
public void setAtSmishingYn(String atSmishingYn) {
|
||||||
|
this.atSmishingYn = atSmishingYn;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -431,6 +431,26 @@ public class MjonMsgDAO extends EgovAbstractDAO {
|
|||||||
update("mjonMsgDAO.updateMsgDelaySendRealTimeMsgGroupDataFlag", mjonMsgVO);
|
update("mjonMsgDAO.updateMsgDelaySendRealTimeMsgGroupDataFlag", mjonMsgVO);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// mj_msg_data 테이블 지연 알림톡 취소 값 수정
|
||||||
|
public void updateKakaoAtDelayCancelMsgDataFlag(MjonMsgVO mjonMsgVO) {
|
||||||
|
update("mjonMsgDAO.updateKakaoAtDelayCancelMsgDataFlag", mjonMsgVO);
|
||||||
|
}
|
||||||
|
|
||||||
|
// mj_msg_group_data 테이블 지연 알림톡 취소 값 수정
|
||||||
|
public void updateKakaoAtDelayCancelMsgGroupDataFlag(MjonMsgVO mjonMsgVO) {
|
||||||
|
update("mjonMsgDAO.updateKakaoAtDelayCancelMsgGroupDataFlag", mjonMsgVO);
|
||||||
|
}
|
||||||
|
|
||||||
|
// mj_msg_data 테이블 지연 알림톡 즉시발송 요청시간 수정
|
||||||
|
public void updateKakaoAtDelaySendRealTimeMsgDataFlag(MjonMsgVO mjonMsgVO) {
|
||||||
|
update("mjonMsgDAO.updateKakaoAtDelaySendRealTimeMsgDataFlag", mjonMsgVO);
|
||||||
|
}
|
||||||
|
|
||||||
|
// mj_msg_group_data 테이블 지연 알림톡 즉시발송 요청시간 수정
|
||||||
|
public void updateKakaoAtDelaySendRealTimeMsgGroupDataFlag(MjonMsgVO mjonMsgVO) {
|
||||||
|
update("mjonMsgDAO.updateKakaoAtDelaySendRealTimeMsgGroupDataFlag", mjonMsgVO);
|
||||||
|
}
|
||||||
|
|
||||||
//문자 그룹아이디 리스트의 발송일자 정보 불러오기
|
//문자 그룹아이디 리스트의 발송일자 정보 불러오기
|
||||||
@SuppressWarnings("unchecked")
|
@SuppressWarnings("unchecked")
|
||||||
public List<MjonResvMsgVO> selectMsgGroupDataReqDateList(MjonResvMsgVO mjonResvMsgVO) throws Exception{
|
public List<MjonResvMsgVO> selectMsgGroupDataReqDateList(MjonResvMsgVO mjonResvMsgVO) throws Exception{
|
||||||
|
|||||||
@ -2,6 +2,7 @@ package itn.let.mjo.msg.service.impl;
|
|||||||
|
|
||||||
import java.text.SimpleDateFormat;
|
import java.text.SimpleDateFormat;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
import java.util.Calendar;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
@ -17,6 +18,7 @@ import egovframework.rte.fdl.idgnr.EgovIdGnrService;
|
|||||||
import egovframework.rte.fdl.security.intercept.EgovReloadableFilterInvocationSecurityMetadataSource;
|
import egovframework.rte.fdl.security.intercept.EgovReloadableFilterInvocationSecurityMetadataSource;
|
||||||
import egovframework.rte.fdl.security.userdetails.util.EgovUserDetailsHelper;
|
import egovframework.rte.fdl.security.userdetails.util.EgovUserDetailsHelper;
|
||||||
import itn.com.cmm.LoginVO;
|
import itn.com.cmm.LoginVO;
|
||||||
|
import itn.com.cmm.util.MJUtil;
|
||||||
import itn.com.utl.fcc.service.EgovDateUtil;
|
import itn.com.utl.fcc.service.EgovDateUtil;
|
||||||
import itn.let.mjo.msg.service.MjPhoneMemberVO;
|
import itn.let.mjo.msg.service.MjPhoneMemberVO;
|
||||||
import itn.let.mjo.msg.service.MjonMapAddressVO;
|
import itn.let.mjo.msg.service.MjonMapAddressVO;
|
||||||
@ -841,6 +843,121 @@ public class MjonMsgServiceImpl extends EgovAbstractServiceImpl implements MjonM
|
|||||||
return resultSts;
|
return resultSts;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//스팸 / 스미싱 지연 알림톡 발송 취소 처리
|
||||||
|
@Override
|
||||||
|
public int deleteKakaoAtDelaySendCancelData(MjonResvMsgVO mjonResvMsgVO) throws Exception {
|
||||||
|
|
||||||
|
int resultSts = 0;
|
||||||
|
|
||||||
|
try {
|
||||||
|
|
||||||
|
System.out.println("++++++++++++++++++ deleteKakaoAtDelaySendCancelData groupId ::: "+mjonResvMsgVO.getMsgGroupId());
|
||||||
|
//삭제 문자 건수 MSG_SEQ 번호 받아오기
|
||||||
|
List<MjonResvMsgVO> resultMsgSeqList = mjonReservMsgDAO.selectMsgSeqListByGroupId(mjonResvMsgVO);
|
||||||
|
|
||||||
|
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);
|
||||||
|
|
||||||
|
|
||||||
|
//비즈뿌리오 딜레이 알림톡 삭제
|
||||||
|
resultSts = mjonReservMsgDAO.deleteBizMsgSeqListByMsgSeq(mjonResvMsgVO);
|
||||||
|
|
||||||
|
System.out.println("++++++++++++++++++++++++++++++ resultSts ::: "+resultSts);
|
||||||
|
|
||||||
|
//예약 취소 환불 처리
|
||||||
|
if(resultSts > 0) {
|
||||||
|
|
||||||
|
//그룹 데이터 정보 조회하기
|
||||||
|
MjonMsgVO mjonMsgVO = mjonMsgDAO.selectMsgGroupDataByGoupId(mjonResvMsgVO);
|
||||||
|
|
||||||
|
//mj_msg_data 테이블 지연 문자 취소 값 수정
|
||||||
|
mjonMsgDAO.updateKakaoAtDelayCancelMsgDataFlag(mjonMsgVO);
|
||||||
|
|
||||||
|
//mj_msg_group_data 테이블 예약 취소 값 수정
|
||||||
|
mjonMsgDAO.updateKakaoAtDelayCancelMsgGroupDataFlag(mjonMsgVO);
|
||||||
|
|
||||||
|
|
||||||
|
//문자 발송 캐시 환불 해주기
|
||||||
|
MjonPayVO mjonPayVO = new MjonPayVO();
|
||||||
|
|
||||||
|
mjonPayVO.setCashId(idgenMjonCashId.getNextStringId());
|
||||||
|
mjonPayVO.setUserId(mjonMsgVO.getUserId());
|
||||||
|
mjonPayVO.setCash(Float.parseFloat(mjonMsgVO.getTotPrice()));
|
||||||
|
mjonPayVO.setFrstRegisterId(mjonMsgVO.getUserId());
|
||||||
|
mjonPayVO.setMemo("스팸/스미싱 지연 알림톡 취소 " + resultSts + "건 환불");
|
||||||
|
mjonPayVO.setMsgGroupId(mjonMsgVO.getMsgGroupId());
|
||||||
|
|
||||||
|
mjonPayDAO.insertCash(mjonPayVO); //캐시 환불
|
||||||
|
mjonPayDAO.updateMemberCash(mjonPayVO); //회원정보 업데이트
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
} catch (Exception e) {
|
||||||
|
System.out.println("+++++++++++++++++++++++++++++++++++ deleteMsgDelaySendCancelData ServiceImpl Error !!!! "+e);
|
||||||
|
}
|
||||||
|
return resultSts;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
//스팸 / 스미싱 지연 알림톡 즉시 발송처리
|
||||||
|
@Override
|
||||||
|
public int updateKakaoAtDelaySendRealTimeData(MjonResvMsgVO mjonResvMsgVO) throws Exception {
|
||||||
|
|
||||||
|
int resultSts = 0;
|
||||||
|
|
||||||
|
try {
|
||||||
|
boolean timeType = true;
|
||||||
|
|
||||||
|
System.out.println("++++++++++++++++++ updateKakaoAtDelaySendRealTimeData groupId ::: "+mjonResvMsgVO.getMsgGroupId());
|
||||||
|
//삭제 문자 건수 MSG_SEQ 번호 받아오기
|
||||||
|
List<MjonResvMsgVO> resultMsgSeqList = mjonReservMsgDAO.selectMsgSeqListByGroupId(mjonResvMsgVO);
|
||||||
|
|
||||||
|
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);
|
||||||
|
|
||||||
|
if(resultMsgSeqList.get(0).getReserveYn().equals("N")) {
|
||||||
|
// 즉시 발송시
|
||||||
|
//비즈뿌리오 딜레이문자 즉시발송 처리
|
||||||
|
resultSts = mjonReservMsgDAO.updateRealTimeBizMsgSeqListByMsgSeq(mjonResvMsgVO);
|
||||||
|
|
||||||
|
}else {
|
||||||
|
// 예약 발송시
|
||||||
|
//비즈뿌리오 딜레이문자 예약발송 처리
|
||||||
|
resultSts = mjonReservMsgDAO.updateReserveTimeBizMsgSeqListByMsgSeq(mjonResvMsgVO);
|
||||||
|
}
|
||||||
|
|
||||||
|
System.out.println("++++++++++++++++++++++++++++++ resultSts ::: "+resultSts);
|
||||||
|
|
||||||
|
//발송 시간 수정(mj_msg_data, mj_msg_group_data)
|
||||||
|
if(resultSts > 0) {
|
||||||
|
//그룹 데이터 정보 조회하기
|
||||||
|
MjonMsgVO mjonMsgVO = mjonMsgDAO.selectMsgGroupDataByGoupId(mjonResvMsgVO);
|
||||||
|
//mj_msg_data 테이블 지연 문자 즉시발송 요청 값 수정
|
||||||
|
mjonMsgDAO.updateKakaoAtDelaySendRealTimeMsgDataFlag(mjonMsgVO);
|
||||||
|
//mj_msg_group_data 테이블 즉시발송 요청 값 수정
|
||||||
|
mjonMsgDAO.updateKakaoAtDelaySendRealTimeMsgGroupDataFlag(mjonMsgVO);
|
||||||
|
}
|
||||||
|
|
||||||
|
} catch (Exception e) {
|
||||||
|
System.out.println("+++++++++++++++++++++++++++++++++++ updateMsgDelaySendRealTimeDataAjax ServiceImpl Error !!!! "+e);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
return resultSts;
|
||||||
|
}
|
||||||
|
|
||||||
//문자 그룹아이디 리스트의 발송일자 정보 불러오기
|
//문자 그룹아이디 리스트의 발송일자 정보 불러오기
|
||||||
@Override
|
@Override
|
||||||
public List<MjonResvMsgVO> selectMsgGroupDataReqDateList(MjonResvMsgVO mjonResvMsgVO) throws Exception{
|
public List<MjonResvMsgVO> selectMsgGroupDataReqDateList(MjonResvMsgVO mjonResvMsgVO) throws Exception{
|
||||||
|
|||||||
@ -3618,6 +3618,161 @@ public class MjonMsgController {
|
|||||||
return modelAndView;
|
return modelAndView;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 스팸 및 스미싱 30분 지연알림톡 전송 취소 처리
|
||||||
|
* @param mjonMsgVO
|
||||||
|
* @param model
|
||||||
|
* @return "/uss/ion/msg/deleteKakaoATDelaySendCancelDataAjax.do"
|
||||||
|
* @throws Exception
|
||||||
|
*/
|
||||||
|
@RequestMapping(value = {"/uss/ion/msg/deleteKakaoATDelaySendCancelDataAjax.do"})
|
||||||
|
public ModelAndView deleteKakaoATDelaySendCancelDataAjax(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.deleteKakaoAtDelaySendCancelData(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("+++++++++++++++++++++++++++++++++++ deleteKakaoATDelaySendCancelDataAjax Controller Error !!!! "+e);
|
||||||
|
modelAndView.addObject("isStatus", "fail");
|
||||||
|
modelAndView.addObject("msg", "오류가 발생하였습니다.");
|
||||||
|
return modelAndView;
|
||||||
|
}
|
||||||
|
return modelAndView;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 스팸 및 스미싱 30분 지연알림톡 즉시 전송 처리
|
||||||
|
* @param mjonMsgVO
|
||||||
|
* @param model
|
||||||
|
* @return "/uss/ion/msg/updateKakaoATDelaySendRealTimeDataAjax.do"
|
||||||
|
* @throws Exception
|
||||||
|
*/
|
||||||
|
@RequestMapping(value = {"/uss/ion/msg/updateKakaoATDelaySendRealTimeDataAjax.do"})
|
||||||
|
public ModelAndView updateKakaoATDelaySendRealTimeDataAjax(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.updateKakaoAtDelaySendRealTimeData(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("+++++++++++++++++++++++++++++++++++ updateKakaoATDelaySendRealTimeDataAjax Controller Error !!!! "+e);
|
||||||
|
modelAndView.addObject("isStatus", "fail");
|
||||||
|
modelAndView.addObject("msg", "오류가 발생하였습니다.");
|
||||||
|
return modelAndView;
|
||||||
|
}
|
||||||
|
|
||||||
|
return modelAndView;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 전송사 발송 통계
|
* 전송사 발송 통계
|
||||||
* @param
|
* @param
|
||||||
|
|||||||
@ -29,6 +29,7 @@ public class MjonResvMsgVO extends UserDefaultVO{
|
|||||||
private String fileCnt; //첨부 이미지 갯수 - 0: 장문, 1 이상은 그림문자
|
private String fileCnt; //첨부 이미지 갯수 - 0: 장문, 1 이상은 그림문자
|
||||||
private String totMsgCnt; //전체 전송문자 갯수
|
private String totMsgCnt; //전체 전송문자 갯수
|
||||||
private String curState; //전송 처리 결과값
|
private String curState; //전송 처리 결과값
|
||||||
|
private String reserveYn; //예약 여부
|
||||||
private String reserveCYn; //예약 취소 여부
|
private String reserveCYn; //예약 취소 여부
|
||||||
private String filePath1; //그림 이미지 1
|
private String filePath1; //그림 이미지 1
|
||||||
private String filePath2; //그림 이미지 2
|
private String filePath2; //그림 이미지 2
|
||||||
@ -290,5 +291,10 @@ public class MjonResvMsgVO extends UserDefaultVO{
|
|||||||
public void setStrReqDate(String strReqDate) {
|
public void setStrReqDate(String strReqDate) {
|
||||||
this.strReqDate = strReqDate;
|
this.strReqDate = strReqDate;
|
||||||
}
|
}
|
||||||
|
public String getReserveYn() {
|
||||||
|
return reserveYn;
|
||||||
|
}
|
||||||
|
public void setReserveYn(String reserveYn) {
|
||||||
|
this.reserveYn = reserveYn;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -277,4 +277,15 @@ public class MjonReservMsgDAO extends EgovAbstractDAO {
|
|||||||
|
|
||||||
return update("MjonReservMsgDAO.updateRealTimeJJB02MsgSeqListByMsgSeq", mjonResvMsgVO);
|
return update("MjonReservMsgDAO.updateRealTimeJJB02MsgSeqListByMsgSeq", mjonResvMsgVO);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Method Name : updateReserveTimeBizMsgSeqListByMsgSeq
|
||||||
|
* @작성일 : 2023. 07. 06.
|
||||||
|
* @작성자 : WYD
|
||||||
|
* @Method 설명 : 비즈뿌리오 지연처리 문자 예약 발송
|
||||||
|
*/
|
||||||
|
public int updateReserveTimeBizMsgSeqListByMsgSeq(MjonResvMsgVO mjonResvMsgVO) {
|
||||||
|
|
||||||
|
return update("MjonReservMsgDAO.updateReserveTimeBizMsgSeqListByMsgSeq", mjonResvMsgVO);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1157,21 +1157,10 @@ public class TestController {
|
|||||||
|
|
||||||
try {
|
try {
|
||||||
|
|
||||||
LoginVO loginVO = EgovUserDetailsHelper.isAuthenticated()? (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser():null;
|
// LoginVO loginVO = EgovUserDetailsHelper.isAuthenticated()? (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser():null;
|
||||||
userId = loginVO == null ? "" : EgovStringUtil.isNullToString(loginVO.getId());
|
// userId = loginVO == null ? "" : EgovStringUtil.isNullToString(loginVO.getId());
|
||||||
|
|
||||||
|
|
||||||
// api인지 확인
|
|
||||||
ApiKeyVO apiKeyVO = new ApiKeyVO();
|
|
||||||
apiKeyVO.setAccessKey(mjonMsgVO.getAccessKey());
|
|
||||||
List<ApiKeyVO> resultList = apiKeyMngService.selectCheckApiKeyDup(apiKeyVO);
|
|
||||||
|
|
||||||
if(resultList.size() >= 1) {
|
|
||||||
userId = resultList.get(0).getMberId();
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
userId = mjonMsgVO.getMberId();
|
||||||
if(userId.equals("")) {
|
if(userId.equals("")) {
|
||||||
|
|
||||||
modelAndView.addObject("message", "로그인 후 이용이 가능합니다.");
|
modelAndView.addObject("message", "로그인 후 이용이 가능합니다.");
|
||||||
@ -1388,6 +1377,9 @@ public class TestController {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 토탈금액 "," 리플레이스 처리
|
||||||
|
mjonMsgVO.setTotPrice(mjonMsgVO.getTotPrice().replaceAll(",", ""));
|
||||||
|
|
||||||
float tmpOrgEachPrice = Float.parseFloat(mjonMsgVO.getEachPrice());
|
float tmpOrgEachPrice = Float.parseFloat(mjonMsgVO.getEachPrice());
|
||||||
float tmpOrgTotPrice = Float.parseFloat(mjonMsgVO.getTotPrice());
|
float tmpOrgTotPrice = Float.parseFloat(mjonMsgVO.getTotPrice());
|
||||||
|
|
||||||
@ -1517,8 +1509,6 @@ public class TestController {
|
|||||||
shortMsgVO = mjonMsgVO;
|
shortMsgVO = mjonMsgVO;
|
||||||
longMsgVO = mjonMsgVO;
|
longMsgVO = mjonMsgVO;
|
||||||
imgMsgVO = mjonMsgVO;
|
imgMsgVO = mjonMsgVO;
|
||||||
System.out.println("shortMsgVO :: "+ shortMsgVO.getsPrice());
|
|
||||||
System.out.println("mjonMsgVO :: "+ mjonMsgVO.getsPrice());
|
|
||||||
|
|
||||||
int shortMsgCnt = Integer.parseInt(mjonMsgVO.getShortMsgCnt());
|
int shortMsgCnt = Integer.parseInt(mjonMsgVO.getShortMsgCnt());
|
||||||
int longMsgCnt = Integer.parseInt(mjonMsgVO.getLongMsgCnt());
|
int longMsgCnt = Integer.parseInt(mjonMsgVO.getLongMsgCnt());
|
||||||
@ -1768,7 +1758,14 @@ public class TestController {
|
|||||||
imgMsgVO.setRep4List(imgRep4);
|
imgMsgVO.setRep4List(imgRep4);
|
||||||
|
|
||||||
//개별단가 계산하기
|
//개별단가 계산하기
|
||||||
String eachPrice = shortMsgVO.getsPrice();
|
String eachPrice = imgMsgVO.getpPrice();
|
||||||
|
|
||||||
|
//api 서버에서 pPrice 값이 없는 경우가 있어서 오류 방지를위해서 추가
|
||||||
|
if(eachPrice == null) {
|
||||||
|
|
||||||
|
eachPrice = imgMsgVO.getEachPrice();
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 그림문자에 치환 내용이 포함되어 있는 경우 단가 계산하기.
|
* 그림문자에 치환 내용이 포함되어 있는 경우 단가 계산하기.
|
||||||
@ -1813,9 +1810,12 @@ public class TestController {
|
|||||||
|
|
||||||
//개별단가 계산하기
|
//개별단가 계산하기
|
||||||
String eachPrice = shortMsgVO.getsPrice();
|
String eachPrice = shortMsgVO.getsPrice();
|
||||||
if(StringUtils.isEmpty(eachPrice))
|
|
||||||
{
|
//api 서버에서 sPrice 값이 없는 경우가 있어서 오류 방지를위해서 추가
|
||||||
|
if(eachPrice == null) {
|
||||||
|
|
||||||
eachPrice = shortMsgVO.getEachPrice();
|
eachPrice = shortMsgVO.getEachPrice();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -1845,7 +1845,6 @@ public class TestController {
|
|||||||
shortMsgVO.setMsgType("4");
|
shortMsgVO.setMsgType("4");
|
||||||
}
|
}
|
||||||
|
|
||||||
System.out.println("shortMsgVO.getEachPrice() :: "+ shortMsgVO.getEachPrice());
|
|
||||||
//총금액 계산하기
|
//총금액 계산하기
|
||||||
Float sTotPrice = Float.parseFloat(shortMsgVO.getEachPrice()) * shortCnt;
|
Float sTotPrice = Float.parseFloat(shortMsgVO.getEachPrice()) * shortCnt;
|
||||||
shortMsgVO.setTotPrice(sTotPrice.toString());
|
shortMsgVO.setTotPrice(sTotPrice.toString());
|
||||||
@ -1871,6 +1870,13 @@ public class TestController {
|
|||||||
|
|
||||||
String eachPrice = longMsgVO.getmPrice();
|
String eachPrice = longMsgVO.getmPrice();
|
||||||
|
|
||||||
|
//api 서버에서 mPrice 값이 없는 경우가 있어서 오류 방지를위해서 추가
|
||||||
|
if(eachPrice == null) {
|
||||||
|
|
||||||
|
eachPrice = longMsgVO.getEachPrice();
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
if(fileCount > 2) {//그림 이미지가 3개
|
if(fileCount > 2) {//그림 이미지가 3개
|
||||||
|
|
||||||
eachPrice = mjonMsgVO.getP3Price();
|
eachPrice = mjonMsgVO.getP3Price();
|
||||||
@ -2001,9 +2007,7 @@ public class TestController {
|
|||||||
}else {
|
}else {
|
||||||
|
|
||||||
//문자발송 함수 호출 - 일괄변환이 없거나, 그림문자 일괄변환의 경우 한번에 전송 처리
|
//문자발송 함수 호출 - 일괄변환이 없거나, 그림문자 일괄변환의 경우 한번에 전송 처리
|
||||||
System.out.println("???????");
|
|
||||||
modelAndView = fncSendMsg(mjonMsgVO);
|
modelAndView = fncSendMsg(mjonMsgVO);
|
||||||
System.out.println("!!!!!!!!!!!!");
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -2060,16 +2064,13 @@ public class TestController {
|
|||||||
// 법인폰 알람여부 체크
|
// 법인폰 알람여부 체크
|
||||||
JoinSettingVO joinSettingVO = new JoinSettingVO();
|
JoinSettingVO joinSettingVO = new JoinSettingVO();
|
||||||
joinSettingVO = egovSiteManagerService.selectAdminNotiDetail();
|
joinSettingVO = egovSiteManagerService.selectAdminNotiDetail();
|
||||||
// SMS 체크
|
|
||||||
if (joinSettingVO != null && joinSettingVO.getSmsNoti().equals("Y")) {
|
|
||||||
// getAdminPhoneSendMsgData(mjonMsgVO);
|
|
||||||
}
|
|
||||||
|
|
||||||
// SLACK 체크
|
// SLACK 체크
|
||||||
if (joinSettingVO != null && joinSettingVO.getSlackNoti().equals("Y")) {
|
if (joinSettingVO != null && joinSettingVO.getSlackNoti().equals("Y")) {
|
||||||
//Slack으로 메세지 전송 처리
|
//Slack으로 메세지 전송 처리
|
||||||
MjonCommon comm = new MjonCommon();
|
MjonCommon comm = new MjonCommon();
|
||||||
comm.getAdminSandSlack(mjonMsgVO);
|
System.out.println("slack noti");
|
||||||
|
// comm.getAdminSandSlack(mjonMsgVO);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -2079,11 +2080,6 @@ public class TestController {
|
|||||||
}
|
}
|
||||||
|
|
||||||
return modelAndView;
|
return modelAndView;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
* 문자발송시 치환문자가 있거나 단문, 장문 일경우 타는 로직
|
* 문자발송시 치환문자가 있거나 단문, 장문 일경우 타는 로직
|
||||||
|
|||||||
@ -1366,7 +1366,7 @@ public class EgovUserManageController {
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
* 알림톡/친구톡 최근 발송내역 리스트 불러오기
|
* 알림톡/친구톡 최근 발송내역 리스트 불러오기
|
||||||
* */
|
*/
|
||||||
|
|
||||||
KakaoVO sendKakaoVO = new KakaoVO();
|
KakaoVO sendKakaoVO = new KakaoVO();
|
||||||
sendKakaoVO.setSearchCondition2("N");//예약건은 제외하기
|
sendKakaoVO.setSearchCondition2("N");//예약건은 제외하기
|
||||||
@ -1380,35 +1380,38 @@ public class EgovUserManageController {
|
|||||||
List<KakaoVO> kakaoResultList = new ArrayList<KakaoVO>();
|
List<KakaoVO> kakaoResultList = new ArrayList<KakaoVO>();
|
||||||
kakaoResultList = mjonKakaoATService.selectMjonKakaoATGroupCompleteByUserList(sendKakaoVO);
|
kakaoResultList = mjonKakaoATService.selectMjonKakaoATGroupCompleteByUserList(sendKakaoVO);
|
||||||
|
|
||||||
model.addAttribute("kakaoResultList", kakaoResultList);
|
model.addAttribute("kakaoResultList", kakaoResultList);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* 알림톡/친구톡 예약발송 리스트 불러오기
|
* 알림톡/친구톡 예약발송 리스트 불러오기
|
||||||
* */
|
*/
|
||||||
|
|
||||||
KakaoVO reserveKakaoVO = new KakaoVO();
|
KakaoVO reserveKakaoVO = new KakaoVO();
|
||||||
reserveKakaoVO.setSearchCondition2("Y");//예약건만 불러오기
|
reserveKakaoVO.setSearchCondition2("Y");//예약건만 불러오기
|
||||||
reserveKakaoVO.setReserveCYn("N");//예약취소건은 제외하기
|
reserveKakaoVO.setReserveCYn("N");//예약취소건은 제외하기
|
||||||
reserveKakaoVO.setUserId(reqMberManageVO.getMberId());
|
reserveKakaoVO.setUserId(reqMberManageVO.getMberId());
|
||||||
// 문자발송 완료건은 모두 보이도록 처리
|
// 문자발송 완료건은 모두 보이도록 처리
|
||||||
//kakaoVO.setMsgType("8");
|
//kakaoVO.setMsgType("8");
|
||||||
reserveKakaoVO.setSearchSortCnd("reqDate");
|
reserveKakaoVO.setSearchSortCnd("reqDate");
|
||||||
reserveKakaoVO.setSearchSortOrd("desc");
|
reserveKakaoVO.setSearchSortOrd("desc");
|
||||||
reserveKakaoVO.setFirstIndex(0);
|
reserveKakaoVO.setFirstIndex(0);
|
||||||
List<KakaoVO> kakaoReserveList = new ArrayList<KakaoVO>();
|
List<KakaoVO> kakaoReserveList = new ArrayList<KakaoVO>();
|
||||||
kakaoReserveList = mjonKakaoATService.selectReserveMjonKakaoATGroupList(reserveKakaoVO);
|
kakaoReserveList = mjonKakaoATService.selectReserveMjonKakaoATGroupList(reserveKakaoVO);
|
||||||
|
|
||||||
model.addAttribute("kakaoReserveList", kakaoReserveList);
|
model.addAttribute("kakaoReserveList", kakaoReserveList);
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* 팩스 발송 내역 리스트 불러오기
|
* 알림톡 지연처리 알림톡 내용 불러오기(30분 지연처리된 알림톡 내역 불러오기)
|
||||||
* */
|
*/
|
||||||
|
List<KakaoVO> kakaoATDelaySentList = mjonKakaoATService.selectKakaoATDelaySentList(reqMberManageVO.getMberId());
|
||||||
|
|
||||||
|
model.addAttribute("kakaoATDelaySentList", kakaoATDelaySentList);
|
||||||
|
}
|
||||||
|
|
||||||
|
{//팩스 발송 내역 리스트 불러오기
|
||||||
List<FaxGroupDataVO> faxSendListVO = faxService.selectFaxMainList(new FaxGroupDataVO(reqMberManageVO.getMberId()));
|
List<FaxGroupDataVO> faxSendListVO = faxService.selectFaxMainList(new FaxGroupDataVO(reqMberManageVO.getMberId()));
|
||||||
model.addAttribute("faxSendListVO", faxSendListVO);
|
model.addAttribute("faxSendListVO", faxSendListVO);
|
||||||
|
|
||||||
//}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
{//사용중인 전송사 정보 조회하기 - 사용자 전용 전송사 리스트 표시용
|
{//사용중인 전송사 정보 조회하기 - 사용자 전용 전송사 리스트 표시용
|
||||||
|
|||||||
@ -348,6 +348,8 @@
|
|||||||
M2.yellowId ,
|
M2.yellowId ,
|
||||||
M2.userNm ,
|
M2.userNm ,
|
||||||
M2.atSmishingYn ,
|
M2.atSmishingYn ,
|
||||||
|
M2.atDelayCompleteYn,
|
||||||
|
M2.atDelayYn,
|
||||||
( SELECT COUNT(0)
|
( SELECT COUNT(0)
|
||||||
FROM MJ_MSG_DATA C
|
FROM MJ_MSG_DATA C
|
||||||
WHERE C.DEL_FLAG = 'N'
|
WHERE C.DEL_FLAG = 'N'
|
||||||
@ -451,46 +453,49 @@
|
|||||||
MSG_NOTICETALK_TMP_KEY AS msgNoticetalkTmpKey ,
|
MSG_NOTICETALK_TMP_KEY AS msgNoticetalkTmpKey ,
|
||||||
MKPI.YELLOW_ID AS yellowId ,
|
MKPI.YELLOW_ID AS yellowId ,
|
||||||
LTM.MBER_NM AS userNm ,
|
LTM.MBER_NM AS userNm ,
|
||||||
LTM.AT_SMISHING_YN AS atSmishingYn,
|
LTM.AT_SMISHING_YN AS atSmishingYn,
|
||||||
BIZ_UMID AS bizUmid,
|
BIZ_UMID AS bizUmid,
|
||||||
BL.CALL_STATUS AS callStatus,
|
BL.CALL_STATUS AS callStatus,
|
||||||
M.BIZ_KAKAO_RESEND_YN AS bizKakaoResendYn
|
M.BIZ_KAKAO_RESEND_YN AS bizKakaoResendYn,
|
||||||
FROM (
|
M.AT_DELAY_COMPLETE_YN AS atDelayCompleteYn,
|
||||||
SELECT MG.USER_ID ,
|
M.AT_DELAY_YN AS atDelayYn
|
||||||
MG.MSG_GROUP_ID ,
|
FROM
|
||||||
MG.MSG_GROUP_CNT ,
|
(SELECT
|
||||||
MG.SMS_TXT ,
|
MG.USER_ID
|
||||||
MG.SUBJECT ,
|
, MG.MSG_GROUP_ID
|
||||||
MG.REGDATE ,
|
, MG.MSG_GROUP_CNT
|
||||||
MG.REQ_DATE ,
|
, MG.SMS_TXT
|
||||||
MD.RSLT_DATE ,
|
, MG.SUBJECT
|
||||||
MG.CALL_FROM ,
|
, MG.REGDATE
|
||||||
MG.TOT_PRICE ,
|
, MG.REQ_DATE
|
||||||
MG.EACH_PRICE ,
|
, MD.RSLT_DATE
|
||||||
MG.DEL_FLAG ,
|
, MG.CALL_FROM
|
||||||
MG.MSG_TYPE ,
|
, MG.TOT_PRICE
|
||||||
MG.FILE_CNT ,
|
, MG.EACH_PRICE
|
||||||
MG.AGENT_CODE ,
|
, MG.DEL_FLAG
|
||||||
MG.RESERVE_YN ,
|
, MG.MSG_TYPE
|
||||||
MG.RESERVE_C_YN ,
|
, MG.FILE_CNT
|
||||||
MG.CANCELDATE ,
|
, MG.AGENT_CODE
|
||||||
MD.MSG_SEQ ,
|
, MG.RESERVE_YN
|
||||||
MD.CALL_TO ,
|
, MG.RESERVE_C_YN
|
||||||
MD.CUR_STATE ,
|
, MG.CANCELDATE
|
||||||
MD.RSLT_CODE ,
|
, MD.MSG_SEQ
|
||||||
MD.RSLT_CODE2 ,
|
, MD.CALL_TO
|
||||||
CASE
|
, MD.CUR_STATE
|
||||||
|
, MD.RSLT_CODE
|
||||||
|
, MD.RSLT_CODE2
|
||||||
|
, CASE
|
||||||
WHEN MG.MSG_TYPE = '8'
|
WHEN MG.MSG_TYPE = '8'
|
||||||
THEN '알림톡'
|
THEN '알림톡'
|
||||||
WHEN MG.MSG_TYPE = '9'
|
WHEN MG.MSG_TYPE = '9'
|
||||||
THEN '친구톡'
|
THEN '친구톡'
|
||||||
END msgTypeName ,
|
END msgTypeName
|
||||||
CASE
|
, CASE
|
||||||
WHEN MG.MSG_TYPE = '8'
|
WHEN MG.MSG_TYPE = '8'
|
||||||
THEN '1'
|
THEN '1'
|
||||||
ELSE '2'
|
ELSE '2'
|
||||||
END orderByCode ,
|
END orderByCode
|
||||||
(
|
, (
|
||||||
CASE
|
CASE
|
||||||
WHEN MD.RSLT_CODE = '7000'
|
WHEN MD.RSLT_CODE = '7000'
|
||||||
THEN 'S'
|
THEN 'S'
|
||||||
@ -498,18 +503,24 @@
|
|||||||
THEN 'W'
|
THEN 'W'
|
||||||
ELSE 'F'
|
ELSE 'F'
|
||||||
END
|
END
|
||||||
) AS result ,
|
) AS result
|
||||||
MSG_NOTICETALK_SENDER_KEY ,
|
, MSG_NOTICETALK_SENDER_KEY
|
||||||
MSG_NOTICETALK_TMP_KEY,
|
, MSG_NOTICETALK_TMP_KEY
|
||||||
MD.BIZ_UMID,
|
, MD.BIZ_UMID
|
||||||
MD.BIZ_KAKAO_RESEND_YN
|
, MD.BIZ_KAKAO_RESEND_YN
|
||||||
FROM MJ_MSG_DATA MD ,
|
, MG.AT_DELAY_COMPLETE_YN
|
||||||
MJ_MSG_GROUP_DATA MG
|
, MG.AT_DELAY_YN
|
||||||
WHERE MD.MSG_GROUP_ID = MG.MSG_GROUP_ID
|
FROM
|
||||||
|
MJ_MSG_DATA MD
|
||||||
|
, MJ_MSG_GROUP_DATA MG
|
||||||
|
WHERE 1=1
|
||||||
|
AND MD.MSG_GROUP_ID = MG.MSG_GROUP_ID
|
||||||
AND IFNULL(MG.DEL_FLAG, 'N') = 'N'
|
AND IFNULL(MG.DEL_FLAG, 'N') = 'N'
|
||||||
AND MD.DEL_FLAG = 'N'
|
AND MD.DEL_FLAG = 'N'
|
||||||
<!-- JSPark 2023.03.24 알림톡 전송완료 목록은 (즉시 + 예약 발송완료) 노출 -->
|
<!-- JSPark 2023.03.24 알림톡 전송완료 목록은 (즉시 + 예약 발송완료) 노출 -->
|
||||||
<![CDATA[ AND MG.REQ_DATE <= NOW() ]]>
|
<![CDATA[
|
||||||
|
AND MG.REQ_DATE <= DATE_ADD(NOW(), INTERVAL 60 MINUTE)
|
||||||
|
]]>
|
||||||
<isNotEmpty property="userId">
|
<isNotEmpty property="userId">
|
||||||
AND MG.USER_ID = #userId#
|
AND MG.USER_ID = #userId#
|
||||||
</isNotEmpty>
|
</isNotEmpty>
|
||||||
@ -1058,6 +1069,9 @@
|
|||||||
M2.msgNoticetalkTmpKey ,
|
M2.msgNoticetalkTmpKey ,
|
||||||
M2.yellowId ,
|
M2.yellowId ,
|
||||||
M2.userNm ,
|
M2.userNm ,
|
||||||
|
M2.atSmishingYn,
|
||||||
|
M2.atDelayCompleteYn,
|
||||||
|
M2.atDelayYn,
|
||||||
( SELECT COUNT(0)
|
( SELECT COUNT(0)
|
||||||
FROM MJ_MSG_DATA C
|
FROM MJ_MSG_DATA C
|
||||||
WHERE C.DEL_FLAG = 'N'
|
WHERE C.DEL_FLAG = 'N'
|
||||||
@ -1158,12 +1172,15 @@
|
|||||||
orderByCode AS orderByCode ,
|
orderByCode AS orderByCode ,
|
||||||
RESULT AS msgResult ,
|
RESULT AS msgResult ,
|
||||||
MSG_NOTICETALK_SENDER_KEY AS msgNoticetalkSenderKey ,
|
MSG_NOTICETALK_SENDER_KEY AS msgNoticetalkSenderKey ,
|
||||||
MSG_NOTICETALK_TMP_KEY AS msgNoticetalkTmpKey ,
|
MSG_NOTICETALK_TMP_KEY AS msgNoticetalkTmpKey ,
|
||||||
MKPI.YELLOW_ID AS yellowId ,
|
MKPI.YELLOW_ID AS yellowId ,
|
||||||
LTM.MBER_NM AS userNm ,
|
LTM.MBER_NM AS userNm ,
|
||||||
|
LTM.AT_SMISHING_YN AS atSmishingYn,
|
||||||
BIZ_UMID AS bizUmid,
|
BIZ_UMID AS bizUmid,
|
||||||
BL.CALL_STATUS AS callStatus,
|
BL.CALL_STATUS AS callStatus,
|
||||||
M.BIZ_KAKAO_RESEND_YN AS bizKakaoResendYn
|
M.BIZ_KAKAO_RESEND_YN AS bizKakaoResendYn,
|
||||||
|
M.AT_DELAY_COMPLETE_YN AS atDelayCompleteYn,
|
||||||
|
M.AT_DELAY_YN AS atDelayYn
|
||||||
FROM (
|
FROM (
|
||||||
SELECT MG.USER_ID ,
|
SELECT MG.USER_ID ,
|
||||||
MG.MSG_GROUP_ID ,
|
MG.MSG_GROUP_ID ,
|
||||||
@ -1207,16 +1224,19 @@
|
|||||||
THEN 'W'
|
THEN 'W'
|
||||||
ELSE 'F'
|
ELSE 'F'
|
||||||
END
|
END
|
||||||
) AS result ,
|
) AS result
|
||||||
MSG_NOTICETALK_SENDER_KEY ,
|
, MSG_NOTICETALK_SENDER_KEY
|
||||||
MSG_NOTICETALK_TMP_KEY,
|
, MSG_NOTICETALK_TMP_KEY
|
||||||
MD.BIZ_UMID,
|
, MD.BIZ_UMID
|
||||||
MD.BIZ_KAKAO_RESEND_YN
|
, MD.BIZ_KAKAO_RESEND_YN
|
||||||
|
, MG.AT_DELAY_COMPLETE_YN
|
||||||
|
, MG.AT_DELAY_YN
|
||||||
FROM MJ_MSG_DATA MD ,
|
FROM MJ_MSG_DATA MD ,
|
||||||
MJ_MSG_GROUP_DATA MG
|
MJ_MSG_GROUP_DATA MG
|
||||||
WHERE MD.MSG_GROUP_ID = MG.MSG_GROUP_ID
|
WHERE MD.MSG_GROUP_ID = MG.MSG_GROUP_ID
|
||||||
AND IFNULL(MG.DEL_FLAG, 'N') = 'N'
|
AND IFNULL(MG.DEL_FLAG, 'N') = 'N'
|
||||||
AND MD.DEL_FLAG = 'N'
|
AND MD.DEL_FLAG = 'N'
|
||||||
|
|
||||||
<isNotEmpty property="userId">
|
<isNotEmpty property="userId">
|
||||||
AND MG.USER_ID = #userId#
|
AND MG.USER_ID = #userId#
|
||||||
</isNotEmpty>
|
</isNotEmpty>
|
||||||
@ -1386,7 +1406,7 @@
|
|||||||
, B.SMS_TXT
|
, B.SMS_TXT
|
||||||
, B.SUBJECT
|
, B.SUBJECT
|
||||||
, B.REGDATE
|
, B.REGDATE
|
||||||
, B.REQ_DATE
|
, A.REQ_DATE
|
||||||
, A.RSLT_DATE
|
, A.RSLT_DATE
|
||||||
, B.CALL_FROM
|
, B.CALL_FROM
|
||||||
, B.TOT_PRICE
|
, B.TOT_PRICE
|
||||||
@ -2252,10 +2272,101 @@
|
|||||||
|
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
<select id="mjonKakaoATDAO.selectKakaoATDelaySentList" parameterClass="String" resultClass="KakaoVO">
|
||||||
|
SELECT
|
||||||
|
A.msgId AS msgId
|
||||||
|
, A.msgGroupId AS msgGroupId
|
||||||
|
, A.userId AS userId
|
||||||
|
, MGD.TOT_PRICE AS totPrice
|
||||||
|
, MGD.EACH_PRICE AS eachPrice
|
||||||
|
, MGD.MSG_GROUP_CNT AS msgGroupCnt
|
||||||
|
, MGD.MSG_TYPE AS msgType
|
||||||
|
, CASE
|
||||||
|
WHEN MGD.MSG_TYPE = '8'
|
||||||
|
THEN '알림톡'
|
||||||
|
WHEN MGD.MSG_TYPE = '9'
|
||||||
|
THEN '친구톡'
|
||||||
|
END msgTypeName
|
||||||
|
, (SELECT COUNT(0) FROM MJ_MSG_DATA A
|
||||||
|
WHERE 1=1
|
||||||
|
AND A.DEL_FLAG = 'N'
|
||||||
|
AND A.MSG_GROUP_ID = A.msgGroupId
|
||||||
|
AND (CASE
|
||||||
|
WHEN A.AGENT_CODE = '04' AND A.RSLT_CODE = '7000'
|
||||||
|
THEN 'S'
|
||||||
|
WHEN (A.RSLT_CODE IS NULL
|
||||||
|
AND A.RSLT_CODE2 IS NULL
|
||||||
|
AND A.SENT_DATE IS NULL
|
||||||
|
AND A.RSLT_DATE IS NULL
|
||||||
|
)
|
||||||
|
THEN 'W'
|
||||||
|
ELSE 'F'
|
||||||
|
END ) = 'S'
|
||||||
|
) AS successCnt
|
||||||
|
, MGD.SMS_TXT AS smsTxt
|
||||||
|
, A.userdata
|
||||||
|
, A.curState
|
||||||
|
, MKPI.YELLOW_ID AS yellowId
|
||||||
|
, DATE_FORMAT(A.sentDate, '%Y-%m-%d %T') AS sentDate
|
||||||
|
, DATE_FORMAT(A.reqDate, '%Y-%m-%d %T') AS reqdate
|
||||||
|
, DATE_FORMAT(MGD.REGDATE, '%Y-%m-%d %T') AS regdate
|
||||||
|
, A.result AS resultType
|
||||||
|
, MGD.AT_DELAY_YN AS atDelayYn
|
||||||
|
, MGD.AT_DELAY_COMPLETE_YN AS atDelayCompleteYn
|
||||||
|
FROM
|
||||||
|
(SELECT
|
||||||
|
a.MSG_ID AS msgId
|
||||||
|
, a.MSG_GROUP_ID AS msgGroupId
|
||||||
|
, a.USER_ID AS userId
|
||||||
|
, a.USERDATA AS userdata
|
||||||
|
, a.CUR_STATE AS curState
|
||||||
|
, a.SENT_DATE AS sentDate
|
||||||
|
, a.REQ_DATE AS reqDate
|
||||||
|
, (CASE
|
||||||
|
WHEN A.AGENT_CODE = '04' AND (A.RSLT_CODE = '7000')
|
||||||
|
THEN 'S'
|
||||||
|
WHEN( A.RSLT_CODE IS NULL
|
||||||
|
AND A.RSLT_CODE2 IS NULL
|
||||||
|
AND A.SENT_DATE IS NULL
|
||||||
|
AND A.RSLT_DATE IS NULL
|
||||||
|
)THEN 'W'
|
||||||
|
ELSE 'F'
|
||||||
|
END) AS result
|
||||||
|
, A.RSLT_CODE AS rsltCode
|
||||||
|
, A.RSLT_CODE2 AS rsltCode2
|
||||||
|
, A.RSLT_NET AS rsltNet
|
||||||
|
, A.CALL_FROM AS callFrom
|
||||||
|
, A.CALL_TO AS callTo
|
||||||
|
, A.SMS_TXT AS smsTxt
|
||||||
|
, A.MSG_TYPE AS msgType
|
||||||
|
, A.AGENT_CODE AS agentCode
|
||||||
|
, A.DEL_FLAG AS delFlag
|
||||||
|
, A.NEO_TYPE AS neoType
|
||||||
|
, A.RESERVE_C_YN AS reserveCYn
|
||||||
|
, A.REFUND_YN AS refundYn
|
||||||
|
, A.MSG_NOTICETALK_SENDER_KEY
|
||||||
|
, A.MSG_NOTICETALK_TMP_KEY
|
||||||
|
FROM
|
||||||
|
MJ_MSG_DATA A
|
||||||
|
WHERE 1=1
|
||||||
|
AND A.USER_ID = #userId#
|
||||||
|
AND A.MSG_TYPE IN (8)
|
||||||
|
GROUP BY A.MSG_GROUP_ID
|
||||||
|
)A
|
||||||
|
LEFT JOIN MJ_MSG_GROUP_DATA MGD
|
||||||
|
ON A.msgGroupId = MGD.MSG_GROUP_ID
|
||||||
|
LEFT JOIN MJ_KAKAO_PROFILE_INFO MKPI
|
||||||
|
ON A.MSG_NOTICETALK_SENDER_KEY = MKPI.SENDER_KEY
|
||||||
|
AND MKPI.USER_ID = A.userId
|
||||||
|
WHERE 1=1
|
||||||
|
AND MGD.USER_ID = #userId#
|
||||||
|
AND MGD.AT_DELAY_YN = 'Y'
|
||||||
|
AND MGD.AT_DELAY_COMPLETE_YN = 'N'
|
||||||
|
AND MGD.CANCELDATE IS NULL
|
||||||
|
AND A.curState = '0'
|
||||||
|
AND A.refundYn = 'N'
|
||||||
|
ORDER BY
|
||||||
|
reqDate DESC
|
||||||
|
,sentDate DESC
|
||||||
|
</select>
|
||||||
</sqlMap>
|
</sqlMap>
|
||||||
@ -375,7 +375,9 @@
|
|||||||
AND MG.DEL_FLAG ='N'
|
AND MG.DEL_FLAG ='N'
|
||||||
/* JSPark 2023.03.23 => 예약건중 발송완료건도 발송결과에 노출되도록 수정 */
|
/* JSPark 2023.03.23 => 예약건중 발송완료건도 발송결과에 노출되도록 수정 */
|
||||||
/* AND MG.RESERVE_YN = 'N' */
|
/* AND MG.RESERVE_YN = 'N' */
|
||||||
<![CDATA[ AND MG.REQ_DATE <= NOW() ]]>
|
<![CDATA[
|
||||||
|
AND MG.REQ_DATE <= DATE_ADD(NOW(), INTERVAL 60 MINUTE)
|
||||||
|
]]>
|
||||||
|
|
||||||
<isNotEmpty property="reserveCYn">
|
<isNotEmpty property="reserveCYn">
|
||||||
AND MG.RESERVE_C_YN = #reserveCYn#
|
AND MG.RESERVE_C_YN = #reserveCYn#
|
||||||
|
|||||||
@ -2055,23 +2055,24 @@
|
|||||||
<select id="mjonMsgDAO.selectMberManageInfo" parameterClass="String" resultClass="mberManageVO">
|
<select id="mjonMsgDAO.selectMberManageInfo" parameterClass="String" resultClass="mberManageVO">
|
||||||
|
|
||||||
SELECT
|
SELECT
|
||||||
MBER_ID AS mberId
|
MBER_ID AS mberId
|
||||||
, MBER_NM AS mberNm
|
, MBER_NM AS mberNm
|
||||||
, SHORT_PRICE AS shortPrice
|
, SHORT_PRICE AS shortPrice
|
||||||
, LONG_PRICE AS longPrice
|
, LONG_PRICE AS longPrice
|
||||||
, PICTURE_PRICE AS picturePrice
|
, PICTURE_PRICE AS picturePrice
|
||||||
, PICTURE2_PRICE AS picture2Price
|
, PICTURE2_PRICE AS picture2Price
|
||||||
, PICTURE3_PRICE AS picture3Price
|
, PICTURE3_PRICE AS picture3Price
|
||||||
, KAKAO_AT_PRICE AS kakaoAtPrice
|
, KAKAO_AT_PRICE AS kakaoAtPrice
|
||||||
, FAX_PRICE AS faxPrice
|
, FAX_PRICE AS faxPrice
|
||||||
, USER_MONEY AS userMoney
|
, USER_MONEY AS userMoney
|
||||||
, USER_POINT AS userPoint
|
, USER_POINT AS userPoint
|
||||||
, DEPT AS dept
|
, DEPT AS dept
|
||||||
, MBTLNUM AS moblphonNo
|
, MBTLNUM AS moblphonNo
|
||||||
, MANAGER_NM AS managerNm
|
, MANAGER_NM AS managerNm
|
||||||
, EXCEPT_SPAM_YN AS exceptSpamYn
|
, EXCEPT_SPAM_YN AS exceptSpamYn
|
||||||
, HOTLINE_AGENT_CODE AS hotlineAgentCode
|
, HOTLINE_AGENT_CODE AS hotlineAgentCode
|
||||||
, BLINE_CODE AS blineCode
|
, BLINE_CODE AS blineCode
|
||||||
|
, AT_SMISHING_YN AS atSmishingYn
|
||||||
FROM LETTNGNRLMBER
|
FROM LETTNGNRLMBER
|
||||||
WHERE MBER_ID = #userId#
|
WHERE MBER_ID = #userId#
|
||||||
|
|
||||||
@ -2208,8 +2209,9 @@
|
|||||||
FILE_CNT,
|
FILE_CNT,
|
||||||
TOT_PRICE,
|
TOT_PRICE,
|
||||||
EVENT_YN,
|
EVENT_YN,
|
||||||
DELAY_YN
|
DELAY_YN,
|
||||||
, BIZ_KAKAO_RESEND_ORGNL_TXT
|
AT_DELAY_YN,
|
||||||
|
BIZ_KAKAO_RESEND_ORGNL_TXT
|
||||||
)
|
)
|
||||||
VALUES
|
VALUES
|
||||||
|
|
||||||
@ -2233,8 +2235,9 @@
|
|||||||
#fileCnt#,
|
#fileCnt#,
|
||||||
#totPrice#,
|
#totPrice#,
|
||||||
#eventYn#,
|
#eventYn#,
|
||||||
#delayYn#
|
#delayYn#,
|
||||||
, #kakaoSubMagOrgnlTxt#
|
#atDelayYn#,
|
||||||
|
#kakaoSubMagOrgnlTxt#
|
||||||
)
|
)
|
||||||
</insert>
|
</insert>
|
||||||
|
|
||||||
@ -5773,15 +5776,18 @@
|
|||||||
|
|
||||||
<select id="mjonMsgDAO.selectMsgGroupDataByGoupId" parameterClass="mjonResvMsgVO" resultClass="mjonMsgVO">
|
<select id="mjonMsgDAO.selectMsgGroupDataByGoupId" parameterClass="mjonResvMsgVO" resultClass="mjonMsgVO">
|
||||||
|
|
||||||
SELECT MSG_GROUP_ID AS msgGroupId,
|
SELECT
|
||||||
USER_ID AS userId,
|
MSG_GROUP_ID AS msgGroupId
|
||||||
SMS_TXT AS smsTxt,
|
, USER_ID AS userId
|
||||||
EACH_PRICE AS eachPrice,
|
, SMS_TXT AS smsTxt
|
||||||
TOT_PRICE AS totPrice,
|
, EACH_PRICE AS eachPrice
|
||||||
MSG_GROUP_CNT AS msgGroupCnt
|
, TOT_PRICE AS totPrice
|
||||||
FROM MJ_MSG_GROUP_DATA
|
, MSG_GROUP_CNT AS msgGroupCnt
|
||||||
WHERE USER_ID = #userId#
|
FROM
|
||||||
AND MSG_GROUP_ID = #msgGroupId#
|
MJ_MSG_GROUP_DATA
|
||||||
|
WHERE 1=1
|
||||||
|
AND USER_ID = #userId#
|
||||||
|
AND MSG_GROUP_ID = #msgGroupId#
|
||||||
ORDER BY MSG_GROUP_ID DESC
|
ORDER BY MSG_GROUP_ID DESC
|
||||||
LIMIT 1
|
LIMIT 1
|
||||||
|
|
||||||
@ -5830,10 +5836,12 @@
|
|||||||
|
|
||||||
<select id="mjonMsgDAO.selectMsgGroupDataReqDateList" parameterClass="mjonMsgResvVO" resultClass="mjonMsgResvVO">
|
<select id="mjonMsgDAO.selectMsgGroupDataReqDateList" parameterClass="mjonMsgResvVO" resultClass="mjonMsgResvVO">
|
||||||
|
|
||||||
SELECT DATE_FORMAT(REQ_DATE, '%Y-%m-%d %T' ) AS strReqDate
|
SELECT
|
||||||
FROM MJ_MSG_GROUP_DATA
|
DATE_FORMAT(REQ_DATE, '%Y-%m-%d %T' ) AS strReqDate
|
||||||
|
FROM
|
||||||
|
MJ_MSG_GROUP_DATA
|
||||||
WHERE 1=1
|
WHERE 1=1
|
||||||
AND USER_ID = #userId#
|
AND USER_ID = #userId#
|
||||||
<iterate prepend="AND MSG_GROUP_ID IN" open="(" close=")" conjunction="," property="msgGroupIdList">
|
<iterate prepend="AND MSG_GROUP_ID IN" open="(" close=")" conjunction="," property="msgGroupIdList">
|
||||||
#msgGroupIdList[]#
|
#msgGroupIdList[]#
|
||||||
</iterate>
|
</iterate>
|
||||||
@ -6563,5 +6571,74 @@
|
|||||||
ORDER BY M.orderByCode
|
ORDER BY M.orderByCode
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
<update id="mjonMsgDAO.updateKakaoAtDelayCancelMsgDataFlag" parameterClass="mjonMsgVO">
|
||||||
|
|
||||||
|
UPDATE
|
||||||
|
MJ_MSG_DATA
|
||||||
|
SET
|
||||||
|
REFUND_YN = 'Y'
|
||||||
|
, REQ_DATE = NOW()
|
||||||
|
, RESULT_LOG_UPDT_PNTTM = NOW()
|
||||||
|
, CUR_STATE = '3'
|
||||||
|
, RSLT_CODE = '7300'
|
||||||
|
WHERE 1=1
|
||||||
|
AND USER_ID = #userId#
|
||||||
|
AND MSG_GROUP_ID = #msgGroupId#
|
||||||
|
|
||||||
|
</update>
|
||||||
|
|
||||||
|
<update id="mjonMsgDAO.updateKakaoAtDelayCancelMsgGroupDataFlag" parameterClass="mjonMsgVO">
|
||||||
|
|
||||||
|
UPDATE
|
||||||
|
MJ_MSG_GROUP_DATA
|
||||||
|
SET
|
||||||
|
CANCELDATE = NOW()
|
||||||
|
, REQ_DATE = NOW()
|
||||||
|
, AT_DELAY_COMPLETE_YN = 'Y'
|
||||||
|
WHERE 1=1
|
||||||
|
AND USER_ID = #userId#
|
||||||
|
AND MSG_GROUP_ID = #msgGroupId#
|
||||||
|
|
||||||
|
</update>
|
||||||
|
|
||||||
|
<update id="mjonMsgDAO.updateKakaoAtDelaySendRealTimeMsgDataFlag" parameterClass="mjonMsgVO">
|
||||||
|
UPDATE
|
||||||
|
MJ_MSG_DATA
|
||||||
|
SET
|
||||||
|
REQ_DATE =
|
||||||
|
<![CDATA[
|
||||||
|
CASE
|
||||||
|
WHEN TIMESTAMPDIFF(MINUTE, NOW(), REQ_DATE) < 0
|
||||||
|
THEN REQ_DATE
|
||||||
|
WHEN TIMESTAMPDIFF(MINUTE, NOW(), REQ_DATE) >= 30
|
||||||
|
THEN DATE_ADD(REQ_DATE, INTERVAL -30 MINUTE)
|
||||||
|
ELSE DATE_ADD(REQ_DATE, INTERVAL -(TIMESTAMPDIFF(MINUTE, NOW(), REQ_DATE)) MINUTE)
|
||||||
|
END
|
||||||
|
]]>
|
||||||
|
WHERE 1=1
|
||||||
|
AND USER_ID = #userId#
|
||||||
|
AND MSG_GROUP_ID = #msgGroupId#
|
||||||
|
</update>
|
||||||
|
|
||||||
|
<update id="mjonMsgDAO.updateKakaoAtDelaySendRealTimeMsgGroupDataFlag" parameterClass="mjonMsgVO">
|
||||||
|
UPDATE
|
||||||
|
MJ_MSG_GROUP_DATA
|
||||||
|
SET
|
||||||
|
REQ_DATE =
|
||||||
|
<![CDATA[
|
||||||
|
CASE
|
||||||
|
WHEN TIMESTAMPDIFF(MINUTE, NOW(), REQ_DATE) < 0
|
||||||
|
THEN REQ_DATE
|
||||||
|
WHEN TIMESTAMPDIFF(MINUTE, NOW(), REQ_DATE) >= 30
|
||||||
|
THEN DATE_ADD(REQ_DATE, INTERVAL -30 MINUTE)
|
||||||
|
ELSE DATE_ADD(REQ_DATE, INTERVAL -(TIMESTAMPDIFF(MINUTE, NOW(), REQ_DATE)) MINUTE)
|
||||||
|
END
|
||||||
|
]]>
|
||||||
|
, AT_DELAY_COMPLETE_YN = 'Y'
|
||||||
|
WHERE 1=1
|
||||||
|
AND USER_ID = #userId#
|
||||||
|
AND MSG_GROUP_ID = #msgGroupId#
|
||||||
|
</update>
|
||||||
|
|
||||||
</sqlMap>
|
</sqlMap>
|
||||||
|
|
||||||
|
|||||||
@ -445,12 +445,17 @@
|
|||||||
</select>
|
</select>
|
||||||
|
|
||||||
<select id="MjonReservMsgDAO.selectMsgSeqListByGroupId" parameterClass="mjonMsgResvVO" resultClass="mjonMsgResvVO">
|
<select id="MjonReservMsgDAO.selectMsgSeqListByGroupId" parameterClass="mjonMsgResvVO" resultClass="mjonMsgResvVO">
|
||||||
|
SELECT
|
||||||
SELECT USERDATA AS userData
|
A.USERDATA AS userData
|
||||||
FROM MJ_MSG_DATA
|
, DATE_FORMAT(A.REQ_DATE, '%Y-%m-%d %T' ) AS reqdate
|
||||||
WHERE USER_ID = #userId#
|
, B.RESERVE_YN AS reserveYn
|
||||||
AND MSG_GROUP_ID = #msgGroupId#
|
FROM
|
||||||
|
MJ_MSG_DATA A
|
||||||
|
, MJ_MSG_GROUP_DATA B
|
||||||
|
WHERE A.MSG_GROUP_ID = B.MSG_GROUP_ID
|
||||||
|
AND A.USER_ID = #userId#
|
||||||
|
AND A.MSG_GROUP_ID = #msgGroupId#
|
||||||
|
ORDER BY A.REQ_DATE ASC
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
<select id="MjonReservMsgDAO.selectMjonMsgGroupData" parameterClass="mjonMsgResvVO" resultClass="mjonMsgVO">
|
<select id="MjonReservMsgDAO.selectMjonMsgGroupData" parameterClass="mjonMsgResvVO" resultClass="mjonMsgVO">
|
||||||
@ -681,7 +686,6 @@
|
|||||||
|
|
||||||
</update>
|
</update>
|
||||||
|
|
||||||
|
|
||||||
<update id="MjonReservMsgDAO.updateRealTimeIVTMsgSeqListByMsgSeq" parameterClass="mjonMsgResvVO">
|
<update id="MjonReservMsgDAO.updateRealTimeIVTMsgSeqListByMsgSeq" parameterClass="mjonMsgResvVO">
|
||||||
|
|
||||||
UPDATE SMSQ_SEND
|
UPDATE SMSQ_SEND
|
||||||
@ -717,6 +721,27 @@
|
|||||||
|
|
||||||
</update>
|
</update>
|
||||||
|
|
||||||
|
<update id="MjonReservMsgDAO.updateReserveTimeBizMsgSeqListByMsgSeq" parameterClass="mjonMsgResvVO">
|
||||||
|
UPDATE
|
||||||
|
BIZ_MSG
|
||||||
|
SET
|
||||||
|
REQUEST_TIME =
|
||||||
|
<![CDATA[
|
||||||
|
CASE
|
||||||
|
WHEN TIMESTAMPDIFF(MINUTE, NOW(), REQUEST_TIME) < 0
|
||||||
|
THEN REQUEST_TIME
|
||||||
|
WHEN TIMESTAMPDIFF(MINUTE, NOW(), REQUEST_TIME) >= 30
|
||||||
|
THEN DATE_ADD(REQUEST_TIME, INTERVAL -30 MINUTE)
|
||||||
|
ELSE DATE_ADD(REQUEST_TIME, INTERVAL -(TIMESTAMPDIFF(MINUTE, NOW(), REQUEST_TIME)) MINUTE)
|
||||||
|
END
|
||||||
|
]]>
|
||||||
|
WHERE 1=1
|
||||||
|
<iterate prepend="AND USER_KEY IN" open="(" close=")" conjunction="," property="userDataList">
|
||||||
|
#userDataList[]#
|
||||||
|
</iterate>
|
||||||
|
|
||||||
|
</update>
|
||||||
|
|
||||||
</sqlMap>
|
</sqlMap>
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -1290,15 +1290,17 @@
|
|||||||
</select>
|
</select>
|
||||||
|
|
||||||
<select id="userManageDAO.selectAdminSmsNoticeYn" parameterClass="userVO" resultClass="userVO">
|
<select id="userManageDAO.selectAdminSmsNoticeYn" parameterClass="userVO" resultClass="userVO">
|
||||||
SELECT
|
SELECT
|
||||||
ADMIN_SMS_NOTICE_YN AS adminSmsNoticeYn,
|
ADMIN_SMS_NOTICE_YN AS adminSmsNoticeYn
|
||||||
PRE_PAYMENT_YN AS prePaymentYn,
|
,PRE_PAYMENT_YN AS prePaymentYn
|
||||||
SMISHING_YN AS smishingYn,
|
,SMISHING_YN AS smishingYn
|
||||||
AUTO_CASH AS autoCash,
|
,AUTO_CASH AS autoCash
|
||||||
IFNULL(BLINE_CODE, 'N') AS blineCode,
|
,IFNULL(BLINE_CODE, 'N') AS blineCode
|
||||||
IFNULL(RECOMMEND_ID, '') AS recommendId
|
,IFNULL(RECOMMEND_ID, '') AS recommendId
|
||||||
FROM LETTNGNRLMBER
|
FROM
|
||||||
WHERE MBER_ID = #mberId#
|
LETTNGNRLMBER
|
||||||
|
WHERE
|
||||||
|
MBER_ID = #mberId#
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
<update id="userManageDAO.updateUserAdminSmsNoticeYn" parameterClass="userVO">
|
<update id="userManageDAO.updateUserAdminSmsNoticeYn" parameterClass="userVO">
|
||||||
|
|||||||
@ -1183,44 +1183,6 @@ function fnMberSmishingYn(){
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
//알림톡 스미싱의심 여부
|
|
||||||
function fnMberAtSmishingYn(){
|
|
||||||
var form = document.mberManageVO;
|
|
||||||
var atSmishingYn = form.atSmishingYn.value;
|
|
||||||
|
|
||||||
if(confirm("알림톡 스미싱의심 여부를 변경하시겠습니까?")){
|
|
||||||
|
|
||||||
$.ajax({
|
|
||||||
type: "POST",
|
|
||||||
url: "/uss/umt/user/EgovGnrlUpdateUserAtSmishingAjax.do",
|
|
||||||
data: {"atSmishingYn" : atSmishingYn, "mberId" : "${mberManageVO.mberId}"},
|
|
||||||
dataType:'json',
|
|
||||||
async: false,
|
|
||||||
success: function (data, status) {
|
|
||||||
if (data.isSuccess) {
|
|
||||||
alert("변경 완료했습니다.");
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
alert(data.msg);
|
|
||||||
}
|
|
||||||
},
|
|
||||||
beforeSend: function () {
|
|
||||||
//로딩창 show
|
|
||||||
$('.loading_layer').addClass('active');
|
|
||||||
},
|
|
||||||
complete: function () {
|
|
||||||
//로딩창 hide
|
|
||||||
$('.loading_layer').removeClass('active');
|
|
||||||
},
|
|
||||||
error: function (e) {
|
|
||||||
alert("에러가 발생했습니다."); console.log("ERROR : ", e);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
// VIP 여부
|
// VIP 여부
|
||||||
function fnMberVIPYn(){
|
function fnMberVIPYn(){
|
||||||
var form = document.mberManageVO;
|
var form = document.mberManageVO;
|
||||||
@ -2422,6 +2384,331 @@ function fnMberExceptSpamYn(){
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//알림톡 지연 기능추가 -------------------------------------------------------
|
||||||
|
|
||||||
|
//알림톡 스미싱의심 여부
|
||||||
|
function fnMberAtSmishingYn(){
|
||||||
|
var form = document.mberManageVO;
|
||||||
|
var atSmishingYn = form.atSmishingYn.value;
|
||||||
|
|
||||||
|
if(confirm("알림톡 스미싱의심 여부를 변경하시겠습니까?")){
|
||||||
|
|
||||||
|
$.ajax({
|
||||||
|
type: "POST",
|
||||||
|
url: "/uss/umt/user/EgovGnrlUpdateUserAtSmishingAjax.do",
|
||||||
|
data: {"atSmishingYn" : atSmishingYn, "mberId" : "${mberManageVO.mberId}"},
|
||||||
|
dataType:'json',
|
||||||
|
async: false,
|
||||||
|
success: function (data, status) {
|
||||||
|
if (data.isSuccess) {
|
||||||
|
alert("변경 완료했습니다.");
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
alert(data.msg);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
beforeSend: function () {
|
||||||
|
//로딩창 show
|
||||||
|
$('.loading_layer').addClass('active');
|
||||||
|
},
|
||||||
|
complete: function () {
|
||||||
|
//로딩창 hide
|
||||||
|
$('.loading_layer').removeClass('active');
|
||||||
|
},
|
||||||
|
error: function (e) {
|
||||||
|
alert("에러가 발생했습니다."); console.log("ERROR : ", e);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//지연 알림톡 전체선택
|
||||||
|
function kakaoATDelayCheckAll(){
|
||||||
|
var checkField = document.kakaoATDelayForm.kakaoATCheckDelayField;
|
||||||
|
|
||||||
|
if(document.kakaoATDelayForm.kakaoATCheckAll.checked) {
|
||||||
|
if(checkField) {
|
||||||
|
if(checkField.length > 1) {
|
||||||
|
for(var i=0; i < checkField.length; i++) {
|
||||||
|
checkField[i].checked = true;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
checkField.checked = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
if(checkField) {
|
||||||
|
if(checkField.length > 1) {
|
||||||
|
for(var j=0; j < checkField.length; j++) {
|
||||||
|
checkField[j].checked = false;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
checkField.checked = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//지연 알림톡 즉시 발송 리스트
|
||||||
|
function kakaoATDelaySendArray(){
|
||||||
|
|
||||||
|
var userId = document.modiForm.mberId.value; //사용자 회원 아이디
|
||||||
|
var form = document.kakaoATDelayForm;
|
||||||
|
|
||||||
|
if($("input:checkbox[name='kakaoATCheckDelayField']").is(":checked")==false){
|
||||||
|
alert("선택된 알림톡이 없습니다.");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
var checkField = form.kakaoATCheckDelayField;
|
||||||
|
var id = form.kakaoATCheckDelayId;
|
||||||
|
var checkedIds = "";
|
||||||
|
var checkedCount = 0;
|
||||||
|
if(checkField) {
|
||||||
|
if(checkField.length > 1) {
|
||||||
|
for(var i=0; i < checkField.length; i++) {
|
||||||
|
if(checkField[i].checked) {
|
||||||
|
checkedIds += ((checkedCount==0? "" : ",") + id[i].value);
|
||||||
|
checkedCount++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
if(checkField.checked) {
|
||||||
|
checkedIds = id.value;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
var msgGroupId = checkedIds;
|
||||||
|
|
||||||
|
var msg = "";
|
||||||
|
var url = "/uss/ion/msg/updateKakaoATDelaySendRealTimeDataAjax.do";
|
||||||
|
var json = {"msgGroupId" : msgGroupId, "userId" : userId};
|
||||||
|
|
||||||
|
if(confirm("해당 지연 알림톡을 즉시 발송 하시겠습니까?")){
|
||||||
|
$.ajax({
|
||||||
|
type: "POST"
|
||||||
|
, url: url
|
||||||
|
, data: json
|
||||||
|
, dataType:'json'
|
||||||
|
, async: false
|
||||||
|
, success: function (data, status) {
|
||||||
|
var result = data.isStatus;
|
||||||
|
var msg = data.msg;
|
||||||
|
if (result == 'loginFail') {
|
||||||
|
alert(msg);
|
||||||
|
location.reload();
|
||||||
|
}else if(result == 'dateFail'){
|
||||||
|
alert(msg);
|
||||||
|
location.reload();
|
||||||
|
}else if(result == 'fail'){
|
||||||
|
alert(msg);
|
||||||
|
return false;
|
||||||
|
}else{
|
||||||
|
alert(msg);
|
||||||
|
location.reload();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
, beforeSend: function () {
|
||||||
|
//로딩창 show
|
||||||
|
$('.loading_layer').addClass('active');
|
||||||
|
}
|
||||||
|
, complete: function () {
|
||||||
|
//로딩창 hide
|
||||||
|
$('.loading_layer').removeClass('active');
|
||||||
|
}
|
||||||
|
, error: function (e) {
|
||||||
|
alert("에러가 발생했습니다."); console.log("ERROR : ", e);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//지연 알림톡 즉시 발송
|
||||||
|
function kakaoATDelaySend(msgGroupId){
|
||||||
|
|
||||||
|
var userId = document.modiForm.mberId.value; //사용자 회원 아이디
|
||||||
|
|
||||||
|
var msg = "";
|
||||||
|
var url = "/uss/ion/msg/updateKakaoATDelaySendRealTimeDataAjax.do";
|
||||||
|
var json = {"msgGroupId" : msgGroupId, "userId" : userId};
|
||||||
|
|
||||||
|
if(confirm("해당 지연 알림톡을 즉시 발송 하시겠습니까?")){
|
||||||
|
$.ajax({
|
||||||
|
type: "POST"
|
||||||
|
, url: url
|
||||||
|
, data: json
|
||||||
|
, dataType:'json'
|
||||||
|
, async: false
|
||||||
|
, success: function (data, status) {
|
||||||
|
var result = data.isStatus;
|
||||||
|
var msg = data.msg;
|
||||||
|
if (result == 'loginFail') {
|
||||||
|
alert(msg);
|
||||||
|
location.reload();
|
||||||
|
}else if(result == 'dateFail'){
|
||||||
|
alert(msg);
|
||||||
|
location.reload();
|
||||||
|
}else if(result == 'fail'){
|
||||||
|
alert(msg);
|
||||||
|
return false;
|
||||||
|
}else{
|
||||||
|
alert(msg);
|
||||||
|
location.reload();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
, beforeSend: function () {
|
||||||
|
//로딩창 show
|
||||||
|
$('.loading_layer').addClass('active');
|
||||||
|
}
|
||||||
|
, complete: function () {
|
||||||
|
//로딩창 hide
|
||||||
|
$('.loading_layer').removeClass('active');
|
||||||
|
}
|
||||||
|
, error: function (e) {
|
||||||
|
alert("에러가 발생했습니다."); console.log("ERROR : ", e);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//지연 알림톡 발송취소 리스트
|
||||||
|
function kakaoATDelayCancelArray(){
|
||||||
|
|
||||||
|
var userId = document.modiForm.mberId.value; //사용자 회원 아이디
|
||||||
|
var form = document.kakaoATDelayForm;
|
||||||
|
|
||||||
|
if($("input:checkbox[name='kakaoATCheckDelayField']").is(":checked")==false){
|
||||||
|
alert("선택된 알림톡이 없습니다.");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
var checkField = form.kakaoATCheckDelayField;
|
||||||
|
var id = form.kakaoATCheckDelayId;
|
||||||
|
var checkedIds = "";
|
||||||
|
var checkedCount = 0;
|
||||||
|
if(checkField) {
|
||||||
|
if(checkField.length > 1) {
|
||||||
|
for(var i=0; i < checkField.length; i++) {
|
||||||
|
if(checkField[i].checked) {
|
||||||
|
checkedIds += ((checkedCount==0? "" : ",") + id[i].value);
|
||||||
|
checkedCount++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
if(checkField.checked) {
|
||||||
|
checkedIds = id.value;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
var msgGroupId = checkedIds;
|
||||||
|
|
||||||
|
var msg = "";
|
||||||
|
var url = "/uss/ion/msg/deleteKakaoATDelaySendCancelDataAjax.do";
|
||||||
|
var json = {"msgGroupId" : msgGroupId, "userId" : userId};
|
||||||
|
|
||||||
|
if(confirm("해당 지연 알림톡을 발송취소 하시겠습니까?")){
|
||||||
|
$.ajax({
|
||||||
|
type: "POST"
|
||||||
|
, url: url
|
||||||
|
, data: json
|
||||||
|
, dataType:'json'
|
||||||
|
, async: false
|
||||||
|
, success: function (data, status) {
|
||||||
|
var result = data.isStatus;
|
||||||
|
var msg = data.msg;
|
||||||
|
|
||||||
|
if (result == 'loginFail') {
|
||||||
|
alert(msg);
|
||||||
|
location.reload();
|
||||||
|
}else if(result == 'dateFail'){
|
||||||
|
|
||||||
|
alert(msg);
|
||||||
|
location.reload();
|
||||||
|
|
||||||
|
}else if(result == 'fail'){
|
||||||
|
alert(msg);
|
||||||
|
return false;
|
||||||
|
}else{
|
||||||
|
|
||||||
|
alert(msg);
|
||||||
|
|
||||||
|
//회원 이용정지 처리하기
|
||||||
|
//fn_updateMberSttus(msgGroupId);
|
||||||
|
fn_MsgDelayCancel_after();
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
, beforeSend: function () {
|
||||||
|
//로딩창 show
|
||||||
|
$('.loading_layer').addClass('active');
|
||||||
|
}
|
||||||
|
, complete: function () {
|
||||||
|
//로딩창 hide
|
||||||
|
$('.loading_layer').removeClass('active');
|
||||||
|
}
|
||||||
|
, error: function (e) {
|
||||||
|
alert("에러가 발생했습니다."); console.log("ERROR : ", e);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//지연 알림톡 발송취소
|
||||||
|
function kakaoATDelayCancel(msgGroupId){
|
||||||
|
|
||||||
|
var userId = document.modiForm.mberId.value; //사용자 회원 아이디
|
||||||
|
|
||||||
|
var msg = "";
|
||||||
|
var url = "/uss/ion/msg/deleteKakaoATDelaySendCancelDataAjax.do";
|
||||||
|
var json = {"msgGroupId" : msgGroupId, "userId" : userId};
|
||||||
|
|
||||||
|
if(confirm("해당 지연 알림톡을 발송취소 하시겠습니까?")){
|
||||||
|
$.ajax({
|
||||||
|
type: "POST"
|
||||||
|
, url: url
|
||||||
|
, data: json
|
||||||
|
, dataType:'json'
|
||||||
|
, async: false
|
||||||
|
, success: function (data, status) {
|
||||||
|
var result = data.isStatus;
|
||||||
|
var msg = data.msg;
|
||||||
|
|
||||||
|
if (result == 'loginFail') {
|
||||||
|
alert(msg);
|
||||||
|
location.reload();
|
||||||
|
}else if(result == 'dateFail'){
|
||||||
|
|
||||||
|
alert(msg);
|
||||||
|
location.reload();
|
||||||
|
|
||||||
|
}else if(result == 'fail'){
|
||||||
|
alert(msg);
|
||||||
|
return false;
|
||||||
|
}else{
|
||||||
|
|
||||||
|
alert(msg);
|
||||||
|
|
||||||
|
//회원 이용정지 처리하기
|
||||||
|
//fn_updateMberSttus(msgGroupId);
|
||||||
|
fn_MsgDelayCancel_after();
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
, beforeSend: function () {
|
||||||
|
//로딩창 show
|
||||||
|
$('.loading_layer').addClass('active');
|
||||||
|
}
|
||||||
|
, complete: function () {
|
||||||
|
//로딩창 hide
|
||||||
|
$('.loading_layer').removeClass('active');
|
||||||
|
}
|
||||||
|
, error: function (e) {
|
||||||
|
alert("에러가 발생했습니다."); console.log("ERROR : ", e);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
</script>
|
</script>
|
||||||
<style>
|
<style>
|
||||||
.fileView {border-bottom: inherit !important;}
|
.fileView {border-bottom: inherit !important;}
|
||||||
@ -2574,7 +2861,6 @@ function fnMberExceptSpamYn(){
|
|||||||
</select>
|
</select>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<%--
|
|
||||||
<tr>
|
<tr>
|
||||||
<th>스미싱 의심(카톡)</th>
|
<th>스미싱 의심(카톡)</th>
|
||||||
<td>
|
<td>
|
||||||
@ -2587,7 +2873,6 @@ function fnMberExceptSpamYn(){
|
|||||||
<td>
|
<td>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
--%>
|
|
||||||
<tr>
|
<tr>
|
||||||
<th>전용 전송사</th>
|
<th>전용 전송사</th>
|
||||||
<td>
|
<td>
|
||||||
@ -3022,7 +3307,6 @@ function fnMberExceptSpamYn(){
|
|||||||
</select>
|
</select>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<%--
|
|
||||||
<tr>
|
<tr>
|
||||||
<th>스미싱 의심(카톡)</th>
|
<th>스미싱 의심(카톡)</th>
|
||||||
<td>
|
<td>
|
||||||
@ -3035,7 +3319,6 @@ function fnMberExceptSpamYn(){
|
|||||||
<td>
|
<td>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
--%>
|
|
||||||
<tr>
|
<tr>
|
||||||
<th>전용 전송사</th>
|
<th>전용 전송사</th>
|
||||||
<td>
|
<td>
|
||||||
@ -3800,14 +4083,7 @@ function fnMberExceptSpamYn(){
|
|||||||
|
|
||||||
<c:choose>
|
<c:choose>
|
||||||
<c:when test="${empty mjonMsgDelaySentList.smsTxt}">
|
<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">
|
<div class="sms_detail_hover">
|
||||||
<c:if test="${not empty fn:split(mjonMsgDelaySentList.atchFiles, '^')[0]}">
|
<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;">
|
<img class="MyMsgImg1" src="/cmm/fms/getImage2.do?atchFileId=${fn:split(mjonMsgDelaySentList.atchFiles, '^')[0]}&fileSn=0" style="width: 120px;">
|
||||||
@ -4164,7 +4440,138 @@ function fnMberExceptSpamYn(){
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- 최근 카카오톡 전송 내역 -->
|
<!-- 최근 알림톡 지연 내역 -->
|
||||||
|
<form id="kakaoATDelayForm" name="kakaoATDelayForm" mehoth="post">
|
||||||
|
<div class="title_box">
|
||||||
|
<p>최근 알림톡 지연 내역</p>
|
||||||
|
<div class="button_box">
|
||||||
|
<button type="button" onclick="kakaoATDelaySendArray(); return false;" class="fillBlue">발송승인</button>
|
||||||
|
<button type="button" onclick="kakaoATDelayCancelArray(); return false;" class="fillRed">발송취소</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<table class="user_table_col">
|
||||||
|
<colgroup>
|
||||||
|
<col style="width:5%;">
|
||||||
|
<col style="width:9%;">
|
||||||
|
<col style="width:13%;">
|
||||||
|
<col style="width:15%;">
|
||||||
|
<col style="width:auto;">
|
||||||
|
<col style="width:8%;">
|
||||||
|
<col style="width:8%;">
|
||||||
|
<col style="width:8%;">
|
||||||
|
<col style="width:8%;">
|
||||||
|
</colgroup>
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th>
|
||||||
|
<input type="checkbox" name="kakaoATCheckAll" id="kakaoATCheckAll" onclick="kakaoATDelayCheckAll();" />
|
||||||
|
<label for="kakaoATCheckAll"></label>
|
||||||
|
</th>
|
||||||
|
<th>종류</th>
|
||||||
|
<th>등록일시</th>
|
||||||
|
<th>전송일시</th>
|
||||||
|
<th>채널ID</th>
|
||||||
|
<th>내용</th>
|
||||||
|
<th>건수</th>
|
||||||
|
<th>발송</th>
|
||||||
|
<th>취소</th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
<c:choose>
|
||||||
|
<c:when test="${not empty kakaoATDelaySentList}">
|
||||||
|
<c:forEach var="kakaoDelayInfo" items="${kakaoATDelaySentList}" varStatus="status">
|
||||||
|
<c:if test="${status.count < 4}">
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
<input name="kakaoATCheckDelayField" id="<c:out value='${kakaoDelayInfo.msgGroupId}'/>" title="Check <c:out value="${status.count}"/>" type="checkbox"/>
|
||||||
|
<label for="<c:out value="${result.uniqId}"/>"></label>
|
||||||
|
<input name="kakaoATCheckDelayId" type="hidden" class="${result.userId}" value="<c:out value='${kakaoDelayInfo.msgGroupId}'/>"/>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<c:choose>
|
||||||
|
<c:when test="${kakaoDelayInfo.msgType == '8'}">
|
||||||
|
알림톡
|
||||||
|
</c:when>
|
||||||
|
<c:when test="${kakaoDelayInfo.msgType == '9'}">
|
||||||
|
친구톡
|
||||||
|
</c:when>
|
||||||
|
<c:otherwise>
|
||||||
|
-
|
||||||
|
</c:otherwise>
|
||||||
|
</c:choose>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<c:choose>
|
||||||
|
<c:when test="${not empty kakaoDelayInfo.regDate}">
|
||||||
|
<fmt:parseDate value="${kakaoDelayInfo.regDate}" var="kakaoDelayRegdate" pattern="yyyy-MM-dd HH:mm:ss"/>
|
||||||
|
<fmt:formatDate value="${kakaoDelayRegdate}" pattern="MM-dd HH:mm"/>
|
||||||
|
</c:when>
|
||||||
|
<c:otherwise>
|
||||||
|
-
|
||||||
|
</c:otherwise>
|
||||||
|
</c:choose>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<c:choose>
|
||||||
|
<c:when test="${not empty kakaoDelayInfo.sentDate}">
|
||||||
|
<fmt:formatDate value="${kakaoDelayInfo.sentDate}" pattern="yyyy-MM-dd HH:mm"/>
|
||||||
|
</c:when>
|
||||||
|
<c:otherwise>
|
||||||
|
<c:choose>
|
||||||
|
<c:when test="${kakaoDelayInfo.atDelayYn eq 'Y'}">
|
||||||
|
[스미싱의심]
|
||||||
|
<fmt:parseDate value="${kakaoDelayInfo.reqDate}" var="kakaoDelayReqDate" pattern="yyyy-MM-dd HH:mm:ss"/>
|
||||||
|
<fmt:formatDate value="${kakaoDelayReqDate}" pattern="MM-dd HH:mm"/>
|
||||||
|
</c:when>
|
||||||
|
<c:otherwise>
|
||||||
|
-
|
||||||
|
</c:otherwise>
|
||||||
|
</c:choose>
|
||||||
|
</c:otherwise>
|
||||||
|
</c:choose>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<c:out value="${kakaoDelayInfo.yellowId}"/>
|
||||||
|
</td>
|
||||||
|
<td class="sms_detail" style="text-align: left;">
|
||||||
|
<c:choose>
|
||||||
|
<c:when test="${empty kakaoDelayInfo.smsTxt}">
|
||||||
|
-
|
||||||
|
</c:when>
|
||||||
|
<c:otherwise>
|
||||||
|
<div class="ellipsis_line">
|
||||||
|
<c:out value="${kakaoDelayInfo.smsTxt}"/>
|
||||||
|
</div>
|
||||||
|
</c:otherwise>
|
||||||
|
</c:choose>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<fmt:formatNumber value="${kakaoDelayInfo.msgGroupCnt}" type="number" />
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<button type="button" class="thinfill" id="kakaoATDelaySend${status.count}" name="msgDelaySend"
|
||||||
|
onclick="kakaoATDelaySend('<c:out value="${kakaoDelayInfo.msgGroupId}"/>'); return false;">승인</button>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<button type="button" class="thinfill" id="kakaoATDelayCancel${status.count}" name="msgDelayCancel"
|
||||||
|
onclick="kakaoATDelayCancel('<c:out value="${kakaoDelayInfo.msgGroupId}"/>'); return false;">취소</button>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</c:if>
|
||||||
|
</c:forEach>
|
||||||
|
</c:when>
|
||||||
|
<c:otherwise>
|
||||||
|
<tr>
|
||||||
|
<td colspan="9">카카오톡 발송 내역이 없습니다.</td>
|
||||||
|
</tr>
|
||||||
|
</c:otherwise>
|
||||||
|
</c:choose>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</form>
|
||||||
|
|
||||||
|
<!-- 최근 팩스 전송 내역 -->
|
||||||
<div class="title_box">
|
<div class="title_box">
|
||||||
<p>최근 팩스 전송 내역</p>
|
<p>최근 팩스 전송 내역</p>
|
||||||
<div class="button_box">
|
<div class="button_box">
|
||||||
|
|||||||
@ -150,6 +150,7 @@ function fnSelectMber(mberId) {
|
|||||||
<input type="hidden" name="detailType" value="<c:out value="${searchVO.detailType}" />" />
|
<input type="hidden" name="detailType" value="<c:out value="${searchVO.detailType}" />" />
|
||||||
<input type="hidden" name="ntceBgnde" id="ntceBgnde" value="">
|
<input type="hidden" name="ntceBgnde" id="ntceBgnde" value="">
|
||||||
<input type="hidden" name="ntceEndde" id="ntceEndde" value="">
|
<input type="hidden" name="ntceEndde" id="ntceEndde" value="">
|
||||||
|
<input type="hidden" name="userId" id="userId" value="<c:out value="${searchVO.userId}" />" />
|
||||||
|
|
||||||
<div class="contWrap">
|
<div class="contWrap">
|
||||||
<div class="pageTitle">
|
<div class="pageTitle">
|
||||||
|
|||||||
@ -351,10 +351,10 @@ function fnSmishingUpdate(flag) {
|
|||||||
if(checkedIds.length > 0) {
|
if(checkedIds.length > 0) {
|
||||||
var msg = "";
|
var msg = "";
|
||||||
if(flag == 'on') {
|
if(flag == 'on') {
|
||||||
document.listForm.smishingYn.value='Y';
|
document.listForm.atSmishingYn.value='Y';
|
||||||
msg = "선택하신 사용자의 스미싱의심을 On 하시겠습니까?";
|
msg = "선택하신 사용자의 스미싱의심을 On 하시겠습니까?";
|
||||||
} else {
|
} else {
|
||||||
document.listForm.smishingYn.value='N';
|
document.listForm.atSmishingYn.value='N';
|
||||||
msg = "선택하신 사용자의 스미싱의심을 Off 하시겠습니까?";
|
msg = "선택하신 사용자의 스미싱의심을 Off 하시겠습니까?";
|
||||||
}
|
}
|
||||||
if(confirm(msg)){
|
if(confirm(msg)){
|
||||||
@ -398,7 +398,7 @@ function fnSmishingUpdate(flag) {
|
|||||||
<input type="hidden" name="ntceEndde" id="ntceEndde" value="">
|
<input type="hidden" name="ntceEndde" id="ntceEndde" value="">
|
||||||
<input type="hidden" name="adminSmsNoticeYn" value=""/>
|
<input type="hidden" name="adminSmsNoticeYn" value=""/>
|
||||||
<input name="checkedIdForDel" type="hidden" />
|
<input name="checkedIdForDel" type="hidden" />
|
||||||
<input type="hidden" name="smishingYn" value=""/>
|
<input type="hidden" name="atSmishingYn" value=""/>
|
||||||
|
|
||||||
<div class="contWrap">
|
<div class="contWrap">
|
||||||
<div class="pageTitle">
|
<div class="pageTitle">
|
||||||
@ -484,9 +484,8 @@ function fnSmishingUpdate(flag) {
|
|||||||
<col style="width: 5%">
|
<col style="width: 5%">
|
||||||
<col style="width: 13%">
|
<col style="width: 13%">
|
||||||
<col style="width: 13%">
|
<col style="width: 13%">
|
||||||
<%-- <col style="width: 10%"> --%>
|
|
||||||
<col style="width: 10%">
|
<col style="width: 10%">
|
||||||
<%-- <col style="width: 10%"> --%>
|
<col style="width: 10%">
|
||||||
<col style="width: 10%">
|
<col style="width: 10%">
|
||||||
<col style="width: 5%">
|
<col style="width: 5%">
|
||||||
<col style="width: auto">
|
<col style="width: auto">
|
||||||
@ -498,15 +497,12 @@ function fnSmishingUpdate(flag) {
|
|||||||
<th>번호<input type="button" class="sort sortBtn" id="sort_msgGroupId"></th>
|
<th>번호<input type="button" class="sort sortBtn" id="sort_msgGroupId"></th>
|
||||||
<th>아이디<input type="button" class="sort sortBtn" id="sort_userId"></th>
|
<th>아이디<input type="button" class="sort sortBtn" id="sort_userId"></th>
|
||||||
<th>채널ID<input type="button" class="sort sortBtn" id="sort_yellowId"></th>
|
<th>채널ID<input type="button" class="sort sortBtn" id="sort_yellowId"></th>
|
||||||
<!-- <th>qkf<input type="button" class="sort sortBtn" id="sort_callFrom"></th> -->
|
|
||||||
<th>발송건수<input type="button" class="sort sortBtn" id="sort_msgGroupCnt"></th>
|
<th>발송건수<input type="button" class="sort sortBtn" id="sort_msgGroupCnt"></th>
|
||||||
<!-- <th>스미싱의심</th> -->
|
<th>스미싱의심</th>
|
||||||
<th>요청시간<input type="button" class="sort sortBtn" id="sort_reqDate"></th>
|
<th>요청시간<input type="button" class="sort sortBtn" id="sort_reqDate"></th>
|
||||||
<th>예약<input type="button" class="sort sortBtn" id="sort_reserveYn"></th>
|
<th>예약<input type="button" class="sort sortBtn" id="sort_reserveYn"></th>
|
||||||
<th>내용<input type="button" class="sort sortBtn" id="sort_smsTxt"></th>
|
<th>내용<input type="button" class="sort sortBtn" id="sort_smsTxt"></th>
|
||||||
<th>타입<input type="button" class="sort sortBtn" id="sort_msgType"></th>
|
<th>타입<input type="button" class="sort sortBtn" id="sort_msgType"></th>
|
||||||
<!-- <th>전송사<input type="button" class="sort sortBtn" id="sort_agentCodeTxt"></th> -->
|
|
||||||
<!-- <th>통신사<input type="button" class="sort sortBtn" id="sort_rsltNet"></th> -->
|
|
||||||
</tr>
|
</tr>
|
||||||
</thead>
|
</thead>
|
||||||
<tbody>
|
<tbody>
|
||||||
@ -516,7 +512,7 @@ function fnSmishingUpdate(flag) {
|
|||||||
<input name="checkField" id="<c:out value="${result.userId}"/>" title="Check <c:out value="${status.count}"/>" type="checkbox"/><label for="<c:out value="${result.userId}"/>"></label>
|
<input name="checkField" id="<c:out value="${result.userId}"/>" title="Check <c:out value="${status.count}"/>" type="checkbox"/><label for="<c:out value="${result.userId}"/>"></label>
|
||||||
<input name="checkId" type="hidden" class="${result.userId}" value="<c:out value='${result.userId}'/>:<c:out value='${result.userId}'/>"/>
|
<input name="checkId" type="hidden" class="${result.userId}" value="<c:out value='${result.userId}'/>:<c:out value='${result.userId}'/>"/>
|
||||||
</td>
|
</td>
|
||||||
<td>
|
<td <c:if test="${result.atSmishingYn eq 'Y'}">class="smishing"</c:if>>
|
||||||
<c:if test="${searchVO.searchSortOrd eq 'desc' }">
|
<c:if test="${searchVO.searchSortOrd eq 'desc' }">
|
||||||
<c:out value="${ ( paginationInfo.totalRecordCount - ((paginationInfo.currentPageNo -1)*paginationInfo.recordCountPerPage) ) - status.index }"/>
|
<c:out value="${ ( paginationInfo.totalRecordCount - ((paginationInfo.currentPageNo -1)*paginationInfo.recordCountPerPage) ) - status.index }"/>
|
||||||
</c:if>
|
</c:if>
|
||||||
@ -524,23 +520,17 @@ function fnSmishingUpdate(flag) {
|
|||||||
<c:out value="${(paginationInfo.currentPageNo - 1) * paginationInfo.recordCountPerPage + status.count}"/>
|
<c:out value="${(paginationInfo.currentPageNo - 1) * paginationInfo.recordCountPerPage + status.count}"/>
|
||||||
</c:if>
|
</c:if>
|
||||||
</td>
|
</td>
|
||||||
<td>
|
<td <c:if test="${result.atSmishingYn eq 'Y'}">class="smishing"</c:if>>
|
||||||
<div class="id_box <c:if test='${result.vipYn eq "Y" }'>vip</c:if>">
|
<div class="id_box <c:if test='${result.vipYn eq "Y" }'>vip</c:if>">
|
||||||
<a href="#" onclick="javascript:fnSelectMber('<c:out value="${result.userId}"/>'); return false;">
|
<a href="#" onclick="javascript:fnSelectMber('<c:out value="${result.userId}"/>'); return false;">
|
||||||
<c:out value="${result.userId}"/>(<c:out value="${result.userNm}"/>)
|
<c:out value="${result.userId}"/>(<c:out value="${result.userNm}"/>)
|
||||||
</a>
|
</a>
|
||||||
</div>
|
</div>
|
||||||
</td>
|
</td>
|
||||||
|
<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>>
|
||||||
<td onclick="fn_detail_list('<c:out value="${result.msgGroupId}"/>', '<c:out value="${result.userId}"/>'); return false;" style="cursor:pointer;">
|
|
||||||
<c:out value="${result.yellowId}"/>
|
<c:out value="${result.yellowId}"/>
|
||||||
</td>
|
</td>
|
||||||
|
<td onclick="fn_detail_list('<c:out value="${result.msgGroupId}"/>', '<c:out value="${result.userId}"/>'); return false;" style="cursor:pointer;line-height:30px;text-align:right;" <c:if test="${result.atSmishingYn eq 'Y'}">class="smishing"</c:if>>
|
||||||
<%-- <td onclick="fn_detail_list('${result.msgGroupId}'); return false;" <c:if test="${result.smishingYn eq 'Y'}">class="smishing" style="cursor:pointer;"</c:if><c:if test="${result.smishingYn eq 'N'}">style="cursor:pointer;"</c:if>>
|
|
||||||
<c:out value="${result.callFrom}"/>
|
|
||||||
</td> --%>
|
|
||||||
|
|
||||||
<td onclick="fn_detail_list('<c:out value="${result.msgGroupId}"/>', '<c:out value="${result.userId}"/>'); return false;" style="cursor:pointer;line-height:30px;text-align:right;">
|
|
||||||
<c:choose>
|
<c:choose>
|
||||||
<c:when test="${result.successCount > 0}">
|
<c:when test="${result.successCount > 0}">
|
||||||
<c:out value="${result.msgGroupCnt}"/>(<fmt:formatNumber value="${(result.successCount / result.msgGroupCnt) * 100}" pattern="#,###" />%)
|
<c:out value="${result.msgGroupCnt}"/>(<fmt:formatNumber value="${(result.successCount / result.msgGroupCnt) * 100}" pattern="#,###" />%)
|
||||||
@ -549,20 +539,50 @@ function fnSmishingUpdate(flag) {
|
|||||||
<span style="color: #0000FF;">
|
<span style="color: #0000FF;">
|
||||||
<c:out value="${result.msgGroupCnt}"/>(<fmt:formatNumber value="${(result.successCount / result.msgGroupCnt) * 100}" pattern="#,###" />%)
|
<c:out value="${result.msgGroupCnt}"/>(<fmt:formatNumber value="${(result.successCount / result.msgGroupCnt) * 100}" pattern="#,###" />%)
|
||||||
<c:if test="${result.msgGroupCnt eq result.callRejectionCount && result.callbackYn eq 'N' && result.userCallbackYn eq 'N' }">
|
<c:if test="${result.msgGroupCnt eq result.callRejectionCount && result.callbackYn eq 'N' && result.userCallbackYn eq 'N' }">
|
||||||
<%-- <input type="button" style="margin-left:3px;margin-right:0;vertical-align:top;" class="btnType1" onclick="fn_sendMsgData('<c:out value="${result.msgGroupId}"/>','<c:out value="${result.callFrom}"/>','<c:out value="${result.userId}"/>');" value="문자" /> --%>
|
<%-- <input type="button" style="margin-left:3px;margin-right:0;vertical-align:top;" class="btnType1" onclick="fn_sendMsgData('<c:out value="${result.msgGroupId}"/>','<c:out value="${result.callFrom}"/>','<c:out value="${result.userId}"/>');" value="문자" /> --%>
|
||||||
</c:if>
|
</c:if>
|
||||||
<c:if test="${result.callbackYn eq 'Y' }">
|
<c:if test="${result.callbackYn eq 'Y' }">
|
||||||
<span style="color: #0000FF;" title="번호도용 문자차단 안내문자 발송완료">안내완료</span>
|
<span style="color: #0000FF;" title="번호도용 문자차단 안내문자 발송완료">안내완료</span>
|
||||||
</c:if>
|
</c:if>
|
||||||
</span>
|
</span>
|
||||||
</c:otherwise>
|
</c:otherwise>
|
||||||
</c:choose>
|
</c:choose>
|
||||||
</td>
|
</td>
|
||||||
<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}"/>">
|
<td <c:if test="${result.atSmishingYn eq 'Y'}">class="smishing"</c:if>>
|
||||||
|
<c:choose>
|
||||||
|
<c:when test="${result.atDelayYn eq 'Y'}">
|
||||||
|
<c:choose>
|
||||||
|
<c:when test="${result.atDelayCompleteYn eq 'Y' && not empty result.cancelDate}">
|
||||||
|
<span style="color: #0000FF;">
|
||||||
|
<c:if test="${result.smishingYn eq 'Y'}">온</c:if><c:if test="${result.smishingYn eq 'N'}">오프</c:if>[이용정지]
|
||||||
|
<span style="overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block;margin-top:3px;" title="<c:out value="${result.cancelDate}"/>">
|
||||||
|
<fmt:parseDate value="${result.cancelDate}" var="cancelDateValue" pattern="yyyy-MM-dd HH:mm"/>
|
||||||
|
<fmt:formatDate value="${cancelDateValue}" pattern="MM-dd HH:mm"/>
|
||||||
|
</span>
|
||||||
|
</span>
|
||||||
|
</c:when>
|
||||||
|
<c:when test="${result.atDelayCompleteYn eq 'N'}">
|
||||||
|
<c:if test="${result.atSmishingYn eq 'Y'}">온</c:if>
|
||||||
|
<c:if test="${result.atSmishingYn eq 'N'}">오프</c:if>[미처리]
|
||||||
|
</c:when>
|
||||||
|
<c:otherwise>
|
||||||
|
<span style="color: #0000FF;">
|
||||||
|
<c:if test="${result.atSmishingYn eq 'Y'}">온</c:if>
|
||||||
|
<c:if test="${result.atSmishingYn eq 'N'}">오프</c:if>[승인]
|
||||||
|
</span>
|
||||||
|
</c:otherwise>
|
||||||
|
</c:choose>
|
||||||
|
</c:when>
|
||||||
|
<c:otherwise>
|
||||||
|
-
|
||||||
|
</c:otherwise>
|
||||||
|
</c:choose>
|
||||||
|
</td>
|
||||||
|
<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:parseDate value="${result.reqDate}" var="reqDateValue" pattern="yyyy-MM-dd HH:mm"/>
|
||||||
<fmt:formatDate value="${reqDateValue}" pattern="MM-dd HH:mm"/>
|
<fmt:formatDate value="${reqDateValue}" pattern="MM-dd HH:mm"/>
|
||||||
</td>
|
</td>
|
||||||
<td onclick="fn_detail_list('${result.msgGroupId}'); return false;" style="cursor:pointer;">
|
<td onclick="fn_detail_list('${result.msgGroupId}'); return false;" style="cursor:pointer;" <c:if test="${result.atSmishingYn eq 'Y'}">class="smishing"</c:if>>
|
||||||
<c:choose>
|
<c:choose>
|
||||||
<c:when test="${result.reserveYn eq 'Y'}">
|
<c:when test="${result.reserveYn eq 'Y'}">
|
||||||
예약
|
예약
|
||||||
@ -572,25 +592,20 @@ function fnSmishingUpdate(flag) {
|
|||||||
</c:otherwise>
|
</c:otherwise>
|
||||||
</c:choose>
|
</c:choose>
|
||||||
</td>
|
</td>
|
||||||
<td class="sms_detail left" onclick="fn_detail_list('<c:out value="${result.msgGroupId}"/>', '<c:out value="${result.userId}"/>'); return false;" style="cursor:pointer;">
|
<td class="sms_detail left <c:if test="${result.atSmishingYn eq 'Y'}">smishing</c:if>" onclick="fn_detail_list('<c:out value="${result.msgGroupId}"/>', '<c:out value="${result.userId}"/>'); return false;" style="cursor:pointer;">
|
||||||
<p><c:out value="${result.smsTxt}"/></p>
|
<p><c:out value="${result.smsTxt}"/></p>
|
||||||
<div class="sms_detail_hover">
|
<div class="sms_detail_hover">
|
||||||
<c:out value="${fn:replace(fn:replace(result.smsTxt, newLineChar, '<br/>'), newLineChar2, '<br/>')}" escapeXml="false"/>
|
<c:out value="${fn:replace(fn:replace(result.smsTxt, newLineChar, '<br/>'), newLineChar2, '<br/>')}" escapeXml="false"/>
|
||||||
</div>
|
</div>
|
||||||
</td>
|
</td>
|
||||||
<td onclick="fn_detail_list('<c:out value="${result.msgGroupId}"/>', '<c:out value="${result.userId}"/>'); return false;" style="cursor:pointer;">
|
<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.msgTypeName}"/>
|
<c:out value="${result.msgTypeName}"/>
|
||||||
</td>
|
</td>
|
||||||
<%-- <td><c:out value="${result.conectMthdTxt}"/></td> --%>
|
|
||||||
<%-- <td <c:if test="${result.smishingYn eq 'Y'}">class="smishing"</c:if>>
|
|
||||||
<c:out value="${result.agentCodeTxt}"/>
|
|
||||||
</td> --%>
|
|
||||||
<%-- <td><c:out value="${result.rsltNet}"/></td> --%>
|
|
||||||
</tr>
|
</tr>
|
||||||
</c:forEach>
|
</c:forEach>
|
||||||
<c:if test="${empty resultList}">
|
<c:if test="${empty resultList}">
|
||||||
<tr><td colspan="8"><spring:message code="common.nodata.msg" /></td></tr>
|
<tr><td colspan="10"><spring:message code="common.nodata.msg" /></td></tr>
|
||||||
</c:if>
|
</c:if>
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@ -456,7 +456,7 @@ function fnAtSmishingUpdate(flag) {
|
|||||||
<col style="width: 13%">
|
<col style="width: 13%">
|
||||||
<%-- <col style="width: 10%"> --%>
|
<%-- <col style="width: 10%"> --%>
|
||||||
<col style="width: 10%">
|
<col style="width: 10%">
|
||||||
<%-- <col style="width: 10%"> --%>
|
<col style="width: 10%">
|
||||||
<col style="width: 10%">
|
<col style="width: 10%">
|
||||||
<col style="width: 5%">
|
<col style="width: 5%">
|
||||||
<col style="width: auto">
|
<col style="width: auto">
|
||||||
@ -468,15 +468,12 @@ function fnAtSmishingUpdate(flag) {
|
|||||||
<th>번호<input type="button" class="sort sortBtn" id="sort_msgGroupId"></th>
|
<th>번호<input type="button" class="sort sortBtn" id="sort_msgGroupId"></th>
|
||||||
<th>아이디<input type="button" class="sort sortBtn" id="sort_userId"></th>
|
<th>아이디<input type="button" class="sort sortBtn" id="sort_userId"></th>
|
||||||
<th>채널ID<input type="button" class="sort sortBtn" id="sort_yellowId"></th>
|
<th>채널ID<input type="button" class="sort sortBtn" id="sort_yellowId"></th>
|
||||||
<!-- <th>qkf<input type="button" class="sort sortBtn" id="sort_callFrom"></th> -->
|
|
||||||
<th>발송건수<input type="button" class="sort sortBtn" id="sort_msgGroupCnt"></th>
|
<th>발송건수<input type="button" class="sort sortBtn" id="sort_msgGroupCnt"></th>
|
||||||
<!-- <th>스미싱의심</th> -->
|
<th>스미싱의심</th>
|
||||||
<th>요청시간<input type="button" class="sort sortBtn" id="sort_reqDate"></th>
|
<th>요청시간<input type="button" class="sort sortBtn" id="sort_reqDate"></th>
|
||||||
<th>예약<input type="button" class="sort sortBtn" id="sort_reserveYn"></th>
|
<th>예약<input type="button" class="sort sortBtn" id="sort_reserveYn"></th>
|
||||||
<th>내용<input type="button" class="sort sortBtn" id="sort_smsTxt"></th>
|
<th>내용<input type="button" class="sort sortBtn" id="sort_smsTxt"></th>
|
||||||
<th>타입<input type="button" class="sort sortBtn" id="sort_msgType"></th>
|
<th>타입<input type="button" class="sort sortBtn" id="sort_msgType"></th>
|
||||||
<!-- <th>전송사<input type="button" class="sort sortBtn" id="sort_agentCodeTxt"></th> -->
|
|
||||||
<!-- <th>통신사<input type="button" class="sort sortBtn" id="sort_rsltNet"></th> -->
|
|
||||||
</tr>
|
</tr>
|
||||||
</thead>
|
</thead>
|
||||||
<tbody>
|
<tbody>
|
||||||
@ -486,7 +483,7 @@ function fnAtSmishingUpdate(flag) {
|
|||||||
<input name="checkField" id="<c:out value="${result.userId}"/>" title="Check <c:out value="${status.count}"/>" type="checkbox"/><label for="<c:out value="${result.userId}"/>"></label>
|
<input name="checkField" id="<c:out value="${result.userId}"/>" title="Check <c:out value="${status.count}"/>" type="checkbox"/><label for="<c:out value="${result.userId}"/>"></label>
|
||||||
<input name="checkId" type="hidden" class="${result.userId}" value="<c:out value='${result.userId}'/>:<c:out value='${result.userId}'/>"/>
|
<input name="checkId" type="hidden" class="${result.userId}" value="<c:out value='${result.userId}'/>:<c:out value='${result.userId}'/>"/>
|
||||||
</td>
|
</td>
|
||||||
<td>
|
<td <c:if test="${result.atSmishingYn eq 'Y'}">class="smishing"</c:if>>
|
||||||
<c:if test="${searchVO.searchSortOrd eq 'desc' }">
|
<c:if test="${searchVO.searchSortOrd eq 'desc' }">
|
||||||
<c:out value="${ ( paginationInfo.totalRecordCount - ((paginationInfo.currentPageNo -1)*paginationInfo.recordCountPerPage) ) - status.index }"/>
|
<c:out value="${ ( paginationInfo.totalRecordCount - ((paginationInfo.currentPageNo -1)*paginationInfo.recordCountPerPage) ) - status.index }"/>
|
||||||
</c:if>
|
</c:if>
|
||||||
@ -494,23 +491,17 @@ function fnAtSmishingUpdate(flag) {
|
|||||||
<c:out value="${(paginationInfo.currentPageNo - 1) * paginationInfo.recordCountPerPage + status.count}"/>
|
<c:out value="${(paginationInfo.currentPageNo - 1) * paginationInfo.recordCountPerPage + status.count}"/>
|
||||||
</c:if>
|
</c:if>
|
||||||
</td>
|
</td>
|
||||||
<td>
|
<td <c:if test="${result.atSmishingYn eq 'Y'}">class="smishing"</c:if>>
|
||||||
<div class="id_box <c:if test='${result.vipYn eq "Y" }'>vip</c:if>">
|
<div class="id_box <c:if test='${result.vipYn eq "Y" }'>vip</c:if>">
|
||||||
<a href="#" onclick="javascript:fnSelectMber('<c:out value="${result.userId}"/>'); return false;">
|
<a href="#" onclick="javascript:fnSelectMber('<c:out value="${result.userId}"/>'); return false;">
|
||||||
<c:out value="${result.userId}"/>(<c:out value="${result.userNm}"/>)
|
<c:out value="${result.userId}"/>(<c:out value="${result.userNm}"/>)
|
||||||
</a>
|
</a>
|
||||||
</div>
|
</div>
|
||||||
</td>
|
</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:out value="${result.yellowId}"/>
|
<c:out value="${result.yellowId}"/>
|
||||||
</td>
|
</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('${result.msgGroupId}'); return false;" <c:if test="${result.atSmishingYn eq 'Y'}">class="atSmishingYn" style="cursor:pointer;"</c:if><c:if test="${result.atSmishingYn eq 'N'}">style="cursor:pointer;"</c:if>>
|
|
||||||
<c:out value="${result.callFrom}"/>
|
|
||||||
</td> --%>
|
|
||||||
|
|
||||||
<td onclick="fn_detail_list('<c:out value="${result.msgGroupId}"/>', '<c:out value="${result.userId}"/>'); return false;" style="cursor:pointer;line-height:30px;text-align:right;">
|
|
||||||
<c:choose>
|
<c:choose>
|
||||||
<c:when test="${result.successCount > 0}">
|
<c:when test="${result.successCount > 0}">
|
||||||
<c:out value="${result.msgGroupCnt}"/>(<fmt:formatNumber value="${(result.successCount / result.msgGroupCnt) * 100}" pattern="#,###" />%)
|
<c:out value="${result.msgGroupCnt}"/>(<fmt:formatNumber value="${(result.successCount / result.msgGroupCnt) * 100}" pattern="#,###" />%)
|
||||||
@ -519,20 +510,51 @@ function fnAtSmishingUpdate(flag) {
|
|||||||
<span style="color: #0000FF;">
|
<span style="color: #0000FF;">
|
||||||
<c:out value="${result.msgGroupCnt}"/>(<fmt:formatNumber value="${(result.successCount / result.msgGroupCnt) * 100}" pattern="#,###" />%)
|
<c:out value="${result.msgGroupCnt}"/>(<fmt:formatNumber value="${(result.successCount / result.msgGroupCnt) * 100}" pattern="#,###" />%)
|
||||||
<c:if test="${result.msgGroupCnt eq result.callRejectionCount && result.callbackYn eq 'N' && result.userCallbackYn eq 'N' }">
|
<c:if test="${result.msgGroupCnt eq result.callRejectionCount && result.callbackYn eq 'N' && result.userCallbackYn eq 'N' }">
|
||||||
<%-- <input type="button" style="margin-left:3px;margin-right:0;vertical-align:top;" class="btnType1" onclick="fn_sendMsgData('<c:out value="${result.msgGroupId}"/>','<c:out value="${result.callFrom}"/>','<c:out value="${result.userId}"/>');" value="문자" /> --%>
|
|
||||||
</c:if>
|
</c:if>
|
||||||
<c:if test="${result.callbackYn eq 'Y' }">
|
<c:if test="${result.callbackYn eq 'Y' }">
|
||||||
<span style="color: #0000FF;" title="번호도용 문자차단 안내문자 발송완료">안내완료</span>
|
<span style="color: #0000FF;" title="번호도용 문자차단 안내문자 발송완료">안내완료</span>
|
||||||
</c:if>
|
</c:if>
|
||||||
</span>
|
</span>
|
||||||
</c:otherwise>
|
</c:otherwise>
|
||||||
</c:choose>
|
</c:choose>
|
||||||
</td>
|
</td>
|
||||||
<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}"/>">
|
<td <c:if test="${result.atSmishingYn eq 'Y'}">class="smishing"</c:if>>
|
||||||
|
<c:choose>
|
||||||
|
<c:when test="${result.atDelayYn eq 'Y'}">
|
||||||
|
<c:choose>
|
||||||
|
<c:when test="${result.atDelayCompleteYn eq 'Y' && not empty result.cancelDate}">
|
||||||
|
<span style="color: #0000FF;">
|
||||||
|
<c:if test="${result.atSmishingYn eq 'Y'}">온</c:if>
|
||||||
|
<c:if test="${result.atSmishingYn eq 'N'}">오프</c:if>[이용정지]
|
||||||
|
<span style="overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block;margin-top:3px;" title="<c:out value="${result.cancelDate}"/>">
|
||||||
|
<fmt:parseDate value="${result.cancelDate}" var="cancelDateValue" pattern="yyyy-MM-dd HH:mm"/>
|
||||||
|
<fmt:formatDate value="${cancelDateValue}" pattern="MM-dd HH:mm"/>
|
||||||
|
</span>
|
||||||
|
</span>
|
||||||
|
</c:when>
|
||||||
|
<c:when test="${result.atDelayCompleteYn eq 'N'}">
|
||||||
|
<c:if test="${result.atSmishingYn eq 'Y'}">온</c:if>
|
||||||
|
<c:if test="${result.atSmishingYn eq 'N'}">오프</c:if>[미처리]
|
||||||
|
</c:when>
|
||||||
|
<c:otherwise>
|
||||||
|
<span style="color: #0000FF;">
|
||||||
|
<c:if test="${result.atSmishingYn eq 'Y'}">온</c:if>
|
||||||
|
<c:if test="${result.atSmishingYn eq 'N'}">오프</c:if>[승인]
|
||||||
|
</span>
|
||||||
|
</c:otherwise>
|
||||||
|
</c:choose>
|
||||||
|
</c:when>
|
||||||
|
<c:otherwise>
|
||||||
|
-
|
||||||
|
</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>>
|
||||||
<fmt:parseDate value="${result.reqDate}" var="reqDateValue" pattern="yyyy-MM-dd HH:mm"/>
|
<fmt:parseDate value="${result.reqDate}" var="reqDateValue" pattern="yyyy-MM-dd HH:mm"/>
|
||||||
<fmt:formatDate value="${reqDateValue}" pattern="MM-dd HH:mm"/>
|
<fmt:formatDate value="${reqDateValue}" pattern="MM-dd HH:mm"/>
|
||||||
</td>
|
</td>
|
||||||
<td onclick="fn_detail_list('${result.msgGroupId}', '<c:out value="${result.userId}"/>'); return false;" style="cursor:pointer;">
|
<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>>
|
||||||
<c:choose>
|
<c:choose>
|
||||||
<c:when test="${result.reserveYn eq 'Y'}">
|
<c:when test="${result.reserveYn eq 'Y'}">
|
||||||
예약
|
예약
|
||||||
@ -542,20 +564,15 @@ function fnAtSmishingUpdate(flag) {
|
|||||||
</c:otherwise>
|
</c:otherwise>
|
||||||
</c:choose>
|
</c:choose>
|
||||||
</td>
|
</td>
|
||||||
<td class="sms_detail left" onclick="fn_detail_list('<c:out value="${result.msgGroupId}"/>', '<c:out value="${result.userId}"/>'); return false;" style="cursor:pointer;">
|
<td class="sms_detail left <c:if test="${result.atSmishingYn eq 'Y'}">smishing</c:if>" onclick="fn_detail_list('<c:out value="${result.msgGroupId}"/>', '<c:out value="${result.userId}"/>'); return false;" style="cursor:pointer;">
|
||||||
<p><c:out value="${result.smsTxt}"/></p>
|
<p><c:out value="${result.smsTxt}"/></p>
|
||||||
<div class="sms_detail_hover">
|
<div class="sms_detail_hover">
|
||||||
<c:out value="${fn:replace(fn:replace(result.smsTxt, newLineChar, '<br/>'), newLineChar2, '<br/>')}" escapeXml="false"/>
|
<c:out value="${fn:replace(fn:replace(result.smsTxt, newLineChar, '<br/>'), newLineChar2, '<br/>')}" escapeXml="false"/>
|
||||||
</div>
|
</div>
|
||||||
</td>
|
</td>
|
||||||
<td onclick="fn_detail_list('<c:out value="${result.msgGroupId}"/>', '<c:out value="${result.userId}"/>'); return false;" style="cursor:pointer;">
|
<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.msgTypeName}"/>
|
<c:out value="${result.msgTypeName}"/>
|
||||||
</td>
|
</td>
|
||||||
<%-- <td><c:out value="${result.conectMthdTxt}"/></td> --%>
|
|
||||||
<%-- <td <c:if test="${result.atSmishingYn eq 'Y'}">class="atSmishingYn"</c:if>>
|
|
||||||
<c:out value="${result.agentCodeTxt}"/>
|
|
||||||
</td> --%>
|
|
||||||
<%-- <td><c:out value="${result.rsltNet}"/></td> --%>
|
|
||||||
</tr>
|
</tr>
|
||||||
</c:forEach>
|
</c:forEach>
|
||||||
<c:if test="${empty resultList}">
|
<c:if test="${empty resultList}">
|
||||||
|
|||||||
@ -51,6 +51,11 @@
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if(!moneyChk()){
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
if(!valueChk()){
|
if(!valueChk()){
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@ -152,6 +157,19 @@
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function moneyChk(){
|
||||||
|
|
||||||
|
//회원 보유 잔액 비교
|
||||||
|
var totPriceOnly = stringReplaceAll($('#totalPriceTxt').text() , ",", "");
|
||||||
|
var userMoneyOnly = stringReplaceAll($('#hdUserMoney').text(), ",", "");
|
||||||
|
|
||||||
|
if(parseFloat(userMoneyOnly) < parseFloat(totPriceOnly)){
|
||||||
|
alert("팩스 발송에 필요한 회원님의 보유 잔액이 부족 합니다.");
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
function valueChk(){
|
function valueChk(){
|
||||||
if($('#title').val() == ''){
|
if($('#title').val() == ''){
|
||||||
alert('제목을 입력해 주세요.');
|
alert('제목을 입력해 주세요.');
|
||||||
|
|||||||
@ -1055,6 +1055,8 @@ function goToPayUserKaKaoView(){
|
|||||||
<input type="hidden" id="callToList" name="callToList" value=""> <!--완 받는사람 리스트-->
|
<input type="hidden" id="callToList" name="callToList" value=""> <!--완 받는사람 리스트-->
|
||||||
<input type="hidden" id="varNmList" name="varNmList" value=""> <!--완 변수 이름 리스트-->
|
<input type="hidden" id="varNmList" name="varNmList" value=""> <!--완 변수 이름 리스트-->
|
||||||
<input type="hidden" id="varValList" name="varValList" value=""> <!--완 변수 리스트-->
|
<input type="hidden" id="varValList" name="varValList" value=""> <!--완 변수 리스트-->
|
||||||
|
|
||||||
|
<input type="hidden" id="atSmishingYn" name="atSmishingYn" value="${atSmishingYn}"> <!--알림톡 스미싱 여부-->
|
||||||
</form>
|
</form>
|
||||||
|
|
||||||
<form id="excelForm" name="excelForm" action="<c:url value='/web/mjon/alimtalk/kakaoApiNotityTalkSampleExcelDownload.do'/>">
|
<form id="excelForm" name="excelForm" action="<c:url value='/web/mjon/alimtalk/kakaoApiNotityTalkSampleExcelDownload.do'/>">
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user