From 1fac1465cdef9f3b4573edf1869af120c5cbee79 Mon Sep 17 00:00:00 2001 From: 이민희 <mhlee@maprex.co.kr> Date: 수, 15 12월 2021 15:27:07 +0900 Subject: [PATCH] api 이슈 추가시 업체/isp/호스팅에 해당 도메인이 포함되면 해당 업체 자동 입력 --- src/main/java/kr/wisestone/owl/service/impl/IssueServiceImpl.java | 56 ++++++++++++++++++++++++++++ src/main/resources/mybatis/query-template/IspField-template.xml | 15 +++++++ src/main/java/kr/wisestone/owl/service/impl/IspFieldServiceImpl.java | 4 ++ src/main/resources/mybatis/query-template/HostingField-template.xml | 15 +++++++ src/main/java/kr/wisestone/owl/mapper/HostingFieldMapper.java | 2 src/main/java/kr/wisestone/owl/service/HostingFieldService.java | 2 + src/main/java/kr/wisestone/owl/service/CompanyFieldService.java | 2 + src/main/java/kr/wisestone/owl/service/impl/CompanyFieldServiceImpl.java | 9 ++-- src/main/java/kr/wisestone/owl/web/form/IssueForm.java | 1 src/main/java/kr/wisestone/owl/mapper/IspFieldMapper.java | 2 src/main/java/kr/wisestone/owl/service/impl/HostingFieldServiceImpl.java | 3 + src/main/java/kr/wisestone/owl/service/IspFieldService.java | 2 + 12 files changed, 107 insertions(+), 6 deletions(-) diff --git a/src/main/java/kr/wisestone/owl/mapper/HostingFieldMapper.java b/src/main/java/kr/wisestone/owl/mapper/HostingFieldMapper.java index e9afb76..a6f90a0 100644 --- a/src/main/java/kr/wisestone/owl/mapper/HostingFieldMapper.java +++ b/src/main/java/kr/wisestone/owl/mapper/HostingFieldMapper.java @@ -17,5 +17,5 @@ List<Map<String, Object>> findEvent(); - Long findByHosting(Long id); + Map<String, Object> findById(Long id); } diff --git a/src/main/java/kr/wisestone/owl/mapper/IspFieldMapper.java b/src/main/java/kr/wisestone/owl/mapper/IspFieldMapper.java index dbede2d..3f2f406 100644 --- a/src/main/java/kr/wisestone/owl/mapper/IspFieldMapper.java +++ b/src/main/java/kr/wisestone/owl/mapper/IspFieldMapper.java @@ -17,5 +17,5 @@ List<Map<String, Object>> findEvent(); - Long findByIsp(Long id); + Map<String, Object> findById(Long id); } diff --git a/src/main/java/kr/wisestone/owl/service/CompanyFieldService.java b/src/main/java/kr/wisestone/owl/service/CompanyFieldService.java index 99c35b7..7066067 100644 --- a/src/main/java/kr/wisestone/owl/service/CompanyFieldService.java +++ b/src/main/java/kr/wisestone/owl/service/CompanyFieldService.java @@ -17,6 +17,8 @@ List<CompanyFieldVo> findCompany(Map<String, Object> resJsonData, CompanyFieldCondition make, Pageable pageable); + List<Map<String, Object>> find(CompanyFieldCondition condition); + CompanyField getCompany(Long id); void detailCompany(Map<String, Object> resJsonData, CompanyFieldCondition make); diff --git a/src/main/java/kr/wisestone/owl/service/HostingFieldService.java b/src/main/java/kr/wisestone/owl/service/HostingFieldService.java index e1ddbec..666bc86 100644 --- a/src/main/java/kr/wisestone/owl/service/HostingFieldService.java +++ b/src/main/java/kr/wisestone/owl/service/HostingFieldService.java @@ -17,6 +17,8 @@ List<HostingFieldVo> find(Map<String, Object> resJsonData, HostingFieldCondition make, Pageable pageable); + Map<String, Object> find(Long id); + HostingField getHosting(Long id); void detail(Map<String, Object> resJsonData, HostingFieldCondition make); diff --git a/src/main/java/kr/wisestone/owl/service/IspFieldService.java b/src/main/java/kr/wisestone/owl/service/IspFieldService.java index 9278825..ab5dcbf 100644 --- a/src/main/java/kr/wisestone/owl/service/IspFieldService.java +++ b/src/main/java/kr/wisestone/owl/service/IspFieldService.java @@ -17,6 +17,8 @@ List<IspFieldVo> find(Map<String, Object> resJsonData, IspFieldCondition make, Pageable pageable); + Map<String, Object> find(Long id); + IspField getIsp(Long id); void detail(Map<String, Object> resJsonData, IspFieldCondition make); diff --git a/src/main/java/kr/wisestone/owl/service/impl/CompanyFieldServiceImpl.java b/src/main/java/kr/wisestone/owl/service/impl/CompanyFieldServiceImpl.java index ed1783e..8a39129 100644 --- a/src/main/java/kr/wisestone/owl/service/impl/CompanyFieldServiceImpl.java +++ b/src/main/java/kr/wisestone/owl/service/impl/CompanyFieldServiceImpl.java @@ -1,9 +1,6 @@ package kr.wisestone.owl.service.impl; -import kr.wisestone.owl.domain.CompanyField; -import kr.wisestone.owl.domain.CustomField; -import kr.wisestone.owl.domain.HostingField; -import kr.wisestone.owl.domain.IspField; +import kr.wisestone.owl.domain.*; import kr.wisestone.owl.repository.HostingFieldRepository; import kr.wisestone.owl.repository.IspFieldRepository; import kr.wisestone.owl.service.*; @@ -116,6 +113,10 @@ return this.convertCompanyVoToMap(results, totalCompanyCount, pageable, resJsonData); } + public List<Map<String, Object>> find(CompanyFieldCondition condition) { + return this.companyFieldMapper.find(condition); + } + // �뾽泥� �긽�꽭 議고쉶�븳�떎. @Override @Transactional diff --git a/src/main/java/kr/wisestone/owl/service/impl/HostingFieldServiceImpl.java b/src/main/java/kr/wisestone/owl/service/impl/HostingFieldServiceImpl.java index 44d32d4..26f8d67 100644 --- a/src/main/java/kr/wisestone/owl/service/impl/HostingFieldServiceImpl.java +++ b/src/main/java/kr/wisestone/owl/service/impl/HostingFieldServiceImpl.java @@ -76,6 +76,9 @@ return this.convertHostingVoToMap(results, totalHostingCount, pageable, resJsonData); } + public Map<String, Object> find(Long id) { + return this.hostingFieldMapper.findById(id); + } // Hosting �긽�꽭 議고쉶�븳�떎. @Override diff --git a/src/main/java/kr/wisestone/owl/service/impl/IspFieldServiceImpl.java b/src/main/java/kr/wisestone/owl/service/impl/IspFieldServiceImpl.java index 785fb73..2893698 100644 --- a/src/main/java/kr/wisestone/owl/service/impl/IspFieldServiceImpl.java +++ b/src/main/java/kr/wisestone/owl/service/impl/IspFieldServiceImpl.java @@ -76,6 +76,10 @@ return this.convertIspVoToMap(results, totalIspCount, pageable, resJsonData); } + public Map<String, Object> find(Long id) { + return this.ispFieldMapper.findById(id); + } + // Isp �긽�꽭 議고쉶�븳�떎. @Override public void detail(Map<String, Object> resJsonData, IspFieldCondition ispFieldCondition) { 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 c2d6601..d259bbe 100644 --- a/src/main/java/kr/wisestone/owl/service/impl/IssueServiceImpl.java +++ b/src/main/java/kr/wisestone/owl/service/impl/IssueServiceImpl.java @@ -82,6 +82,15 @@ private ApiTokenService apiTokenService; @Autowired + private CompanyFieldService companyFieldService; + + @Autowired + private IspFieldService ispFieldService; + + @Autowired + private HostingFieldService hostingFieldService; + + @Autowired private CommonConfiguration configuration; @Autowired @@ -282,6 +291,8 @@ // �궗�슜�옄 �젙�쓽 �븘�뱶 �꽕�젙 issueForm.setIssueCustomFields(issueApiForm.getCustomFieldValues()); + // 媛숈� �룄硫붿씤 �뾽泥� 李얘린 + this.findCompanyField(issueForm); // api �엯�젰媛� �쟻�슜 ConvertUtil.copyProperties(issueApiForm, issueForm); @@ -293,6 +304,51 @@ } } + private void findCompanyField(IssueForm issueForm) { + if(issueForm.getIssueCustomFields() != null && issueForm.getIssueCustomFields().size() > 0) { + CompanyFieldCondition condition = new CompanyFieldCondition(); + List<Map<String, Object>> companyFields = this.companyFieldService.find(condition); + List<Map<String, Object>> issueCompanyFields = Lists.newArrayList(); + List<Map<String, Object>> issueIspFields = Lists.newArrayList(); + List<Map<String, Object>> issueHostingFields = Lists.newArrayList(); + + for (Map<String, Object> issueCustomField : issueForm.getIssueCustomFields()) { + int customFieldId = (Integer) issueCustomField.get("customFieldId"); + Long customId = (long) customFieldId; + CustomField customField = this.customFieldService.getCustomField(customId); + if(customField != null && customField.getCustomFieldType().toString().equals("SITE") && customField.getName().equals("�룄硫붿씤")) { + String useValue = issueCustomField.get("useValue").toString(); + if(companyFields != null && companyFields.size() > 0) { + for (Map<String, Object> companyField : companyFields) { + CompanyFieldVo companyFieldVo = ConvertUtil.convertMapToClass(companyField, CompanyFieldVo.class); + if(useValue.equals(companyFieldVo.getUrl())) { + companyField.put("companyId", companyField.get("id")); + issueCompanyFields.add(companyField); + if(companyFieldVo.getIspId() != null) { + Map<String, Object> ispField = this.ispFieldService.find(companyFieldVo.getIspId()); + if (ispField != null) { + ispField.put("ispId", ispField.get("id")); + issueIspFields.add(ispField); + } + } + if(companyFieldVo.getHostingId() != null) { + Map<String, Object> hostingField = this.hostingFieldService.find(companyFieldVo.getHostingId()); + if (hostingField != null) { + hostingField.put("hostingId", hostingField.get("id")); + issueHostingFields.add(hostingField); + } + } + } + } + } + } + issueForm.setIssueCompanyFields(issueCompanyFields); + issueForm.setIssueIspFields(issueIspFields); + issueForm.setIssueHostingFields(issueHostingFields); + } + } + } + private User convertToUser(String token) { // �넗�겙�쑝濡� �쑀�� �젙蹂� 媛��졇�삤湲� UserVo userVo = this.apiTokenService.certification(token); diff --git a/src/main/java/kr/wisestone/owl/web/form/IssueForm.java b/src/main/java/kr/wisestone/owl/web/form/IssueForm.java index f5f185d..0d795cd 100644 --- a/src/main/java/kr/wisestone/owl/web/form/IssueForm.java +++ b/src/main/java/kr/wisestone/owl/web/form/IssueForm.java @@ -3,6 +3,7 @@ import com.google.common.collect.Lists; import kr.wisestone.owl.util.ConvertUtil; import kr.wisestone.owl.util.MapUtil; +import kr.wisestone.owl.vo.CompanyFieldVo; import java.util.List; import java.util.Map; diff --git a/src/main/resources/mybatis/query-template/HostingField-template.xml b/src/main/resources/mybatis/query-template/HostingField-template.xml index 34f29db..4a14e27 100644 --- a/src/main/resources/mybatis/query-template/HostingField-template.xml +++ b/src/main/resources/mybatis/query-template/HostingField-template.xml @@ -40,4 +40,19 @@ AND h.id like CONCAT('%',#{id},'%') </if> </select> + + <select id="findById" resultType="java.util.HashMap" parameterType="java.lang.Long"> + SELECT + h.id as id, + h.code as code, + h.name as name, + h.manager as manager, + h.tel as tel, + h.email as email, + h.url as url, + h.memo as memo + FROM + hosting_field h + WHERE h.id = ${id} + </select> </mapper> \ No newline at end of file diff --git a/src/main/resources/mybatis/query-template/IspField-template.xml b/src/main/resources/mybatis/query-template/IspField-template.xml index 11685ce..37afa9e 100644 --- a/src/main/resources/mybatis/query-template/IspField-template.xml +++ b/src/main/resources/mybatis/query-template/IspField-template.xml @@ -40,4 +40,19 @@ AND i.id like CONCAT('%',#{id},'%') </if> </select> + + <select id="findById" resultType="java.util.HashMap" parameterType="java.lang.Long"> + SELECT + i.id as id, + i.code as code, + i.name as name, + i.manager as manager, + i.tel as tel, + i.email as email, + i.url as url, + i.memo as memo + FROM + isp_field i + WHERE i.id = ${id} + </select> </mapper> \ No newline at end of file -- Gitblit v1.8.0