From e2d65771ee3acc23b1ae09bc3d9c280844d54c8e Mon Sep 17 00:00:00 2001
From: 이민희 <mhlee@maprex.co.kr>
Date: 목, 09 12월 2021 10:47:49 +0900
Subject: [PATCH] 업체 기준 ISP/호스팅 연동 진행중 - ISP,호스팅 이름은 autoComplete 형태라 못 불러오는 문제 있음

---
 src/main/java/kr/wisestone/owl/service/impl/CompanyFieldServiceImpl.java |   44 +++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 39 insertions(+), 5 deletions(-)

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 06d7e86..383e006 100644
--- a/src/main/java/kr/wisestone/owl/service/impl/CompanyFieldServiceImpl.java
+++ b/src/main/java/kr/wisestone/owl/service/impl/CompanyFieldServiceImpl.java
@@ -2,6 +2,10 @@
 
 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.repository.HostingFieldRepository;
+import kr.wisestone.owl.repository.IspFieldRepository;
 import kr.wisestone.owl.service.UserService;
 import kr.wisestone.owl.web.condition.CompanyFieldCondition;
 import kr.wisestone.owl.web.form.CompanyFieldForm;
@@ -40,6 +44,12 @@
     private CompanyFieldMapper companyFieldMapper;
 
     @Autowired
+    private IspFieldRepository ispFieldRepository;
+
+    @Autowired
+    private HostingFieldRepository hostingFieldRepository;
+
+    @Autowired
     private UserService userService;
 
     @Autowired
@@ -60,7 +70,7 @@
     @Override
     public CompanyField addCompany(CompanyFieldForm companyFieldForm) {
         //  url �쑀�슚�꽦 泥댄겕
-        this.verifyUrl(companyFieldForm.getUrl());
+        this.verifyUrl(companyFieldForm.getUrl(), null);
 
         CompanyField companyField = ConvertUtil.copyProperties(companyFieldForm, CompanyField.class);
         companyFieldRepository.saveAndFlush(companyField);
@@ -68,12 +78,18 @@
     }
 
     //  url �쑀�슚�꽦 泥댄겕
-    private void verifyUrl(String url) {
+    private void verifyUrl(String url, Long id) {
         if (StringUtils.isEmpty(url)) {
             throw new OwlRuntimeException(
                     this.messageAccessor.getMessage(MsgConstants.COMPANYFIELD_NOT_URL));
         }
-        CompanyField companyField = this.companyFieldRepository.findByUrl(url);
+        CompanyField companyField;
+
+        if(id == null){
+            companyField = this.companyFieldRepository.findByUrl(url);
+        } else {
+            companyField = this.companyFieldRepository.findByUrlAndIdNot(url,id);
+        }
 
         if (companyField != null) {
             throw new OwlRuntimeException(
@@ -94,7 +110,6 @@
         return this.convertCompanyVoToMap(results, totalCompanyCount, pageable, resJsonData);
     }
 
-
     // �뾽泥� �긽�꽭 議고쉶�븳�떎.
     @Override
     public void detailCompany(Map<String, Object> resJsonData, CompanyFieldCondition companyFieldCondition) {
@@ -112,7 +127,7 @@
     @Override
     public void modifyCompany(CompanyFieldForm companyFieldForm) {
         //  url �쑀�슚�꽦 泥댄겕
-        this.verifyUrl(companyFieldForm.getUrl());
+        this.verifyUrl(companyFieldForm.getUrl(), companyFieldForm.getId());
 
         CompanyField companyField = ConvertUtil.copyProperties(companyFieldForm, CompanyField.class);
         companyFieldRepository.saveAndFlush(companyField);
@@ -170,9 +185,28 @@
     //  寃��깋 寃곌낵瑜� CompanyFieldVo 濡� 蹂��솚�븳�떎.
     private List<CompanyFieldVo> convertCompanyVoToMap(List<Map<String, Object>> results, Long totalCompanyCount, Pageable pageable, Map<String, Object> resJsonData) {
         List<CompanyFieldVo> companyFieldVos = Lists.newArrayList();
+        List<IspFieldVo> ispFieldVos = Lists.newArrayList();
+        List<HostingFieldVo> hostingFieldVos = Lists.newArrayList();
 
         for (Map<String, Object> result : results) {
             CompanyFieldVo companyFieldVo = ConvertUtil.convertMapToClass(result, CompanyFieldVo.class);
+
+            String url = companyFieldVo.getUrl();
+
+            IspField ispField = this.ispFieldRepository.findByUrl(url);
+            IspFieldVo ispFieldVo = ConvertUtil.copyProperties(ispField, IspFieldVo.class);
+            if(ispFieldVo != null){
+                ispFieldVos.add(ispFieldVo);
+            }
+            companyFieldVo.setIspFieldVos(ispFieldVos);
+
+            HostingField hostingField = this.hostingFieldRepository.findByUrl(url);
+            HostingFieldVo hostingFieldVo = ConvertUtil.copyProperties(hostingField, HostingFieldVo.class);
+            if(hostingFieldVo != null){
+                hostingFieldVos.add(hostingFieldVo);
+            }
+            companyFieldVo.setHostingFieldVos(hostingFieldVos);
+
             companyFieldVos.add(companyFieldVo);
         }
 

--
Gitblit v1.8.0