From a2c204b8053a7fafc125902ed8b5a2a739e24779 Mon Sep 17 00:00:00 2001 From: jhjang <jhjang@maprex.co.kr> Date: 화, 14 12월 2021 17:46:22 +0900 Subject: [PATCH] - api 모니니터링 정상동작하도록 수정 --- src/main/java/kr/wisestone/owl/service/impl/IssueServiceImpl.java | 16 +++++--- src/main/webapp/views/api/apiMonitor.html | 45 +++++++++++++++------- src/main/webapp/scripts/app/api/apiMonitor.controller.js | 27 ++++++++++++- src/main/java/kr/wisestone/owl/util/CommonUtil.java | 15 +++++++ 4 files changed, 81 insertions(+), 22 deletions(-) diff --git a/src/main/java/kr/wisestone/owl/service/impl/IssueServiceImpl.java b/src/main/java/kr/wisestone/owl/service/impl/IssueServiceImpl.java index 8fa627b..9b792d0 100644 --- a/src/main/java/kr/wisestone/owl/service/impl/IssueServiceImpl.java +++ b/src/main/java/kr/wisestone/owl/service/impl/IssueServiceImpl.java @@ -912,15 +912,19 @@ public void findApiIssue(ApiMonitorCondition apiMonitorCondition, Map<String, Object> resJsonData) { IssueTypeCondition issueTypeCondition = new IssueTypeCondition(); + issueTypeCondition.setIsApi(Issue.IS_API_YES); List<IssueTypeVo> issueTypes = this.issueTypeService.findIssueType(issueTypeCondition); - // 媛믪씠 �뾾�쓣 寃쎌슦 珥덇린媛� �엯�젰 - if (StringUtils.isEmpty(apiMonitorCondition.getSearchPeriod())) { - apiMonitorCondition.setSearchPeriod(DateUtil.LAST_SEVEN_DAYS); - } - // 寃��깋 �씪�옄瑜� 援ы븳�떎. - List<Date> searchDates = CommonUtil.findSearchPeriod(apiMonitorCondition.getSearchPeriod()); + List<Date> searchDates = Lists.newArrayList(); + if (apiMonitorCondition.getSearchPeriod().equals(DateUtil.CUSTOM_INPUT)) { + Date startDate = DateUtil.convertStrToDate(apiMonitorCondition.getSearchStartDate(), "yyyy-MM-dd"); + Date endDate = DateUtil.addDays(DateUtil.convertStrToDate(apiMonitorCondition.getSearchEndDate(), "yyyy-MM-dd"), 1); + + searchDates = CommonUtil.findSearchPeriod(startDate, endDate); + } else { + searchDates = CommonUtil.findSearchPeriod(apiMonitorCondition.getSearchPeriod()); + } // �궇吏쒓� 寃��깋�릺吏� �븡�븯�쑝硫� �삤瑜� if (searchDates.size() < 1) { diff --git a/src/main/java/kr/wisestone/owl/util/CommonUtil.java b/src/main/java/kr/wisestone/owl/util/CommonUtil.java index 5659bfd..afcb056 100644 --- a/src/main/java/kr/wisestone/owl/util/CommonUtil.java +++ b/src/main/java/kr/wisestone/owl/util/CommonUtil.java @@ -40,6 +40,7 @@ import java.security.MessageDigest; import java.security.spec.KeySpec; import java.text.DecimalFormat; +import java.text.SimpleDateFormat; import java.util.*; public class CommonUtil { @@ -761,6 +762,20 @@ return stringBuilder.toString(); } + public static List<Date> findSearchPeriod(Date startDate, Date endDate) { + Calendar cal = Calendar.getInstance(); + cal.setTime(endDate); + List<Date> days = Lists.newArrayList(); + + // �씠踰덈떖 �궇吏� 由ъ뒪�듃 媛��졇�삤湲� + while (cal.getTime().after(startDate)){ + days.add(cal.getTime()); + cal.add(Calendar.DATE, -1); + } + + return days; + } + // 寃��깋 �씪�옄瑜� 援ы븳�떎. public static List<Date> findSearchPeriod(String searchPeriod) { List<Date> searchDates = Lists.newArrayList(); diff --git a/src/main/webapp/scripts/app/api/apiMonitor.controller.js b/src/main/webapp/scripts/app/api/apiMonitor.controller.js index abfbe73..5a52bb8 100644 --- a/src/main/webapp/scripts/app/api/apiMonitor.controller.js +++ b/src/main/webapp/scripts/app/api/apiMonitor.controller.js @@ -17,7 +17,8 @@ $scope.vm = { search : { - searchPeriod : "LAST_SEVEN_DAYS" + searchPeriod : "LAST_SEVEN_DAYS", + startEndDateRange : "" // �씠�뒋 湲곕줉 議고쉶 �궇吏� }, apiMonitorVos : [], issueTypeVos : [], @@ -35,8 +36,24 @@ } }; + // 吏곸젒 �엯�젰�뿉�꽌 �궇吏� �꽑�깮�떆 �씠�뒋 湲곕줉 �젙蹂� 議고쉶 + $scope.$watch("vm.search.startEndDateRange", function (newValue) { + if ($rootScope.isDefined(newValue)) { + $scope.fn.drawChart(); + } + }); + + // �궗�슜�옄 �닔 + function changeSearchPeriod() { - drawChart(); + switch ($scope.vm.search.searchPeriod) { + case "CUSTOM_INPUT" : + $scope.vm.search.startEndDateRange = ""; + break; + default : + $scope.vm.search.startEndDateRange = ""; + $scope.fn.drawChart(); + } } $scope.fn.drawChart(); @@ -49,6 +66,12 @@ searchEndDate : "" }; + if ($rootScope.isDefined($scope.vm.search.startEndDateRange)) { + var startEndDateRange = $scope.vm.search.startEndDateRange.split("~"); + content.searchStartDate = startEndDateRange[0].trim(); + content.searchEndDate = startEndDateRange[1].trim(); + } + Api.findHistory($resourceProvider.getContent(content, $resourceProvider.getPageContent(0, 0))).then(function (result) { diff --git a/src/main/webapp/views/api/apiMonitor.html b/src/main/webapp/views/api/apiMonitor.html index 3db8e70..8dca8b6 100644 --- a/src/main/webapp/views/api/apiMonitor.html +++ b/src/main/webapp/views/api/apiMonitor.html @@ -12,23 +12,40 @@ </h6> <div class="element-box"> - <select class="form-control form-control-sm rounded width-30 d-inline-block mb-10" ng-model="vm.search.searchPeriod" ng-change="fn.changeSearchPeriod()"> - <option value="LAST_SEVEN_DAYS" translate="common.last7Days">理쒓렐 7�씪</option> - <option value="THIS_WEEK" translate="common.thisWeek">�씠踰� 二�</option> - <option value="LAST_WEEK" translate="common.lastWeek">吏��궃 二�</option> - <option value="THIS_MONTH" translate="common.thisMonth">�씠踰� �떖</option> - <option value="LAST_MONTH" translate="common.lastMonth">吏��궃 �떖(1�씪~留먯씪)</option> - <option value="LAST_THIRTY_DAYS" translate="common.last30Days">理쒓렐 30�씪</option> - <option value="CUSTOM_INPUT" translate="common.directInput">吏곸젒�엯�젰</option> - </select> + <div> + <select class="form-control form-control-sm rounded width-30 d-inline-block mb-10" ng-model="vm.search.searchPeriod" ng-change="fn.changeSearchPeriod()"> + <option value="LAST_SEVEN_DAYS" translate="common.last7Days">理쒓렐 7�씪</option> + <option value="THIS_WEEK" translate="common.thisWeek">�씠踰� 二�</option> + <option value="LAST_WEEK" translate="common.lastWeek">吏��궃 二�</option> + <option value="THIS_MONTH" translate="common.thisMonth">�씠踰� �떖</option> + <option value="LAST_MONTH" translate="common.lastMonth">吏��궃 �떖(1�씪~留먯씪)</option> + <option value="LAST_THIRTY_DAYS" translate="common.last30Days">理쒓렐 30�씪</option> + <option value="CUSTOM_INPUT" translate="common.directInput">吏곸젒�엯�젰</option> + </select> + <input type="text" + ng-show="vm.search.searchPeriod == 'CUSTOM_INPUT'" + class="form-control form-control-sm rounded col-md-4 d-inline-block input-readonly" + ng-model="vm.search.startEndDateRange" + modal-form-auto-scroll + parent-el="'#createdWidget'" + range-type="date" + onfocus="this.blur()" + style="height: 32px !important; padding: 0.25rem 0.5rem; font-size: 0.8rem; line-height: 1.5;" + date-range-picker> + <div class="row"> + <div class="col-xs-12"> + <div id="createdWidget" class="bootstrap-datepicker"></div> + </div> + </div> - <div class="no-cont1" - ng-if="vm.chartData.columns.length < 1" - translate="common.noRecord"> - 湲곕줉�씠 �뾾�뒿�땲�떎. + <div class="no-cont1" + ng-if="vm.chartData.columns.length < 1" + translate="common.noRecord"> + 湲곕줉�씠 �뾾�뒿�땲�떎. + </div> + </div> - <div ng-if="vm.chartData.columns.length > 0"> <google-chart columns="vm.chartData.columns" -- Gitblit v1.8.0