Merge branch 'master' into 5102_친구톡_발송속도_개선
This commit is contained in:
commit
dfc2ad11d5
@ -130,4 +130,9 @@ public class KakaoSentDAO extends EgovAbstractDAO {
|
||||
return (MjonKakaoATVO) select("KakaoSentDAO.selectKakaoSentDetailViewPhoneAjax", KakaoSentVO);
|
||||
}
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
public List<KakaoSentVO> selectAllKakaoSentListExcel_advc(KakaoSentVO kakaoSentVO) throws Exception{
|
||||
return (List<KakaoSentVO>) list("KakaoSentDAO.selectAllKakaoSentListExcel_advc",kakaoSentVO);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -302,10 +302,14 @@ public class KakaoSentServiceImpl extends EgovAbstractServiceImpl implements Ka
|
||||
result.setKakaoResendSuccCount(eachCnt.getKakaoResendSuccCount());
|
||||
result.setKakaoResendFailCount(eachCnt.getKakaoResendFailCount());
|
||||
|
||||
result.setMsgGroupCnt(
|
||||
Integer.valueOf(result.getSuccessCount() + result.getWaitCount() + result.getFailCount()).toString()
|
||||
);
|
||||
|
||||
//완료상태 시작
|
||||
result = this.codeProc(result);
|
||||
|
||||
|
||||
//완료상태 끝
|
||||
//=======================================================
|
||||
|
||||
@ -470,7 +474,7 @@ public class KakaoSentServiceImpl extends EgovAbstractServiceImpl implements Ka
|
||||
}
|
||||
|
||||
//예약 관리 리스트 불러오기
|
||||
List<KakaoSentVO> resultList = kakaoSentDAO.selectAllKakaoSentList_advc(kakaoSentVO);
|
||||
List<KakaoSentVO> resultList = kakaoSentDAO.selectAllKakaoSentListExcel_advc(kakaoSentVO);
|
||||
|
||||
// long startTime = System.nanoTime(); // 시작 시간 측정
|
||||
// resultAllSentList = makeDetailFunction(resultAllSentList);
|
||||
|
||||
@ -211,7 +211,7 @@ public class MjonMsgCampainDataController {
|
||||
|
||||
// 외부에서 선거발송 페이지로 들어오는걸 막음
|
||||
// 20250102 이호영
|
||||
if (!"localhost".equals(hostName)) {
|
||||
if (!"localhost".equals(hostName) && !"119.193.215.98".equals(hostName)) {
|
||||
return "redirect:/web/mjon/msgdata/selectMsgDataView.do";
|
||||
}
|
||||
|
||||
|
||||
@ -1357,6 +1357,111 @@
|
||||
|
||||
<!-- 전체 발송결과 조회 (그룹별)-->
|
||||
<select id="KakaoSentDAO.selectAllKakaoSentList_advc" parameterClass="kakaoSentVO" resultClass="kakaoSentVO">
|
||||
/* KakaoSentDAO.selectAllKakaoSentList_advc */
|
||||
|
||||
SELECT COUNT(B.USER_ID) OVER () AS totMsgCnt,
|
||||
B.USER_ID AS userId,
|
||||
B.MSG_GROUP_ID AS msgGroupId,
|
||||
B.SMS_TXT AS smsTxt,
|
||||
B.SUBJECT AS subject,
|
||||
B.SUBJECT_CHK_YN AS subjectChkYn,
|
||||
B.REGDATE AS regDate,
|
||||
B.REQ_DATE AS reqDate,
|
||||
CASE
|
||||
WHEN B.DELAY_YN = 'Y' AND B.DELAY_COMPLETE_YN = 'N'
|
||||
THEN DATE_ADD(B.REQ_DATE, INTERVAL -30 MINUTE)
|
||||
ELSE B.REQ_DATE
|
||||
END AS delayOrgTime,
|
||||
B.CALL_FROM AS callFrom,
|
||||
B.TOT_PRICE AS totPrice,
|
||||
B.EACH_PRICE AS eachPrice,
|
||||
B.MSG_TYPE AS msgType,
|
||||
B.FILE_CNT AS fileCnt,
|
||||
B.AGENT_CODE AS agentCode,
|
||||
B.CANCELDATE AS canceldate,
|
||||
B.DEL_FLAG AS delFlag,
|
||||
B.SEND_KIND AS sendKind,
|
||||
B.MSG_KIND AS msgKind,
|
||||
B.DELAY_YN AS delayYn,
|
||||
B.DELAY_COMPLETE_YN AS delayCompleteYn,
|
||||
B.RESERVE_YN AS reserveYn,
|
||||
B.RESERVE_C_YN AS reserveCYn,
|
||||
TIMESTAMPDIFF(
|
||||
MINUTE,
|
||||
CAST(DATE_FORMAT(B.REQ_DATE, '%Y-%m-%d %H:%i') AS CHAR),
|
||||
DATE_FORMAT(NOW(), '%Y-%m-%d %H:%i')
|
||||
) AS diffMin,
|
||||
B.AT_DELAY_YN AS atDelayYn,
|
||||
B.AT_DELAY_COMPLETE_YN AS atDelayCompleteYn,
|
||||
A.MSG_NOTICETALK_SENDER_KEY AS msgNoticetalkSenderKey,
|
||||
A.BIZ_KAKAO_RESEND_YN AS bizKakaoResendYn,
|
||||
CASE
|
||||
WHEN B.AT_DELAY_YN = 'Y' AND B.AT_DELAY_COMPLETE_YN = 'N'
|
||||
THEN DATE_ADD(B.REQ_DATE, INTERVAL -30 MINUTE)
|
||||
ELSE B.REQ_DATE
|
||||
END AS atDelayOrgTime,
|
||||
C.YELLOW_ID AS yellowId
|
||||
FROM MJ_MSG_GROUP_DATA B
|
||||
INNER JOIN (
|
||||
select MSG_GROUP_ID, MSG_TYPE, DEL_FLAG, MSG_NOTICETALK_SENDER_KEY, BIZ_KAKAO_RESEND_YN
|
||||
from MJ_MSG_DATA
|
||||
where DEL_FLAG = 'N'
|
||||
<isNotEmpty property="tabType">
|
||||
<isEqual property="tabType" compareValue="at">
|
||||
AND MSG_TYPE = '8'
|
||||
</isEqual>
|
||||
<isEqual property="tabType" compareValue="ft">
|
||||
AND MSG_TYPE = '9'
|
||||
</isEqual>
|
||||
<isEqual property="tabType" compareValue="all">
|
||||
AND MSG_TYPE IN ('8','9')
|
||||
</isEqual>
|
||||
</isNotEmpty>
|
||||
<isEmpty property="tabType">
|
||||
AND MSG_TYPE IN ('8','9')
|
||||
</isEmpty>
|
||||
group by MSG_GROUP_ID) A
|
||||
ON A.MSG_GROUP_ID = B.MSG_GROUP_ID
|
||||
LEFT JOIN MJ_KAKAO_PROFILE_INFO C
|
||||
ON A.MSG_NOTICETALK_SENDER_KEY = C.SENDER_KEY
|
||||
WHERE (
|
||||
B.DEL_FLAG = 'N' OR B.DEL_FLAG IS NULL
|
||||
)
|
||||
AND B.USER_ID = #userId#
|
||||
<isNotEmpty property="startDate">
|
||||
AND DATE_FORMAT(B.REGDATE, '%Y-%m-%d') <![CDATA[ >= ]]> DATE_FORMAT(#startDate#, '%Y-%m-%d')
|
||||
</isNotEmpty>
|
||||
<isNotEmpty property="endDate">
|
||||
AND DATE_FORMAT(B.REGDATE, '%Y-%m-%d') <![CDATA[ <= ]]> DATE_FORMAT(#endDate#, '%Y-%m-%d')
|
||||
</isNotEmpty>
|
||||
<isNotEmpty property="stateType">
|
||||
<isEqual property="stateType" compareValue="Y">
|
||||
AND B.RESERVE_YN = 'Y'
|
||||
</isEqual>
|
||||
<isEqual property="stateType" compareValue="N">
|
||||
AND B.RESERVE_YN = 'N'
|
||||
</isEqual>
|
||||
</isNotEmpty>
|
||||
<isNotEmpty property="searchKeyword">
|
||||
<isEqual property="searchCondition" compareValue="3">
|
||||
AND B.SMS_TXT like CONCAT('%', #searchKeyword#, '%')
|
||||
</isEqual>
|
||||
</isNotEmpty>
|
||||
GROUP BY B.MSG_GROUP_ID
|
||||
ORDER BY 1=1
|
||||
<isNotEmpty property="searchSortCnd">
|
||||
,$searchSortCnd$
|
||||
</isNotEmpty>
|
||||
<isNotEmpty property="searchSortOrd">
|
||||
$searchSortOrd$
|
||||
</isNotEmpty>
|
||||
LIMIT #recordCountPerPage#
|
||||
OFFSET #firstIndex#
|
||||
|
||||
</select>
|
||||
|
||||
<!-- 전체 발송결과 조회 (그룹별)-->
|
||||
<select id="KakaoSentDAO.selectAllKakaoSentListExcel_advc" parameterClass="kakaoSentVO" resultClass="kakaoSentVO">
|
||||
/* KakaoSentDAO.selectAllKakaoSentList_advc */
|
||||
SELECT t1.totMsgCnt,
|
||||
t1.userId,
|
||||
@ -1612,7 +1717,7 @@
|
||||
WHEN COUNT(DISTINCT t1.REQ_DATE) > 1 THEN 'Y'
|
||||
ELSE 'N'
|
||||
END AS divideYN
|
||||
FROM mj_msg_data t1
|
||||
FROM mj_msg_data t1 FORCE INDEX (idx_msgdata_groupid_delfalg_msgtype_curstate)
|
||||
LEFT OUTER JOIN BIZ_LOG BL1 ON t1.BIZ_UMID = BL1.CMID
|
||||
WHERE
|
||||
t1.DEL_FLAG = 'N'
|
||||
|
||||
@ -970,7 +970,7 @@ function fnByteString(contents){
|
||||
var denyTxtLeng = conByteLeng('무료 거부 080-880-0858');
|
||||
|
||||
var campFrtTxtLeng = conByteLeng('(선거운동정보)');
|
||||
var campLstTxtLeng = conByteLeng('후보자전화번호 불법수집정보 신고번호 118번 무료 거부 080-880-0858');
|
||||
var campLstTxtLeng = conByteLeng('후보자전화번호 불법수집정보 신고번호 : 선거관리위원회 ☎1390 무료 거부 080-880-0858');
|
||||
|
||||
//일반문자, 광고문자에 따른 문자 길이 변경해주기
|
||||
if(msgKind == "N"){
|
||||
@ -4595,7 +4595,8 @@ function fnInputSmsTxt(){
|
||||
<td>
|
||||
<c:choose>
|
||||
<c:when test="${not empty mjonMsgDelaySentList.regDate}">
|
||||
<fmt:formatDate value="${mjonMsgDelaySentList.regDate}" pattern="yyyy-MM-dd HH:mm"/>
|
||||
<%-- <fmt:formatDate value="${mjonMsgDelaySentList.regDate}" pattern="yyyy-MM-dd HH:mm"/> --%>
|
||||
<c:out value="${mjonMsgDelaySentList.regDate}" />
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
-
|
||||
@ -4613,7 +4614,8 @@ function fnInputSmsTxt(){
|
||||
<c:otherwise>
|
||||
<c:choose>
|
||||
<c:when test="${mjonMsgDelaySentList.delayYn eq 'Y'}">
|
||||
[스미싱의심] <fmt:formatDate value="${mjonMsgDelaySentList.reqDate}" pattern="yyyy-MM-dd HH:mm"/>
|
||||
[스미싱의심] <c:out value="${mjonMsgDelaySentList.regDate}" />
|
||||
<%-- [스미싱의심] <fmt:formatDate value="${mjonMsgDelaySentList.reqDate}" pattern="yyyy-MM-dd HH:mm"/> --%>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
-
|
||||
|
||||
@ -903,6 +903,8 @@ function previewPhone(){
|
||||
<input type="hidden" name="searchCondition" value="<c:out value='${searchVO.searchCondition }' />" />
|
||||
<input type="hidden" name="searchKeyword" value="<c:out value='${searchVO.searchKeyword }' />" />
|
||||
<input type="hidden" name="pageUnit" value="<c:out value='${searchVO.pageUnit }' />" />
|
||||
<input type="hidden" name="tabType" value="<c:out value='${searchVO.tabType }' />" />
|
||||
<input type="hidden" name="stateType" value="<c:out value='${searchVO.stateType }' />" />
|
||||
</form>
|
||||
|
||||
<!-- 예약 취소 -->
|
||||
|
||||
@ -16,8 +16,83 @@ var thisfuledtlday = ""; //당원 마지막일
|
||||
var threefulstday = ""; //3개월전 시작일
|
||||
var threefuledday = ""; //3개월전 마지막일
|
||||
|
||||
function firstLodingSet(){
|
||||
var html = "";
|
||||
html += '<div class="list_info">';
|
||||
html += ' <p>총 발송건수 <span class="c_e40000">0</span>건</p>';
|
||||
html += ' <div>';
|
||||
html += ' <p class="cf_text c_e40000">※ 예약 발송취소는 예약 발송시간 기준 5분 전까지만 가능</p>';
|
||||
html += ' <label for="pageUnit" class="label">줄보기 선택</label>';
|
||||
html += ' <select id="pageUnit" name="pageUnit" class="selType2">';
|
||||
html += ' <option value="10" selected>10개보기</option>';
|
||||
html += ' </select>';
|
||||
html += ' </div>';
|
||||
html += '</div>';
|
||||
html += '<div class="tb_wrap">';
|
||||
html += ' <table class="tType4">';
|
||||
html += ' <colgroup>';
|
||||
html += ' <col style="width: 45px;">';
|
||||
html += ' <col style="width: 12%;">';
|
||||
html += ' <col style="width: 7%;">';
|
||||
html += ' <col style="width: auto;">';
|
||||
html += ' <col style="width: 7%;">';
|
||||
html += ' <col style="width: 6%;">';
|
||||
html += ' <col style="width: 6%;">';
|
||||
html += ' <col style="width: 6%;">';
|
||||
html += ' <col style="width: 6%;">';
|
||||
html += ' <col style="width: 6%;">';
|
||||
html += ' <col style="width: 8%;">';
|
||||
html += ' <col style="width: 8%;">';
|
||||
html += ' </colgroup>';
|
||||
html += ' <thead>';
|
||||
html += ' <tr>';
|
||||
html += ' <th rowspan="2">';
|
||||
html += ' <label for="" class="label">전체 선택</label>';
|
||||
html += ' <input type="checkbox" id="allCheck" name="allCheck">';
|
||||
html += ' </th>';
|
||||
html += ' <th rowspan="2">발송일시';
|
||||
html += ' <div class="sort_wrap">';
|
||||
html += ' <input type="button" class="sort sortBtn" id="sort_reqdate">';
|
||||
html += ' </div>';
|
||||
html += ' </th>';
|
||||
html += ' <th rowspan="2">형태';
|
||||
html += ' <div class="sort_wrap">';
|
||||
html += ' <input type="button" class="sort sortBtn" id="sort_orderByCode">';
|
||||
html += ' </div>';
|
||||
html += ' </th>';
|
||||
html += ' <th rowspan="2">내용</th>';
|
||||
html += ' <th rowspan="2">발송건수';
|
||||
html += ' <div class="sort_wrap">';
|
||||
html += ' <input type="button" class="sort sortBtn" id="sort_msgGroupCnt">';
|
||||
html += ' </div>';
|
||||
html += ' </th>';
|
||||
html += ' <th rowspan="2">대기</th>';
|
||||
html += ' <th colspan="2">카카오톡결과</th>';
|
||||
html += ' <th colspan="2">대체문자결과</th>';
|
||||
html += ' <th rowspan="2">금액(원)</th>';
|
||||
html += ' <th rowspan="2">진행상황</th>';
|
||||
html += ' </tr>';
|
||||
html += ' <tr>';
|
||||
html += ' <th>성공</th>';
|
||||
html += ' <th>실패</th>';
|
||||
html += ' <th>성공</th>';
|
||||
html += ' <th>실패</th>';
|
||||
html += ' </tr>';
|
||||
html += ' </thead>';
|
||||
html += ' <tbody>';
|
||||
html += ' <tr><td colspan="12">LOADING...</td></tr>';
|
||||
html += ' </tbody>';
|
||||
html += ' </table>';
|
||||
html += '</div>';
|
||||
|
||||
$(".msgSentAllLoad").html(html);
|
||||
}
|
||||
|
||||
|
||||
$(document).ready(function(){
|
||||
|
||||
firstLodingSet();
|
||||
|
||||
//초기 전체 리스트 페이지 보여주기
|
||||
var form = document.searchForm;
|
||||
form.listType.value = "groupList";
|
||||
@ -417,8 +492,10 @@ function fn_sentDetailView(msgGroupId) {
|
||||
<input type="hidden" id="msgGroupIdList" name="msgGroupIdList" value=""/>
|
||||
<input type="hidden" name="searchSortCnd" value="<c:out value="${searchVO.searchSortCnd}" />" />
|
||||
<input type="hidden" name="searchSortOrd" value="<c:out value="${searchVO.searchSortOrd}" />" />
|
||||
<input type="hidden" id="tabType" name="tabType" value="all"/><!-- 탭 종류 -->
|
||||
<input type="hidden" id="stateType" name="stateType" value="all"/><!-- 발송상태 종류 -->
|
||||
<!-- <input type="hidden" id="tabType" name="tabType" value="all"/>탭 종류 -->
|
||||
<input type="hidden" id="tabType" name="tabType" value="${searchVO.tabType}"/><!-- 탭 종류 -->
|
||||
<!-- <input type="hidden" id="stateType" name="stateType" value="all"/>발송상태 종류 -->
|
||||
<input type="hidden" id="stateType" name="stateType" value="${searchVO.stateType}"/><!-- 발송상태 종류 -->
|
||||
<input type="hidden" id="listType" name="listType" value="groupList"/><!-- 리스트 종류 -->
|
||||
<input type="hidden" id="addrGrpNm" name="addrGrpNm" value=""/><!-- 주소록 그룹 이름 -->
|
||||
<input type="hidden" id="mberId" name="mberId" value="${LoginVO.id}"/><!-- 주소록 그룹 이름 -->
|
||||
@ -584,7 +661,7 @@ function fn_sentDetailView(msgGroupId) {
|
||||
<!-- <div class="on_active">받는사람(전송건별)</div> -->
|
||||
<!-- </div> -->
|
||||
<ul>
|
||||
<li class="tab active">
|
||||
<li class="tab <c:if test="${searchVO.stateType eq 'all' || searchVO.stateType eq '' || empty searchVO.stateType}">active</c:if>">
|
||||
<button type="button" onclick="fnListLoad('all','0'); return false;">전체</button>
|
||||
</li>
|
||||
<!-- <li class="tab">
|
||||
@ -596,10 +673,10 @@ function fn_sentDetailView(msgGroupId) {
|
||||
<li class="tab">
|
||||
<button type="button" onclick="fnListLoad('fail','3'); return false;">수신오류</button>
|
||||
</li> -->
|
||||
<li class="tab">
|
||||
<li class="tab <c:if test="${searchVO.stateType eq 'N'}">active</c:if>">
|
||||
<button type="button" onclick="fnListLoad('N','1'); return false;">즉시</button>
|
||||
</li>
|
||||
<li class="tab">
|
||||
<li class="tab" <c:if test="${searchVO.stateType eq 'Y'}">active</c:if>>
|
||||
<button type="button" onclick="fnListLoad('Y','2'); return false;">예약</button>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
@ -2475,10 +2475,10 @@ function advMsgInsert(){
|
||||
var callFrom = $("#callFromList option:selected").val();
|
||||
|
||||
var advStr = '<div class="ad_txt"><p>(선거운동정보)</p></div>';
|
||||
var advDenyStr = '<div class="deny_txt">후보자전화번호 ' + callFrom + '<br/>불법수집정보 신고번호 118번<br/>무료거부 0808800858</div>';
|
||||
var advDenyStr = '<div class="deny_txt">후보자전화번호 ' + callFrom + '<br/>불법수집정보 신고번호 : 선거관리위원회 ☎1390<br/>무료거부 0808800858</div>';
|
||||
|
||||
var preAdvStr = '<p class="ad_tit">(선거운동정보)</p>';
|
||||
var preAdvDenyStr = '<p class="deny_receipt">후보자전화번호 ' + callFrom + '<br>불법수집정보 신고번호 118번<br>무료거부 0808800858</p>';
|
||||
var preAdvDenyStr = '<p class="deny_receipt">후보자전화번호 ' + callFrom + '<br>불법수집정보 신고번호 : 선거관리위원회 ☎1390<br>무료거부 0808800858</p>';
|
||||
|
||||
//광고 및 무료수신거부 텍스트 추가
|
||||
if ($("#send_adYnY").val() == 'Y'){
|
||||
|
||||
@ -2755,10 +2755,10 @@ function advMsgInsert(){
|
||||
var callFrom = $("#callFromList option:selected").val();
|
||||
|
||||
var advStr = '<div class="ad_txt"><p>(선거운동정보)</p></div>';
|
||||
var advDenyStr = '<div class="deny_txt">후보자전화번호 ' + callFrom + '<br/>불법수집정보 신고번호 118번<br/>무료거부 0808800858</div>';
|
||||
var advDenyStr = '<div class="deny_txt">후보자전화번호 ' + callFrom + '<br/>불법수집정보 신고번호 : 선거관리위원회 ☎1390<br/>무료거부 0808800858</div>';
|
||||
|
||||
var preAdvStr = '<p class="ad_tit">(선거운동정보)</p>';
|
||||
var preAdvDenyStr = '<p class="deny_receipt">후보자전화번호 ' + callFrom + '<br>불법수집정보 신고번호 118번<br>무료거부 0808800858</p>';
|
||||
var preAdvDenyStr = '<p class="deny_receipt">후보자전화번호 ' + callFrom + '<br>불법수집정보 신고번호 : 선거관리위원회 ☎1390<br>무료거부 0808800858</p>';
|
||||
|
||||
//선거 및 무료수신거부 텍스트 추가
|
||||
if ($('input[name=send_adYn]:checked').val() == 'Y'){
|
||||
|
||||
@ -3102,10 +3102,10 @@ function advMsgInsert(){
|
||||
var callFrom = $("#callFromList option:selected").val();
|
||||
|
||||
var advStr = '<div class="ad_txt"><p>(선거운동정보)</p></div>';
|
||||
var advDenyStr = '<div class="deny_txt">후보자전화번호 ' + callFrom + '<br/>불법수집정보 신고번호 118번<br/>무료거부 0808800858</div>';
|
||||
var advDenyStr = '<div class="deny_txt">후보자전화번호 ' + callFrom + '<br/>불법수집정보 신고번호 : 선거관리위원회 ☎1390<br/>무료거부 0808800858</div>';
|
||||
|
||||
var preAdvStr = '<p class="ad_tit">(선거운동정보)</p>';
|
||||
var preAdvDenyStr = '<p class="deny_receipt">후보자전화번호 ' + callFrom + '<br>불법수집정보 신고번호 118번<br>무료거부 0808800858</p>';
|
||||
var preAdvDenyStr = '<p class="deny_receipt">후보자전화번호 ' + callFrom + '<br>불법수집정보 신고번호 : 선거관리위원회 ☎1390<br>무료거부 0808800858</p>';
|
||||
|
||||
//광고 및 무료수신거부 텍스트 추가
|
||||
if ($('input[name=send_adYn]:checked').val() == 'Y'){
|
||||
|
||||
@ -3365,10 +3365,10 @@ function advMsgInsert(){
|
||||
var callFrom = $("#callFromList option:selected").val();
|
||||
|
||||
var advStr = '<div class="ad_txt"><p>(선거운동정보)</p></div>';
|
||||
var advDenyStr = '<div class="deny_txt">후보자전화번호 ' + callFrom + '<br/>불법수집정보 신고번호 118번<br/>무료거부 0808800858</div>';
|
||||
var advDenyStr = '<div class="deny_txt">후보자전화번호 ' + callFrom + '<br/>불법수집정보 신고번호 : 선거관리위원회 ☎1390<br/>무료거부 0808800858</div>';
|
||||
|
||||
var preAdvStr = '<p class="ad_tit">(선거운동정보)</p>';
|
||||
var preAdvDenyStr = '<p class="deny_receipt">후보자전화번호 ' + callFrom + '<br>불법수집정보 신고번호 118번<br>무료거부 0808800858</p>';
|
||||
var preAdvDenyStr = '<p class="deny_receipt">후보자전화번호 ' + callFrom + '<br>불법수집정보 신고번호 : 선거관리위원회 ☎1390<br>무료거부 0808800858</p>';
|
||||
|
||||
//광고 및 무료수신거부 텍스트 추가
|
||||
if (!advMsgSts){//선거문자 필수문구 추가해주기
|
||||
|
||||
@ -198,7 +198,8 @@ function fnRevDetailPop(msgGroupId, msgId, fileCnt){
|
||||
</c:if>
|
||||
<tr>
|
||||
<td>
|
||||
<fmt:formatDate pattern = "yyyy-MM-dd HH:mm" value = "${result.reqdate}" />
|
||||
<%-- <fmt:formatDate pattern = "yyyy-MM-dd HH:mm" value = "${result.reqDate}" /> --%>
|
||||
<c:out value="${result.reqDate}" />
|
||||
</td>
|
||||
<td>
|
||||
<c:choose>
|
||||
|
||||
@ -296,7 +296,7 @@
|
||||
.histroy_trans ul {background-color: #f5f5f5; padding: 0 20px; border: 1px solid #dadada; border-radius: 0 0 5px 5px; margin-top: -3px;}
|
||||
.histroy_trans ul li {position: relative; height: 30px; line-height: 30px; border-bottom: 1px solid #e8e8e8;}
|
||||
.histroy_trans ul li:only-child {border-bottom: 0;}
|
||||
.histroy_trans ul li p {display: inline-block; width: 100%; color: #666; font-size: 14px; font-weight: 300; letter-spacing: 0.5px; text-align:center;}
|
||||
.histroy_trans ul li p {display: inline-block; color: #666; font-size: 14px; font-weight: 300; letter-spacing: 0.5px; text-align:center;}
|
||||
.histroy_trans ul li button {position: absolute; right: 0; top: 50%; transform: translateY(-50%);}
|
||||
.popup_btn_wrap2.hisroy_btn {width: 178px;}
|
||||
.popup_btn_wrap2.hisroy_btn button {width: calc(100%/2 - 2.5px); height: 32px; font-size: 14px;}
|
||||
|
||||
31
src/main/webapp/publish/maintenance.html
Normal file
31
src/main/webapp/publish/maintenance.html
Normal file
@ -0,0 +1,31 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="ko">
|
||||
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<title>문자온 시스템 점검 안내</title>
|
||||
|
||||
<style>
|
||||
body {background-color: #EEE;display:flex; justify-content: center; font-family: 'Noto Sans KR', sans-serif; }
|
||||
.textbox {margin:100px 0 0 0; width:480px; border:15px solid #d8d8d8; padding:25px 40px 50px 40px; background-color: #fff;}
|
||||
.textbox h1 {color:#222; font-size:24px; text-align: center; border-bottom:1px solid #a8a8a8; padding:0 0 20px 0; font-weight: 600;}
|
||||
.textbox h3 {color:#333; font-size:16px; font-weight: 400; text-align: center; padding: 12px 0 14px 0; background-color: #f8f8f8; margin:20px 0 20px 0; border:1px solid #ededed; }
|
||||
.textbox h3 strong {font-size:17px; font-weight:500px;}
|
||||
.textbox p {text-align: center; margin: 8px 0 0 0; font-size:16px; font-weight: 400; color:#555; line-height: 26px; }
|
||||
.textbox p span {color:#333;font-weight: 500; }
|
||||
</style>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class="textbox">
|
||||
<h1>문자온 시스템 점검중입니다.</h1>
|
||||
<h3>· 점검일시 : <strong>2025년 4월 28일(월) 08:30 ~ 08:35</strong> (약 5분간)</h3>
|
||||
<p>현재 홈페이지 인증서 교체 작업을 위한 시스템 점검중에 있습니다.</p>
|
||||
<p><span>(기)예약 설정 건은 정상 발송되며, <br>작업 이전 '발송대기'건은 작업 완료 후 발송 시도됩니다.</span></p>
|
||||
<p>항상 더 나은 서비스 제공을 위해 노력하겠습니다.<br>
|
||||
감사합니다.</p>
|
||||
</div>
|
||||
|
||||
</body>
|
||||
|
||||
</html>
|
||||
Loading…
Reference in New Issue
Block a user