diff --git a/src/main/java/itn/let/mjo/api/sms/service/ApiSmsTestMsgService.java b/src/main/java/itn/let/mjo/api/sms/service/ApiSmsTestMsgService.java index 172ee21..1c80a3c 100644 --- a/src/main/java/itn/let/mjo/api/sms/service/ApiSmsTestMsgService.java +++ b/src/main/java/itn/let/mjo/api/sms/service/ApiSmsTestMsgService.java @@ -32,6 +32,8 @@ public interface ApiSmsTestMsgService { Map selectSendHistry(ApiKeyVO searchVO) throws JsonParseException, JsonMappingException, IOException; + StatusResponse findByApiInfoWhereLogIdAjax(String logId) throws IOException; + // //api key list // public List selectMberApiKeyList(ApiKeyVO apiKeyVO) throws Exception; diff --git a/src/main/java/itn/let/mjo/api/sms/service/ReqCnVO.java b/src/main/java/itn/let/mjo/api/sms/service/ReqCnVO.java index 423a979..3d74b42 100644 --- a/src/main/java/itn/let/mjo/api/sms/service/ReqCnVO.java +++ b/src/main/java/itn/let/mjo/api/sms/service/ReqCnVO.java @@ -119,15 +119,118 @@ public class ReqCnVO { private String dataFailCnt; private String dataMsgType; private String dataTestYn; - - - public String getsPrice() { - return sPrice; - } - public void setsPrice(String sPrice) { - this.sPrice = sPrice; - } - public String getmPrice() { + + + + // 수신번호/본문(고정 필드 1~100) + private String callTo_1; private String smsTxt_1; + private String callTo_2; private String smsTxt_2; + private String callTo_3; private String smsTxt_3; + private String callTo_4; private String smsTxt_4; + private String callTo_5; private String smsTxt_5; + private String callTo_6; private String smsTxt_6; + private String callTo_7; private String smsTxt_7; + private String callTo_8; private String smsTxt_8; + private String callTo_9; private String smsTxt_9; + private String callTo_10; private String smsTxt_10; + private String callTo_11; private String smsTxt_11; + private String callTo_12; private String smsTxt_12; + private String callTo_13; private String smsTxt_13; + private String callTo_14; private String smsTxt_14; + private String callTo_15; private String smsTxt_15; + private String callTo_16; private String smsTxt_16; + private String callTo_17; private String smsTxt_17; + private String callTo_18; private String smsTxt_18; + private String callTo_19; private String smsTxt_19; + private String callTo_20; private String smsTxt_20; + private String callTo_21; private String smsTxt_21; + private String callTo_22; private String smsTxt_22; + private String callTo_23; private String smsTxt_23; + private String callTo_24; private String smsTxt_24; + private String callTo_25; private String smsTxt_25; + private String callTo_26; private String smsTxt_26; + private String callTo_27; private String smsTxt_27; + private String callTo_28; private String smsTxt_28; + private String callTo_29; private String smsTxt_29; + private String callTo_30; private String smsTxt_30; + private String callTo_31; private String smsTxt_31; + private String callTo_32; private String smsTxt_32; + private String callTo_33; private String smsTxt_33; + private String callTo_34; private String smsTxt_34; + private String callTo_35; private String smsTxt_35; + private String callTo_36; private String smsTxt_36; + private String callTo_37; private String smsTxt_37; + private String callTo_38; private String smsTxt_38; + private String callTo_39; private String smsTxt_39; + private String callTo_40; private String smsTxt_40; + private String callTo_41; private String smsTxt_41; + private String callTo_42; private String smsTxt_42; + private String callTo_43; private String smsTxt_43; + private String callTo_44; private String smsTxt_44; + private String callTo_45; private String smsTxt_45; + private String callTo_46; private String smsTxt_46; + private String callTo_47; private String smsTxt_47; + private String callTo_48; private String smsTxt_48; + private String callTo_49; private String smsTxt_49; + private String callTo_50; private String smsTxt_50; + private String callTo_51; private String smsTxt_51; + private String callTo_52; private String smsTxt_52; + private String callTo_53; private String smsTxt_53; + private String callTo_54; private String smsTxt_54; + private String callTo_55; private String smsTxt_55; + private String callTo_56; private String smsTxt_56; + private String callTo_57; private String smsTxt_57; + private String callTo_58; private String smsTxt_58; + private String callTo_59; private String smsTxt_59; + private String callTo_60; private String smsTxt_60; + private String callTo_61; private String smsTxt_61; + private String callTo_62; private String smsTxt_62; + private String callTo_63; private String smsTxt_63; + private String callTo_64; private String smsTxt_64; + private String callTo_65; private String smsTxt_65; + private String callTo_66; private String smsTxt_66; + private String callTo_67; private String smsTxt_67; + private String callTo_68; private String smsTxt_68; + private String callTo_69; private String smsTxt_69; + private String callTo_70; private String smsTxt_70; + private String callTo_71; private String smsTxt_71; + private String callTo_72; private String smsTxt_72; + private String callTo_73; private String smsTxt_73; + private String callTo_74; private String smsTxt_74; + private String callTo_75; private String smsTxt_75; + private String callTo_76; private String smsTxt_76; + private String callTo_77; private String smsTxt_77; + private String callTo_78; private String smsTxt_78; + private String callTo_79; private String smsTxt_79; + private String callTo_80; private String smsTxt_80; + private String callTo_81; private String smsTxt_81; + private String callTo_82; private String smsTxt_82; + private String callTo_83; private String smsTxt_83; + private String callTo_84; private String smsTxt_84; + private String callTo_85; private String smsTxt_85; + private String callTo_86; private String smsTxt_86; + private String callTo_87; private String smsTxt_87; + private String callTo_88; private String smsTxt_88; + private String callTo_89; private String smsTxt_89; + private String callTo_90; private String smsTxt_90; + private String callTo_91; private String smsTxt_91; + private String callTo_92; private String smsTxt_92; + private String callTo_93; private String smsTxt_93; + private String callTo_94; private String smsTxt_94; + private String callTo_95; private String smsTxt_95; + private String callTo_96; private String smsTxt_96; + private String callTo_97; private String smsTxt_97; + private String callTo_98; private String smsTxt_98; + private String callTo_99; private String smsTxt_99; + private String callTo_100; private String smsTxt_100; + + public String getsPrice() { + return sPrice; + } + public void setsPrice(String sPrice) { + this.sPrice = sPrice; + } + public String getmPrice() { return mPrice; } public void setmPrice(String mPrice) { diff --git a/src/main/java/itn/let/mjo/api/sms/service/ResCnVO.java b/src/main/java/itn/let/mjo/api/sms/service/ResCnVO.java index 1a3c587..10545ed 100644 --- a/src/main/java/itn/let/mjo/api/sms/service/ResCnVO.java +++ b/src/main/java/itn/let/mjo/api/sms/service/ResCnVO.java @@ -32,20 +32,6 @@ import lombok.ToString; @JsonIgnoreProperties(ignoreUnknown = true) public class ResCnVO { - // ===== 요청정보(AccessKey) ===== - private String accessNo; - private String mberId; - private String accessKey; - private String useYn; - private String frstRegistPnttm; - private String frstRegisterId; - private String lastUpdtPnttm; - private String lastUpdusrId; - private String accessToken; - private String tokenObj; - private String expirePnttm; - private String callInfo; - private String remainMsgCnt; // ===== 최상위 응답 ===== private String resultCode; diff --git a/src/main/java/itn/let/mjo/api/sms/service/ResData.java b/src/main/java/itn/let/mjo/api/sms/service/ResData.java index 04aeac8..32ae684 100644 --- a/src/main/java/itn/let/mjo/api/sms/service/ResData.java +++ b/src/main/java/itn/let/mjo/api/sms/service/ResData.java @@ -33,20 +33,17 @@ import lombok.ToString; @JsonIgnoreProperties(ignoreUnknown = true) public class ResData { - // ===== 최상위 응답 ===== - private String resultCode; - private List localDateTime; - private List objectList; - - private String msgGroupId; - private List msgGroupIdList; - private String successCnt; - private String blockCnt; - private String failCnt; - private String msgType; - private List msgTypeList; - @JsonProperty("test_yn") - private String testYn; - @JsonProperty("next_yn") - private String nextYn; + private String resultCode; // "1020" 등 + private String msg; // ⬅ 추가: "수신자 전화번호 오류" + private String msgGroupId; + private List msgGroupIdList; + private Integer successCnt; + private Integer blockCnt; + private Integer failCnt; + private String msgType; + private List msgTypeList; + @JsonProperty("test_yn") + private String testYn; + @JsonProperty("next_yn") + private String nextYn; } \ No newline at end of file diff --git a/src/main/java/itn/let/mjo/api/sms/service/impl/ApiSmsTestMsgDAO.java b/src/main/java/itn/let/mjo/api/sms/service/impl/ApiSmsTestMsgDAO.java index d62bd3d..ecef7ac 100644 --- a/src/main/java/itn/let/mjo/api/sms/service/impl/ApiSmsTestMsgDAO.java +++ b/src/main/java/itn/let/mjo/api/sms/service/impl/ApiSmsTestMsgDAO.java @@ -35,4 +35,8 @@ public class ApiSmsTestMsgDAO extends EgovComAbstractDAO{ public List selectSendHistry(ApiKeyVO apiKeyVO) { return (List) list("apiSmsTestMsgDAO.selectSendHistry", apiKeyVO); } + + public ApiAccLogVO findByApiInfoWhereLogIdAjax(String logId) { + return (ApiAccLogVO) select("apiSmsTestMsgDAO.findByApiInfoWhereLogIdAjax", logId); + } } \ No newline at end of file diff --git a/src/main/java/itn/let/mjo/api/sms/service/impl/ApiSmsTestMsgServiceImpl.java b/src/main/java/itn/let/mjo/api/sms/service/impl/ApiSmsTestMsgServiceImpl.java index 0ee7956..4e11614 100644 --- a/src/main/java/itn/let/mjo/api/sms/service/impl/ApiSmsTestMsgServiceImpl.java +++ b/src/main/java/itn/let/mjo/api/sms/service/impl/ApiSmsTestMsgServiceImpl.java @@ -2,9 +2,7 @@ package itn.let.mjo.api.sms.service.impl; import java.io.IOException; import java.time.LocalDateTime; -import java.util.HashMap; -import java.util.List; -import java.util.Map; +import java.util.*; import javax.annotation.Resource; @@ -22,7 +20,6 @@ import itn.let.mjo.apikey.service.ApiKeyVO; import lombok.extern.slf4j.Slf4j; import com.fasterxml.jackson.core.JsonParseException; -import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.JsonMappingException; import com.fasterxml.jackson.databind.ObjectMapper; @@ -68,22 +65,27 @@ public class ApiSmsTestMsgServiceImpl extends EgovAbstractServiceImpl implements public Map selectSendHistry(ApiKeyVO apiKeyVO) throws JsonParseException, JsonMappingException, IOException { Map resultMap = new HashMap<>(); - + + String reqMeth = apiKeyVO.getReqMeth(); + + if (reqMeth != null && !reqMeth.trim().isEmpty()) { + List reqMethList; + if (reqMeth.contains("|")) { + reqMethList = Arrays.asList(reqMeth.split("\\|")); + } else { + reqMethList = Collections.singletonList(reqMeth); // String을 List로 변환 + } + apiKeyVO.setReqMethList(reqMethList); + log.info("reqMethList: {}", reqMethList); + } + + + + List apiInfoListVO = apiSmsTestMsgDAO.selectSendHistry(apiKeyVO); - - ObjectMapper mapper = new ObjectMapper(); - for (ApiAccLogVO vo : apiInfoListVO) { - if (vo.getReqCnStr() != null) { - log.info("vo.getReqCnStr() : [{}]", vo.getReqCnStr()); - vo.setReqCn(mapper.readValue(vo.getReqCnStr(), ReqCnVO.class)); - } - if (vo.getResCnStr() != null) { - vo.setResCn(mapper.readValue(vo.getResCnStr(), ResCnVO.class)); - } - } - - apiInfoListVO.stream().forEach(t->System.out.println(" t.toString() :: "+ t.toString())); - + + apiInfoListVO = this.voListPreprocessing(apiInfoListVO); + resultMap.put("apiInfoListVO", apiInfoListVO); resultMap.put("listSize", apiInfoListVO.size()); @@ -92,6 +94,46 @@ public class ApiSmsTestMsgServiceImpl extends EgovAbstractServiceImpl implements return resultMap; } - - + @Override + public StatusResponse findByApiInfoWhereLogIdAjax(String logId) throws IOException { + ApiAccLogVO apiInfoVO = apiSmsTestMsgDAO.findByApiInfoWhereLogIdAjax(logId); + + apiInfoVO = this.voPreprocessing(apiInfoVO); + + + return new StatusResponse(HttpStatus.OK, apiInfoVO, LocalDateTime.now()); + } + + public ApiAccLogVO voPreprocessing(ApiAccLogVO apiInfoVO) throws IOException { + + List list = new ArrayList<>(); + list.add(apiInfoVO); + + + List apiAccLogList = this.voListPreprocessing(list); + return apiAccLogList.get(0); + + } + public List voListPreprocessing(List apiAccLogList) throws IOException { + + + ObjectMapper mapper = new ObjectMapper(); + for (ApiAccLogVO vo : apiAccLogList) { + if (vo.getReqCnStr() != null) { + log.info("vo.getReqCnStr() : [{}]", vo.getReqCnStr()); + vo.setReqCn(mapper.readValue(vo.getReqCnStr(), ReqCnVO.class)); + } + if (vo.getResCnStr() != null) { + vo.setResCn(mapper.readValue(vo.getResCnStr(), ResCnVO.class)); + } + } + + apiAccLogList.stream().forEach(t->{ + System.out.println(" t.toString() :: "+ t.getLogId()); + }); + + + return apiAccLogList; + } + } \ No newline at end of file diff --git a/src/main/java/itn/let/mjo/api/sms/web/ApiSmsTestMsgController.java b/src/main/java/itn/let/mjo/api/sms/web/ApiSmsTestMsgController.java index e50eb06..6b4b024 100644 --- a/src/main/java/itn/let/mjo/api/sms/web/ApiSmsTestMsgController.java +++ b/src/main/java/itn/let/mjo/api/sms/web/ApiSmsTestMsgController.java @@ -72,7 +72,7 @@ public class ApiSmsTestMsgController { HttpServletRequest request , ModelMap model) throws Exception{ - model.addAttribute("reqUrl", "/api/send/sendMsg"); + model.addAttribute("reqMeth", "sendMsgData_advc|sendMsgData"); return "/uss/ion/api/test/sms/sendMsgForm"; } @@ -123,9 +123,6 @@ public class ApiSmsTestMsgController { HttpServletRequest request , ModelMap model) throws Exception{ - log.info("searchVO getReqUrl : [{}]", searchVO.getReqUrl()); - log.info("searchVO getMberId : [{}]", searchVO.getMberId()); - log.info("searchVO getAccessKey : [{}]", searchVO.getAccessKey()); Map resultMap = apiSmsTestMsgService.selectSendHistry(searchVO); model.addAttribute("listSize", resultMap.get("listSize")); @@ -139,6 +136,10 @@ public class ApiSmsTestMsgController { public ResponseEntity selectMberIdAjax(@RequestParam String checkId) throws Exception { return ResponseEntity.ok().body(apiSmsTestMsgService.findByApiInfoWhereMberIdAjax(checkId)); } + @RequestMapping(value = "/uss/ion/api/test/sms/findByApiInfoWhereLogIdAjax.do") + public ResponseEntity findByApiInfoWhereLogIdAjax(@RequestParam String logId) throws Exception { + return ResponseEntity.ok().body(apiSmsTestMsgService.findByApiInfoWhereLogIdAjax(logId)); + } diff --git a/src/main/java/itn/let/mjo/apikey/service/ApiKeyVO.java b/src/main/java/itn/let/mjo/apikey/service/ApiKeyVO.java index fe2d59c..5088106 100644 --- a/src/main/java/itn/let/mjo/apikey/service/ApiKeyVO.java +++ b/src/main/java/itn/let/mjo/apikey/service/ApiKeyVO.java @@ -4,6 +4,8 @@ import itn.com.cmm.ComDefaultVO; import lombok.Getter; import lombok.Setter; +import java.util.List; + /** * api key 관리 * @since 2009.04.10 @@ -52,7 +54,9 @@ public class ApiKeyVO extends ComDefaultVO{ private String callType; //IP/URL private String callInfo; //주소 또는 IP 정보(referer) - private String reqUrl; //주소 또는 IP 정보(referer) - + private String reqMeth; //검색 조건 메소드 + private List reqMethList; //검색 조건 메소드 + + } \ No newline at end of file diff --git a/src/main/java/itn/let/mjo/msg/web/MjonMsgController.java b/src/main/java/itn/let/mjo/msg/web/MjonMsgController.java index 5efa88a..84d847b 100644 --- a/src/main/java/itn/let/mjo/msg/web/MjonMsgController.java +++ b/src/main/java/itn/let/mjo/msg/web/MjonMsgController.java @@ -168,9 +168,9 @@ public class MjonMsgController { public String sendMsgList(@ModelAttribute("searchVO") MjonMsgVO searchVO, HttpServletRequest request , ModelMap model) throws Exception{ - //value 값 가져오기 + //value 값 가져오기 // String pattern = (String) request.getAttribute(HandlerMapping.BEST_MATCHING_PATTERN_ATTRIBUTE) ; - + /** pageing */ PaginationInfo paginationInfo = new PaginationInfo(); paginationInfo.setCurrentPageNo(searchVO.getPageIndex()); diff --git a/src/main/resources/egovframework/sqlmap/let/mjo/apiSms/ApiSmsTestMsg_SQL_Mysql.xml b/src/main/resources/egovframework/sqlmap/let/mjo/apiSms/ApiSmsTestMsg_SQL_Mysql.xml index ddecba9..34338c6 100644 --- a/src/main/resources/egovframework/sqlmap/let/mjo/apiSms/ApiSmsTestMsg_SQL_Mysql.xml +++ b/src/main/resources/egovframework/sqlmap/let/mjo/apiSms/ApiSmsTestMsg_SQL_Mysql.xml @@ -63,16 +63,46 @@ RES_UPDUSR_ID AS resUpdusrId FROM lettngnrlmber_access_log WHERE REQ_USER_ID = #mberId# - and ACCESS_KEY = #accessKey# - and REQ_URL = #reqUrl# + and ACCESS_KEY = #accessKey# + + + AND ( + + REQ_INFO_METH LIKE '%$reqMethList[]$%' + + ) + + ORDER BY REQ_REGIST_PNTTM DESC + + + + + - - - - diff --git a/src/main/webapp/WEB-INF/jsp/uss/ion/api/test/sms/include/tab_include.jsp b/src/main/webapp/WEB-INF/jsp/uss/ion/api/test/sms/include/tab_include.jsp index 790ffb9..ae41dfa 100644 --- a/src/main/webapp/WEB-INF/jsp/uss/ion/api/test/sms/include/tab_include.jsp +++ b/src/main/webapp/WEB-INF/jsp/uss/ion/api/test/sms/include/tab_include.jsp @@ -140,7 +140,7 @@ $(function() {
- +
diff --git a/src/main/webapp/WEB-INF/jsp/uss/ion/api/test/sms/popup/sendHistory.jsp b/src/main/webapp/WEB-INF/jsp/uss/ion/api/test/sms/popup/sendHistory.jsp index 03d24eb..4ab3b6c 100644 --- a/src/main/webapp/WEB-INF/jsp/uss/ion/api/test/sms/popup/sendHistory.jsp +++ b/src/main/webapp/WEB-INF/jsp/uss/ion/api/test/sms/popup/sendHistory.jsp @@ -51,6 +51,10 @@