From 39b3723acfbe0825ce13056ab5db6e5952674bc0 Mon Sep 17 00:00:00 2001 From: 이민희 <mhlee@maprex.co.kr> Date: 금, 10 12월 2021 19:18:28 +0900 Subject: [PATCH] 업체추가 오류 수정 --- src/main/java/kr/wisestone/owl/service/impl/CompanyFieldServiceImpl.java | 70 +++++++++++++++++++++++++++++++---- 1 files changed, 62 insertions(+), 8 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..67037b3 100644 --- a/src/main/java/kr/wisestone/owl/service/impl/CompanyFieldServiceImpl.java +++ b/src/main/java/kr/wisestone/owl/service/impl/CompanyFieldServiceImpl.java @@ -2,10 +2,15 @@ import kr.wisestone.owl.domain.CompanyField; import kr.wisestone.owl.domain.CustomField; -import kr.wisestone.owl.service.UserService; +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.*; import kr.wisestone.owl.web.condition.CompanyFieldCondition; import kr.wisestone.owl.web.form.CompanyFieldForm; import org.apache.commons.lang3.StringUtils; +import org.springframework.transaction.annotation.Transactional; import org.springframework.ui.Model; import com.google.common.collect.Lists; import kr.wisestone.owl.common.ExcelConditionCheck; @@ -14,8 +19,6 @@ import kr.wisestone.owl.exception.OwlRuntimeException; import kr.wisestone.owl.mapper.CompanyFieldMapper; import kr.wisestone.owl.repository.CompanyFieldRepository; -import kr.wisestone.owl.service.CompanyFieldService; -import kr.wisestone.owl.service.WorkspaceService; import kr.wisestone.owl.util.ConvertUtil; import kr.wisestone.owl.vo.*; import kr.wisestone.owl.web.view.ExcelView; @@ -29,6 +32,7 @@ import java.util.HashMap; import java.util.List; import java.util.Map; +import java.util.Optional; @Service public class CompanyFieldServiceImpl extends AbstractServiceImpl<CompanyField, Long, JpaRepository<CompanyField, Long>> implements CompanyFieldService { @@ -38,6 +42,18 @@ @Autowired private CompanyFieldMapper companyFieldMapper; + + @Autowired + private IspFieldRepository ispFieldRepository; + + @Autowired + private HostingFieldRepository hostingFieldRepository; + + @Autowired + private IspFieldService ispFieldService; + + @Autowired + private HostingFieldService hostingFieldService; @Autowired private UserService userService; @@ -60,7 +76,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 +84,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,16 +116,32 @@ return this.convertCompanyVoToMap(results, totalCompanyCount, pageable, resJsonData); } - // �뾽泥� �긽�꽭 議고쉶�븳�떎. @Override + @Transactional public void detailCompany(Map<String, Object> resJsonData, CompanyFieldCondition companyFieldCondition) { CompanyFieldVo companyFieldVo = new CompanyFieldVo(); + IspFieldVo ispFieldVo = new IspFieldVo(); + HostingFieldVo hostingFieldVo = new HostingFieldVo(); + + IspField ispField = new IspField(); + HostingField hostingField = new HostingField(); Long companyId = companyFieldCondition.getId(); if (companyId != null) { CompanyField companyField = this.getCompany(companyId); + if(companyField.getIspId() != null){ + ispField = this.ispFieldRepository.getOne(companyField.getIspId()); + } + if(companyField.getHostingId() != null){ + hostingField = this.hostingFieldRepository.getOne(companyField.getHostingId()); + } companyFieldVo = ConvertUtil.copyProperties(companyField, CompanyFieldVo.class); + ispFieldVo = ConvertUtil.copyProperties(ispField, IspFieldVo.class); + hostingFieldVo = ConvertUtil.copyProperties(hostingField, HostingFieldVo.class); + + companyFieldVo.setIspFieldVo(ispFieldVo); + companyFieldVo.setHostingFieldVo(hostingFieldVo); } resJsonData.put(Constants.REQ_KEY_CONTENT, companyFieldVo); } @@ -112,7 +150,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); @@ -173,6 +211,22 @@ for (Map<String, Object> result : results) { CompanyFieldVo companyFieldVo = ConvertUtil.convertMapToClass(result, CompanyFieldVo.class); + if(companyFieldVo.getIspId() != null && companyFieldVo.getIspId() != -1){ + //IspField ispField = this.ispFieldRepository.getOne(companyFieldVo.getIspId()); + IspField ispField = this.ispFieldService.getIsp(companyFieldVo.getIspId()); + if(ispField != null){ + IspFieldVo ispFieldVo = ConvertUtil.copyProperties(ispField, IspFieldVo.class); + companyFieldVo.setIspFieldVo(ispFieldVo); + } + } + if(companyFieldVo.getHostingId() != null && companyFieldVo.getIspId() != -1){ + //HostingField hostingField = this.hostingFieldRepository.getOne(companyFieldVo.getHostingId()); + HostingField hostingField = this.hostingFieldService.getHosting(companyFieldVo.getHostingId()); + if(hostingField != null){ + HostingFieldVo hostingFieldVo = ConvertUtil.copyProperties(hostingField, HostingFieldVo.class); + companyFieldVo.setHostingFieldVo(hostingFieldVo); + } + } companyFieldVos.add(companyFieldVo); } -- Gitblit v1.8.0