OWL ITS + 탐지시스템(인터넷 진흥원)
jhjang
2021-12-02 a2d725403ea649dc7ac266e50ed0905ee93c2e9b
src/main/java/kr/wisestone/owl/service/impl/IssueServiceImpl.java
@@ -567,6 +567,55 @@
        return issueVos;
    }
    //  이슈 목록을 조회한다(차트용 - 연관일감포함)
    @Override
    @Transactional(readOnly = true)
    public void findApiIssue(ApiMonitorCondition apiMonitorCondition, Map<String, Object> resJsonData) {
        IssueTypeCondition issueTypeCondition = new IssueTypeCondition();
        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());
        //  날짜가 검색되지 않았으면 오류
        if (searchDates.size() < 1) {
            throw new OwlRuntimeException(
                    this.messageAccessor.getMessage(MsgConstants.WIDGET_SEARCH_DATE_NOT_FOUND));
        }
        Long index = 1L;
        List<ApiMonitorVo> apiMonitorVos = Lists.newArrayList();
        for (Date date : searchDates) {
            String onlyDate = DateUtil.convertDateToYYYYMMDD(date);
            issueTypeCondition.setStartDate(onlyDate + " 00:00:00");
            issueTypeCondition.setEndDate(onlyDate + " 23:59:59");
            ApiMonitorVo apiMonitorVo = new ApiMonitorVo();
            apiMonitorVo.setId(index);
            for (IssueTypeVo issueTypeVo : issueTypes) {
                issueTypeCondition.setId(issueTypeVo.getId());
                apiMonitorVo.addIssueTypeCount(this.issueMapper.countByIssueTypeIdAndDate(issueTypeCondition));
                apiMonitorVo.setIsApi(Issue.IS_API_YES);
                apiMonitorVos.add(apiMonitorVo);
            }
            index++;
        }
        Map<String, Object> data = new HashMap<>();
        data.put("issueTypeVos", issueTypes);
        data.put("apiMonitorVos", apiMonitorVos);
        resJsonData.put(Constants.RES_KEY_CONTENTS, data);
    }
    //  이슈 목록을 조회한다(차트용 - 연관일감포함)
    @Override
    @Transactional(readOnly = true)