Merge branch 'master' into wyh

This commit is contained in:
name 2023-08-09 12:07:10 +09:00
commit 7311403bb7
23 changed files with 164 additions and 55 deletions

View File

@ -1,9 +1,12 @@
package itn.com.cmm.util;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.Month;
import java.time.format.DateTimeFormatter;
import java.util.Date;
/**
*
@ -85,4 +88,25 @@ public final class DateUtil {
}
/**
* @methodName : getNowDayToString
* @author : 이호영
* @date : 2023.08.08
* @description : yyyy-MM-dd HH:mm:ss.S 형식을 yyyy-MM-dd HH:mm 변환
* @return
* @throws ParseException
*/
public static String getChangFormatS(String str) throws ParseException {
SimpleDateFormat inputFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.S"); // 원본 형식
Date date = inputFormat.parse(str); // 문자열을 날짜 객체로 변환
SimpleDateFormat outputFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm"); // 원하는 출력 형식
String formattedDate = outputFormat.format(date); // 날짜 객체를 원하는 형식의 문자열로 변환
return formattedDate; // 출력: 2023-08-07 09:36
}
}

View File

@ -708,7 +708,6 @@ public class ApiKeyMngController {
@RequestParam("accessNo") String p_accessNo
, Model model) throws Exception {
System.out.println("111111111111");
ModelAndView modelAndView = new ModelAndView();
modelAndView.setViewName("jsonView");
@ -716,7 +715,6 @@ public class ApiKeyMngController {
try {
LoginVO loginVO = (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser();
String userId = loginVO == null ? "" : EgovStringUtil.isNullToString(loginVO.getId());
System.out.println("1111111111112");
ApiKeyVO apiKeyVO = new ApiKeyVO();
apiKeyVO.setAccessNo(p_accessNo);

View File

@ -1,5 +1,6 @@
package itn.let.uat.uia.web;
import java.text.ParseException;
import java.util.ArrayList;
import java.util.List;
@ -14,6 +15,7 @@ import org.springframework.web.servlet.ModelAndView;
import egovframework.rte.fdl.security.userdetails.util.EgovUserDetailsHelper;
import itn.com.cmm.LoginVO;
import itn.com.cmm.util.DateUtil;
import itn.com.utl.fcc.service.EgovStringUtil;
import itn.let.mjo.apikey.service.ApiCallInfoMngService;
import itn.let.mjo.apikey.service.ApiKeyMngService;
@ -197,12 +199,26 @@ public class EgovMypageRESTAPIController{
resultList = apiKeyMngService.selectApiKeyApplyStatus(apiKeyVO);
System.out.println("=============");
if (resultList.size()>0) {
resultList.get(0).setFrstRegistPnttm(DateUtil.getChangFormatS(resultList.get(0).getFrstRegistPnttm()));
resultList.get(0).setLastUpdtPnttm(DateUtil.getChangFormatS(resultList.get(0).getLastUpdtPnttm()));
model.addAttribute("apiVO", resultList.get(0));
apiKeyVO.setAccessNo(resultList.get(0).getAccessNo());
//api call info 정보
List<ApiKeyVO> resultList_call = new ArrayList<ApiKeyVO>();
resultList_call = apiCallInfoMngService.selectMberApiCallInfoList(apiKeyVO);
System.out.println("!!!!!!!!!!!!!!!!!");
resultList_call.forEach(t-> {
try {
t.setFrstRegistPnttm(DateUtil.getChangFormatS(t.getFrstRegistPnttm()));
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
});
model.addAttribute("apiCallInfoVOList", resultList_call);
model.addAttribute("apiCallInfoVOListSize", resultList_call.size());

View File

@ -5960,23 +5960,30 @@
<update id="mjonMsgDAO.updateMsgDelayCancelMsgDataFlag" parameterClass="mjonMsgVO">
UPDATE MJ_MSG_DATA
SET REFUND_YN = 'Y',
REQ_DATE = NOW(),
RESULT_LOG_UPDT_PNTTM = NOW(),
CUR_STATE = '3'
WHERE USER_ID = #userId#
UPDATE
MJ_MSG_DATA
SET
REFUND_YN = 'Y'
, RSLT_CODE2 = 'F'
, REQ_DATE = NOW()
, RESULT_LOG_UPDT_PNTTM = NOW()
, CUR_STATE = '3'
WHERE 1=1
AND USER_ID = #userId#
AND MSG_GROUP_ID = #msgGroupId#
</update>
<update id="mjonMsgDAO.updateMsgDelayCancelMsgGroupDataFlag" parameterClass="mjonMsgVO">
UPDATE MJ_MSG_GROUP_DATA
SET CANCELDATE = NOW(),
REQ_DATE = NOW(),
DELAY_COMPLETE_YN = 'Y'
WHERE USER_ID = #userId#
UPDATE
MJ_MSG_GROUP_DATA
SET
CANCELDATE = NOW()
, REQ_DATE = NOW()
, DELAY_COMPLETE_YN = 'Y'
WHERE 1=1
AND USER_ID = #userId#
AND MSG_GROUP_ID = #msgGroupId#
</update>

View File

@ -288,10 +288,7 @@
, A.CUR_STATE
, A.RSLT_CODE
, A.RSLT_CODE2
, CASE
WHEN B.SEND_KIND = 'H' THEN 'WEB'
ELSE 'API'
END as sendKind
, B.SEND_KIND as sendKind
, CASE
WHEN B.MSG_TYPE = '6'
AND B.FILE_CNT > 0
@ -496,7 +493,7 @@
, MD.CUR_STATE
, MD.RSLT_CODE
, MD.RSLT_CODE2
, CASE WHEN MGD.SEND_KIND = 'H' THEN 'WEB' ELSE 'API' END as sendKind
, MGD.SEND_KIND AS sendKind
,(<include refid="MjonMsgSentDAO.selectAgentResultQuery_MD"/>) AS RESULT
FROM
mj_msg_data MD
@ -589,6 +586,9 @@
AND CALL_FROM LIKE CONCAT('%', #searchKeyword#, '%')
</isEqual>
</isNotEmpty>
<isNotEmpty property="searchCondition_01">
AND sendKind = #searchCondition_01#
</isNotEmpty>
<isNotEmpty property="startDate">
<![CDATA[
AND DATE_FORMAT(REGDATE, '%Y-%m-%d') >= DATE_FORMAT(#startDate#, '%Y-%m-%d')
@ -613,7 +613,6 @@
$searchSortOrd$
</isNotEmpty>
LIMIT #recordCountPerPage# OFFSET #firstIndex#
</select>

View File

@ -295,6 +295,9 @@ function fn_reg_user_4_apikey(){
<c:when test="${result.useYn eq 'N' and result.accessKey ne '' }">
미사용
</c:when>
<c:when test="${result.useYn eq 'W' }">
KEY사용중지
</c:when>
<c:otherwise>
</c:otherwise>
</c:choose>

View File

@ -25,7 +25,7 @@
</tr>
<tr>
<th>프로토콜</th>
<td>HHTP/1.1</td>
<td>HTTP/1.1</td>
</tr>
<tr>
<th>HOST</th>
@ -157,7 +157,7 @@
</tr>
<tr>
<td><span class="font_b">[data].msgType</span></td>
<td>메시지 타입(4 : 단문, 5 : 장문)</td>
<td>메시지 타입(4 : 단문, 6 : 장문)</td>
<td>String</td>
</tr>
<tr>

View File

@ -95,19 +95,19 @@
<td><span class="font_b">...</span></td>
<td>...</td>
<td>...</td>
<td><span class="select_o">...</span></td>
<td><span class="select_o">X</span></td>
</tr>
<tr>
<td><span class="font_b">callTo_100</span></td>
<td>수신자 번호 100</td>
<td>String</td>
<td><span class="select_o">O</span></td>
<td><span class="select_o">X</span></td>
</tr>
<tr>
<td><span class="font_b">smsTxt_100</span></td>
<td>메시지 내용 100</td>
<td>String(1~2,000Byte)</td>
<td><span class="select_o">O</span></td>
<td><span class="select_o">X</span></td>
</tr>
</tbody>
</table>
@ -168,7 +168,7 @@
</tr>
<tr>
<td><span class="font_b">[data].msgType</span></td>
<td>메시지 타입(4 : 단문, 5 : 장문)</td>
<td>메시지 타입(4 : 단문, 6 : 장문)</td>
<td>String</td>
</tr>
<tr>

View File

@ -180,7 +180,7 @@
</tr>
<tr>
<td><span class="font_b">[data].msgType</span></td>
<td>메시지 타입(4 : 단문, 5 : 장문)</td>
<td>메시지 타입(4 : 단문, 6 : 장문)</td>
<td>String</td>
</tr>
<tr>

View File

@ -172,7 +172,7 @@
</tr>
<tr>
<td><span class="font_b">[data].msgType</span></td>
<td>메시지 타입(4 : 단문, 5 : 장문)</td>
<td>메시지 타입(4 : 단문, 6 : 장문)</td>
<td>String</td>
</tr>
<tr>

View File

@ -153,11 +153,24 @@ function fn_insert_callInfo(p_accessNo){
//frm = document.writeForm;
//var p_accessNo = frm.accessNo.value;
var callInfo = $("#callInfo").val();
if ($("#callInfo").val()==''){
alert("호출지 정보는 필수입니다.");
return false;
}
var ipPattern = /^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/;
if (!ipPattern.test(callInfo)) {
alert("IP 형식이 아닙니다. 다시 확인하시고 입력해 주세요");
return false;
}
$.ajax({
type: "POST",
//url: "/uss/umt/user/selectMberSttusAjax.do",
@ -378,7 +391,7 @@ function fn_reg_user_4_apikey(){
</td>
<td>
<button type="button" class="btnType btnType23" onclick="fn_delete('${apiVO.accessNo}','W'); return false;">정지</button>
<button type="button" class="btnType btnType14" onclick="fn_update_apikey('14'); return false;">재발급</button>
<button type="button" class="btnType btnType14" onclick="fn_update_apikey('${apiVO.accessNo}'); return false;">재발급</button>
</td>
</c:when>
<c:when test="${apiVO.useYn eq 'W' }">
@ -462,7 +475,7 @@ function fn_reg_user_4_apikey(){
</c:choose>
<!-- <p class="admin_info">* 대역 등록을 원하실 경우 상위 IP만 작성하시면 됩니다. ex&#65289; 192.168.255.0 ~ 192.168.255.255 대역을 등록할 경우 192.168. 255. 입력</p> -->
<!-- <p class="admin_info">* 대역 등록을 원하실 경우 상위 IP만 작성하시면 됩니다. ex&#65289; 192.168.255.0 입력</p> -->
<p class="admin_info">* IP는 최대 10개까지 등록 가능합니다. 단, IP 대역은 1개의 IP로 계산합니다.</p>
<p class="admin_info">* IP는 최대 10개까지 등록 가능합니다.</p>
<!--//사용 승인 될 경우에만 노출-->
</div>
<!--// API 사용 IP 관리 : IP등록 전-->

View File

@ -19,7 +19,7 @@ $(document).ready(function(){
<div class="send_top">
<!-- tab button -->
<c:import url="./top_tepMenu.jsp" />
<!--// tab button -->
<!--// tab button
<div class="api_guide_cont current">
<div class="heading">
@ -68,7 +68,7 @@ $(document).ready(function(){
<td>문자보내기(여러명에게 동일한문자)</td>
</tr>
<tr>
<th>sp_example_send_msgs_r1.jsp</th>
<th>jsp_example_send_msgs_r1.jsp</th>
<td>문자보내기(여러명에게 다른문자)</td>
</tr>
<tr>

View File

@ -66,7 +66,8 @@ $(document).ready(function(){
<div class="step_con">
<div class="icon"><img src="<c:url value='/publish/images/api_intro_cont/api_guide_03.jpg' />" alt="아이피(IP) 등록 아이콘"></div>
<dl>
<dt>아이피<span>(IP)</span> 등록</dt>
<!-- <dt>아이피<span>(IP)</span> 등록</dt> -->
<dt>아이피(IP) 등록</dt>
<dd>문자 API를 통해 문자 발송 서버 IP 등록</dd>
</dl>
</div>

View File

@ -1176,13 +1176,13 @@ function fn_click_banner_add_stat(bannerMenuCode){
<div class="slideImg"><img src="/publish/images/main/f_visual_06_20230802.jpg" alt="문자온, 카카오 '알림톡' 서비스 오픈! 문자온 알림톡, 대한민국 최저가 선언! 조건없이 무조건 6.9원! 카카오톡 채널아이디 추가를 하지 않은 이용자에게도 카카오톡 메시지 발송이 가능한 서비스! 알림톡 바로가기 알림톡 도착 kakao 문자온에서 알림톡이 도착하였습니다! 기업전용/1,000자 이하 텍스트 & 이미지/문자 대비 65% 저렴" usemap="#allimtalk-map"></div>
</div>
<div class="swiper-slide">
<div class="slideImg"><img src="/publish/images/main/f_visual_01_20230731.jpg" alt="문자는 이제, 문자온! 단 한번, 국내 최저가! 인생 최저가! 첫결제 단문 7.5원 장문 32원 그림 59원 가을이 오는 소리를 들어보세요, 입추 - 더운 여름 입추라니 믿기지가 않지만, 오늘부터 더위가 꺽이길 바라는 마음이 간절해지는 날입니다." usemap="#image-map" /></div>
<div class="slideImg"><img src="/publish/images/main/f_visual_01_20230808.jpg" alt="문자는 이제, 문자온! 단 한번, 국내 최저가! 인생 최저가! 첫결제 단문 7.5원 장문 32원 그림 59원 대한독립만세 광복절 8.15 삼복더위 삼계탕 대신 치킨" usemap="#image-map" /></div>
</div>
<div class="swiper-slide">
<div class="slideImg"><img src="/publish/images/main/f_visual_02_20221116.jpg" alt="문자도 보내고! 현금도 챙기는! 문자온만의 특별한 혜택! 결제금액의 2% 포인트 추가 적립! 포인트 1만점 이상 적립 시 현금페이백" /></div>
</div>
<div class="swiper-slide">
<div class="slideImg"><img src="/publish/images/main/f_visual_03_20230731.jpg" alt="다른 사이트에는 없다! 오직 문자온에만 있다! 최고의 디자이너가 직접 제작하는 그림문자 맞춤제작을 통해 나만의 문자를 디자인 해보세요. 입추맞이 궁궐산책 입추맞이 궁궐 야간 관람 08.05~가을이 끝나기전. 입추맞이 우리가족 여름가을여행 COUPON 15%할인 10가족 추첨, COUPON 30%할인 10가족 추첨, 이벤트기간 : 9.1~9.30. AUTUMN EVENT 가을 정기 세일 50%OFF 이벤트 기간:9.1~9.30" /></div>
<div class="slideImg"><img src="/publish/images/main/f_visual_03_20230808.jpg" alt="다른 사이트에는 없다! 오직 문자온에만 있다! 최고의 디자이너가 직접 제작하는 그림문자 맞춤제작을 통해 나만의 문자를 디자인 해보세요.summer 여름 휴가 배송 안내 본사 여름 휴가로 인하여 배송 및 고객센터 업무가 진행되지 않는 점 양해 부탁 드립니다. 휴가가 끝나면 정상 영업합니다. 2022.08.03 ~ 08.07 SUN MON TUE WEN THU FRI SAT 24 25 26 27 28 29 30-주문마감(울릉도, 제주도, 도서산간지역) 31 1 2-오후 5시 주문마감 3 4 5 6 7 ON몰 여름휴가 8-배송시작 9 10 11 12 13 MUNJA_ON_SHOP 815 광복절 이벤트 #태극기달고 #태그 #할인쿠폰 #증정! 8·15 휴무안내 휴무안내 월 15 화 16 수 17 목 18 금 19 토 20 휴무일에는 상담&배송업무가 중단됩니다." /></div>
</div>
<div class="swiper-slide">
<div class="slideImg"><img src="/publish/images/main/f_visual_04_20221116.jpg" alt="문자는 이제, 문자온! 선택은 역시 문자온! 문자사이트 선택의 5가지 기준 1. 가격, 속도, 성능, 기능, 보안이 보장되는가? 2. 결제, 정산, 계산서 발행 등 업무가 자동화 되어 있고 편리한가? 3. 최신 IT 기술과 트렌드가 반영되어 있는가? 4. 회원가입 및 발신번호 인증이 쉽고 빠르며, 대량문자를 전송하기에 사용이 편리한가? 5. 매일 문자샘플이 업데이트 되고, CS 및 기술응대가 실시간적으로 이루어지는가?" /></div>

View File

@ -178,7 +178,19 @@ $(document).ready(function(){
</p>
</td>
<td name="listTd">
<p>${resultAllSentList.sendKind }</p>
<p>
<c:choose>
<c:when test="${resultAllSentList.sendKind eq 'H' }">
WEB
</c:when>
<c:when test="${resultAllSentList.sendKind eq 'A'}">
API
</c:when>
<c:otherwise>
-
</c:otherwise>
</c:choose>
</p>
</td>
<td name="listTd">
<button class="btnType btnType20" data-tooltip="rev_popup01" onClick="javascript:fnRevDetailPop('${resultAllSentList.msgGroupId}','${resultAllSentList.msgId}','${resultAllSentList.fileCnt}'); return false;">상세보기</button>

View File

@ -170,7 +170,19 @@ $(document).ready(function(){
</p>
</td>
<td>
${resultAllSentList.sendKind }
<p>
<c:choose>
<c:when test="${resultAllSentList.sendKind eq 'H' }">
WEB
</c:when>
<c:when test="${resultAllSentList.sendKind eq 'A'}">
API
</c:when>
<c:otherwise>
-
</c:otherwise>
</c:choose>
</p>
</td>
<td>
<button class="btnType btnType20" data-tooltip="rev_popup01" onClick="javascript:fnRevDetailPop('${resultAllSentList.msgGroupId}','${resultAllSentList.msgId}','${resultAllSentList.fileCnt}'); return false;">상세보기</button>

View File

@ -158,7 +158,19 @@ $(document).ready(function(){
</p>
</td>
<td>
${resultAllSentList.sendKind }
<p>
<c:choose>
<c:when test="${resultAllSentList.sendKind eq 'H' }">
WEB
</c:when>
<c:when test="${resultAllSentList.sendKind eq 'A'}">
API
</c:when>
<c:otherwise>
-
</c:otherwise>
</c:choose>
</p>
</td>
<td>
<button class="btnType btnType20" data-tooltip="rev_popup01" onClick="javascript:fnRevDetailPop('${resultAllSentList.msgGroupId}','${resultAllSentList.msgId}','${resultAllSentList.fileCnt}'); return false;">상세보기</button>

View File

@ -170,7 +170,19 @@ $(document).ready(function(){
</p>
</td>
<td>
${resultAllSentList.sendKind }
<p>
<c:choose>
<c:when test="${resultAllSentList.sendKind eq 'H' }">
WEB
</c:when>
<c:when test="${resultAllSentList.sendKind eq 'A'}">
API
</c:when>
<c:otherwise>
-
</c:otherwise>
</c:choose>
</p>
</td>
<td>
<button class="btnType btnType20" data-tooltip="rev_popup01" onClick="javascript:fnRevDetailPop('${resultAllSentList.msgGroupId}','${resultAllSentList.msgId}','${resultAllSentList.fileCnt}'); return false;">상세보기</button>

Binary file not shown.

After

Width:  |  Height:  |  Size: 298 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 350 KiB

View File

@ -24,8 +24,8 @@
//회원아이디, APIKEY - 보안을 위해 실제 서비스 시에는 이곳에 mberId와 apiKey 값을 적어서 사용해주세요
//실제서비스용
final String mberId = "antelope"; //문자온 로그인 아이디
final String apiKey = "5ec0a0311a7a0eb25cc9c11468ce372cd64501"; //발급받은 api key
final String mberId = "dudgusw"; //문자온 로그인 아이디
final String apiKey = "59d8d714ad68ae2e24e3ae2055334e3e"; //발급받은 api ke
//테스트용
//String mberId = request.getParameter("p_mberId"); //문자온 로그인 아이디
@ -33,7 +33,7 @@
/******************** 전송요청 URL ********************/
final String apiUrl = "https://api.munjaon.co.kr/api/inqry/hstryDetail"; // 전송요청 URL
final String apiUrl = "http://localhost:8088/api/inqry/hstryDetail"; // 전송요청 URL
// String apiUrl = "https://apidev.munjaon.co.kr:9998/api/inqry/hstryDetail";
/**************** 발송가능건수 예제 ******************/

View File

@ -24,8 +24,8 @@
//회원아이디, APIKEY - 보안을 위해 실제 서비스 시에는 이곳에 mberId와 apiKey 값을 적어서 사용해주세요
//실제서비스용
final String mberId = "antelope"; //문자온 로그인 아이디
final String apiKey = "5ec0a0311a7a0eb25cc9c11468ce372cd64501"; //발급받은 api key
final String mberId = "dudgusw"; //문자온 로그인 아이디
final String apiKey = "59d8d714ad68ae2e24e3ae2055334e3e"; //발급받은 api ke
//테스트용
//String mberId = request.getParameter("p_mberId"); //문자온 로그인 아이디
@ -33,7 +33,7 @@
/******************** 전송요청 URL ********************/
final String apiUrl = "https://api.munjaon.co.kr/api/inqry/hstry";
final String apiUrl = "http://localhost:8088/api/inqry/hstry";
/**************** 발송가능건수 예제 ******************/
System.out.println("전체발송이력");

View File

@ -25,7 +25,7 @@
//회원아이디, APIKEY - 보안을 위해 실제 서비스 시에는 이곳에 mberId와 apiKey 값을 적어서 사용해주세요
//실제서비스용
final String mberId = "antelope"; //문자온 로그인 아이디
final String apiKey = "5ec0a0311a7a0eb25cc9c11468ce372cd64501"; //발급받은 api key
final String apiKey = "59d8d714ad68ae2e24e3ae2055334e3e"; //발급받은 api key
//테스트용