From effc0a221d87cdfe6d0cf0898c220b35cbf9cb54 Mon Sep 17 00:00:00 2001 From: leebj Date: Tue, 24 Dec 2024 17:57:33 +0900 Subject: [PATCH] =?UTF-8?q?=EB=9E=9C=EB=8D=A4=20=EB=AC=B8=EC=9E=90?= =?UTF-8?q?=EB=B0=9C=EC=86=A1=20=ED=85=8C=EC=8A=A4=ED=8A=B8=20=ED=99=94?= =?UTF-8?q?=EB=A9=B4=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../nuri2/RandomMessageCreateRequest.java | 4 +- .../nuri2/web/nuri2Controller.java | 89 +++++++++++++++++++ .../testpool/dao/TestPoolMapper.java | 1 + .../sql/externalmapper/testpool-mapper.xml | 6 ++ .../webapp/WEB-INF/jsp/mms/sendTest-main.jsp | 16 ++++ 5 files changed, 114 insertions(+), 2 deletions(-) diff --git a/src/main/java/externalsystem/nuri2/RandomMessageCreateRequest.java b/src/main/java/externalsystem/nuri2/RandomMessageCreateRequest.java index fb81359f..aec54189 100644 --- a/src/main/java/externalsystem/nuri2/RandomMessageCreateRequest.java +++ b/src/main/java/externalsystem/nuri2/RandomMessageCreateRequest.java @@ -14,7 +14,7 @@ public class RandomMessageCreateRequest extends AbstractEntity { private String sincheongFrom; private String sincheongTo; - private String ibChaFrom; - private String ibChaTo; + private String ibchaFrom; + private String ibchaTo; } diff --git a/src/main/java/externalsystem/nuri2/web/nuri2Controller.java b/src/main/java/externalsystem/nuri2/web/nuri2Controller.java index df802823..80295351 100644 --- a/src/main/java/externalsystem/nuri2/web/nuri2Controller.java +++ b/src/main/java/externalsystem/nuri2/web/nuri2Controller.java @@ -7,6 +7,8 @@ import java.net.http.HttpResponse; import java.nio.file.Files; import java.text.ParseException; import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collections; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -33,6 +35,7 @@ import externalsystem.nuri2.service.bean.LinuxServiceBean; import externalsystem.nuri2.service.bean.Nuri2ServiceBean; import externalsystem.nuri2.service.bean.WindowsServiceBean; import externalsystem.testpool.RandomUtil; +import externalsystem.testpool.dao.TestPoolMapper; @Controller @RequestMapping(name="모바일 메시지 컨트롤러", value="/mms") public class nuri2Controller extends AbstractController { @@ -40,6 +43,9 @@ public class nuri2Controller extends AbstractController { @Resource(name="objectMapper") private ObjectMapper objectMapper; + @Resource(name = "testPoolMapper") + private TestPoolMapper testPoolMapper; + @RequestMapping(name="모듈 실행 스크립트 파일 생성 팝업", value="/createScriptMain.do") public ModelAndView createScriptMain() { ModelAndView mav = new ModelAndView(); @@ -165,4 +171,87 @@ public class nuri2Controller extends AbstractController { } + @RequestMapping(name="mms 발송테스트 submit", value="/sendMobileMessage.do") + public ModelAndView sendMobileMessage(RandomMessageCreateRequest rmcq) throws ParseException { + ModelAndView mav = new ModelAndView("jsonView"); + DataObject respDataObject = new DataObject(); + + Map req = new HashMap(); + + req.put("recptnNo", RandomUtil.randomPhone()); + + List> args = new ArrayList>(); + + Map arg = new HashMap(); + + DataObject chgr = testPoolMapper.selectRandomChgr(); + arg = new HashMap(); + arg.put("argName", "충전소"); + arg.put("argValue", chgr.string("STN_NM")); + args.add(arg); + + arg = new HashMap(); + arg.put("argName", "충전기"); + arg.put("argValue", chgr.string("CHGR_NM")); + args.add(arg); + + switch(rmcq.getMsgPrps()) { + case "02": + arg = new HashMap(); + arg.put("argName", "입차시간"); + arg.put("argValue", RandomUtil.randomYmdhhmmss(rmcq.getIbchaFrom(), rmcq.getIbchaTo())); + args.add(arg); + case "03": + List GyeongGwa = Arrays.asList("50분", "60분", "12시간"); + Collections.shuffle(GyeongGwa); + arg = new HashMap(); + arg.put("argName", "주차시간"); + arg.put("argValue", GyeongGwa.get(0)); + args.add(arg); + + arg = new HashMap(); + arg.put("argName", "차량번호"); + arg.put("argValue", RandomUtil.randomCarNo()); + args.add(arg); + break; + case "04": + arg = new HashMap(); + arg.put("argName", "신청일자"); + arg.put("argValue", RandomUtil.randomYmd(rmcq.getSincheongFrom(), rmcq.getSincheongTo())); + args.add(arg); + + arg = new HashMap(); + arg.put("argName", "차량번호"); + arg.put("argValue", RandomUtil.randomCarNo()); + args.add(arg); + break; + } + + req.put("args", args); + + HttpResponse apiRslt = new WebClient().post(request -> { + request.contentType(WebClient.Request.ContentType.JSON); + request.uri(rmcq.getDest()); + request.data("msgPrps", rmcq.getMsgPrps()); + request.data("reqSys", "01"); + request.data("sggCd", rmcq.getSggCd()); + request.data("teskSeCd", ""); + request.data("msgDtlPrps", ""); + request.data("reqs", List.of(req)); + }); + + String rslt = apiRslt.body(); + try { + respDataObject = objectMapper.readValue(rslt, new TypeReference() {}); + } catch (JsonMappingException e) { + e.printStackTrace(); + } catch (JsonProcessingException e) { + e.printStackTrace(); + } + + mav.addObject("respDataObject", respDataObject); + + + return mav; + } } diff --git a/src/main/java/externalsystem/testpool/dao/TestPoolMapper.java b/src/main/java/externalsystem/testpool/dao/TestPoolMapper.java index 03706489..057c1b20 100644 --- a/src/main/java/externalsystem/testpool/dao/TestPoolMapper.java +++ b/src/main/java/externalsystem/testpool/dao/TestPoolMapper.java @@ -10,6 +10,7 @@ public interface TestPoolMapper extends AbstractMapper { DataObject selectRandomMber(); DataObject selectRandomAddr(); DataObject selectRandomCarBasic(); + DataObject selectRandomChgr(); int insertNamePool(String name); int insertCarNoPool(String carNo); diff --git a/src/main/resources/sql/externalmapper/testpool-mapper.xml b/src/main/resources/sql/externalmapper/testpool-mapper.xml index d6443e0e..4e2ecadf 100644 --- a/src/main/resources/sql/externalmapper/testpool-mapper.xml +++ b/src/main/resources/sql/externalmapper/testpool-mapper.xml @@ -20,6 +20,12 @@ FROM TESTPOOL_TB_CAR_BASIC ORDER BY RAND() LIMIT 1 + + INSERT INTO TESTPOOL_TB_NAME VALUES (#{name}) diff --git a/src/main/webapp/WEB-INF/jsp/mms/sendTest-main.jsp b/src/main/webapp/WEB-INF/jsp/mms/sendTest-main.jsp index 4445e459..fce000e4 100644 --- a/src/main/webapp/WEB-INF/jsp/mms/sendTest-main.jsp +++ b/src/main/webapp/WEB-INF/jsp/mms/sendTest-main.jsp @@ -54,6 +54,11 @@ $("#btnSend--${pageName}").on("click",function(){ return; } + if(data.sggCd.length != 5){ + alert('시군구코드가 5자리가 아님'); + return; + } + if(data.msgPrps == "04"){ if(data.sincheongFrom == null || data.sincheongFrom == "" || data.sincheongFrom.length < 8 || data.sincheongTo == null || data.sincheongTo == "" || data.sincheongTo.length < 8 @@ -61,6 +66,12 @@ $("#btnSend--${pageName}").on("click",function(){ alert('신청일자 입력오류'); return; } + + if(data.sincheongFrom > data.sincheongTo){ + alert('신청일자 시작일자가 종료일자보다 큼'); + return; + } + } if(data.msgPrps == "02"){ @@ -70,6 +81,11 @@ $("#btnSend--${pageName}").on("click",function(){ alert('입차시간 입력오류'); return; } + + if(data.ibchaFrom > data.ibchaTo){ + alert('입차시간 시작일자가 종료일자보다 큼'); + return; + } } $.ajax({