From fe21896bff9b9305df0294e0352b343e0dd4d0b9 Mon Sep 17 00:00:00 2001 From: 이민희 <mhlee@maprex.co.kr> Date: 월, 14 3월 2022 12:55:20 +0900 Subject: [PATCH] - api로 이슈 추가 시 하위이슈기준 IP/SITE 일 경우 코드 수정 --- src/main/java/kr/wisestone/owl/service/impl/IssueServiceImpl.java | 8 ++++++-- src/main/resources/mybatis/query-template/issue-template.xml | 31 +++++++++++++++---------------- src/main/webapp/views/issue/issueDetail.html | 4 +++- src/main/java/kr/wisestone/owl/mapper/IssueMapper.java | 2 +- 4 files changed, 25 insertions(+), 20 deletions(-) diff --git a/src/main/java/kr/wisestone/owl/mapper/IssueMapper.java b/src/main/java/kr/wisestone/owl/mapper/IssueMapper.java index 5e17cf5..ff44b6f 100644 --- a/src/main/java/kr/wisestone/owl/mapper/IssueMapper.java +++ b/src/main/java/kr/wisestone/owl/mapper/IssueMapper.java @@ -53,6 +53,6 @@ List<Map<String, Object>> findNotCompleteByParentIssueId(IssueCondition issueCondition); - List<Map<String, Object>> findByCustomFieldValueOfIp(IssueCustomFieldValueCondition issueCustomFieldValueCondition); + List<Map<String, Object>> findByCustomFieldValueByCompany(IssueCustomFieldValueCondition issueCustomFieldValueCondition); } 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 6cd7ff7..545ec04 100644 --- a/src/main/java/kr/wisestone/owl/service/impl/IssueServiceImpl.java +++ b/src/main/java/kr/wisestone/owl/service/impl/IssueServiceImpl.java @@ -528,6 +528,7 @@ } if(customFieldApiOverlap.getCustomField().getCustomFieldType().equals(SITE)) { + customFieldType = SITE.toString(); String[] urlArr = null; List<String> urls = Lists.newArrayList(); if (useValue.contains(",")) { @@ -576,8 +577,11 @@ ipValue = ConvertUtil.ipToLong(concatUseValue); } issueCustomFieldValueCondition.setUseValue(String.valueOf(ipValue)); - // �븯�쐞�씠�뒋議곌굔�쓽 ���엯�씠 IP�씪 寃쎌슦 媛숈� �뾽泥댁젙蹂댁씤 �씠�뒋 李얘린 - results = this.issueMapper.findByCustomFieldValueOfIp(issueCustomFieldValueCondition); + } + + if (issueCustomFieldValueCondition.getCustomFieldType() != null && !issueCustomFieldValueCondition.getCustomFieldType().equals("")) { + // �궗�슜�옄�젙�쓽�븘�뱶 ���엯�씠 IP_ADDRESS �삉�뒗 SITE �씪 寃쎌슦 + results = this.issueMapper.findByCustomFieldValueByCompany(issueCustomFieldValueCondition); } else { results = this.issueMapper.findByCustomFieldValue(issueCustomFieldValueCondition); } diff --git a/src/main/resources/mybatis/query-template/issue-template.xml b/src/main/resources/mybatis/query-template/issue-template.xml index ac15754..b48ea17 100644 --- a/src/main/resources/mybatis/query-template/issue-template.xml +++ b/src/main/resources/mybatis/query-template/issue-template.xml @@ -817,26 +817,26 @@ HAVING concatUseValue LIKE CONCAT('%', #{useValue}, '%') </select> - <!-- �듅�젙 �궗�슜�옄 �젙�쓽 �븘�뱶 IP 媛믪씠 �뾽泥댁� �룞�씪�븳 �씠�뒋瑜� 議고쉶 --> - <select id="findByCustomFieldValueOfIp" resultType="java.util.HashMap" parameterType="kr.wisestone.owl.web.condition.IssueCustomFieldValueCondition"> + <!-- IP/SITE �궗�슜�옄 �젙�쓽 �븘�뱶 媛믪씠 �뾽泥댁� �룞�씪�븳 �씠�뒋瑜� 議고쉶 --> + <select id="findByCustomFieldValueByCompany" resultType="java.util.HashMap" parameterType="kr.wisestone.owl.web.condition.IssueCustomFieldValueCondition"> SELECT - issue.id as id, - issue.title as title, - customFieldValue.customFieldType AS customFieldType, - GROUP_CONCAT(customFieldValue.useValue ORDER BY customFieldValue.customFieldId ASC) AS concatUseValue + issue.id as id, + issue.title as title, + customFieldValue.customFieldType AS customFieldType, + GROUP_CONCAT(customFieldValue.useValue ORDER BY customFieldValue.customFieldId ASC) AS concatUseValue FROM issue issue FORCE INDEX(reverseIndex) INNER JOIN issue_status as issStatus ON issue.issue_status_id = issStatus.id - LEFT OUTER JOIN ( - SELECT cf.id AS customFieldId, cf.custom_field_type AS customFieldType, issue_custom.use_value AS useValue, issue_custom.issue_id AS issueId - FROM issue_custom_field_value issue_custom - INNER JOIN custom_field cf ON cf.id = issue_custom.custom_field_id - ) customFieldValue ON customFieldValue.issueId = issue.id - INNER JOIN issue_company issc ON issc.issue_id = issue.id + LEFT OUTER JOIN ( + SELECT cf.id AS customFieldId, cf.custom_field_type AS customFieldType, issue_custom.use_value AS useValue, issue_custom.issue_id AS issueId + FROM issue_custom_field_value issue_custom + INNER JOIN custom_field cf ON cf.id = issue_custom.custom_field_id + ) customFieldValue ON customFieldValue.issueId = issue.id + LEFT OUTER JOIN issue_company issc ON issc.issue_id = issue.id WHERE issue.issue_type_id = #{issueTypeId} - <if test="customFieldType != '' and customFieldType != null"> - AND customFieldValue.customFieldType = #{customFieldType} + <if test="customFieldType != null and customFieldType.equals('SITE')"> + AND issc.url LIKE CONCAT('%',#{useValue},'%') </if> - <if test="useValue != '' and useValue != null"> + <if test="customFieldType != null and customFieldType.equals('IP_ADDRESS')"> AND INET_ATON(issc.ip_start) <![CDATA[ <= ]]> #{useValue} AND INET_ATON(issc.ip_end) >= #{useValue} </if> <choose> @@ -846,7 +846,6 @@ </choose> GROUP BY issue.id </select> - <!-- 醫낅즺 �븞�맂 �븯�쐞 �씠�뒋 媛��졇�삤湲� --> <select id="findNotCompleteByParentIssueId" resultType="java.util.HashMap" parameterType="kr.wisestone.owl.web.condition.IssueCondition"> diff --git a/src/main/webapp/views/issue/issueDetail.html b/src/main/webapp/views/issue/issueDetail.html index 9b71d71..3a9aad2 100644 --- a/src/main/webapp/views/issue/issueDetail.html +++ b/src/main/webapp/views/issue/issueDetail.html @@ -346,7 +346,9 @@ <div class="form-group"> <div class=""> <span translate="companyField.ipRange">IP ���뿭��</span>: - <span>{{vm.viewer.issueCompanyVos[0].ipStart}} ~ {{vm.viewer.issueCompanyVos[0].ipEnd}}</span> + <span ng-if="vm.viewer.issueCompanyVos[0].ipStart != null && vm.viewer.issueCompanyVos[0].ipStart != ''"> + {{vm.viewer.issueCompanyVos[0].ipStart}} ~ {{vm.viewer.issueCompanyVos[0].ipEnd}} + </span> </div> </div> </div> -- Gitblit v1.8.0