From e95d6811a018fd5cf18ed70f17a1f461c8010225 Mon Sep 17 00:00:00 2001 From: wyu <kknd09321@nate.com> Date: 목, 09 12월 2021 16:07:20 +0900 Subject: [PATCH] 완료 이슈 숨기기 기능 수정 --- src/main/java/kr/wisestone/owl/service/impl/CompanyFieldServiceImpl.java | 58 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 57 insertions(+), 1 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 21e6d45..f777fde 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,15 @@ 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.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; +import org.apache.commons.lang3.StringUtils; import org.springframework.ui.Model; import com.google.common.collect.Lists; import kr.wisestone.owl.common.ExcelConditionCheck; @@ -38,6 +44,12 @@ private CompanyFieldMapper companyFieldMapper; @Autowired + private IspFieldRepository ispFieldRepository; + + @Autowired + private HostingFieldRepository hostingFieldRepository; + + @Autowired private UserService userService; @Autowired @@ -57,9 +69,32 @@ // �뾽泥� 異붽� @Override public CompanyField addCompany(CompanyFieldForm companyFieldForm) { + // url �쑀�슚�꽦 泥댄겕 + this.verifyUrl(companyFieldForm.getUrl(), null); + CompanyField companyField = ConvertUtil.copyProperties(companyFieldForm, CompanyField.class); companyFieldRepository.saveAndFlush(companyField); return companyField; + } + + // url �쑀�슚�꽦 泥댄겕 + private void verifyUrl(String url, Long id) { + if (StringUtils.isEmpty(url)) { + throw new OwlRuntimeException( + this.messageAccessor.getMessage(MsgConstants.COMPANYFIELD_NOT_URL)); + } + CompanyField companyField; + + if(id == null){ + companyField = this.companyFieldRepository.findByUrl(url); + } else { + companyField = this.companyFieldRepository.findByUrlAndIdNot(url,id); + } + + if (companyField != null) { + throw new OwlRuntimeException( + this.messageAccessor.getMessage(MsgConstants.COMPANYFIELD_USED_URL)); + } } // �뾽泥� 紐⑸줉�쓣 媛��졇�삩�떎. @@ -74,7 +109,6 @@ return this.convertCompanyVoToMap(results, totalCompanyCount, pageable, resJsonData); } - // �뾽泥� �긽�꽭 議고쉶�븳�떎. @Override @@ -92,6 +126,9 @@ // �뾽泥� �젙濡쒕�� �닔�젙�븳�떎. @Override public void modifyCompany(CompanyFieldForm companyFieldForm) { + // url �쑀�슚�꽦 泥댄겕 + this.verifyUrl(companyFieldForm.getUrl(), companyFieldForm.getId()); + CompanyField companyField = ConvertUtil.copyProperties(companyFieldForm, CompanyField.class); companyFieldRepository.saveAndFlush(companyField); } @@ -148,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); + if(ispField != null){ + IspFieldVo ispFieldVo = ConvertUtil.copyProperties(ispField, IspFieldVo.class); + ispFieldVos.add(ispFieldVo); + } + companyFieldVo.setIspFieldVos(ispFieldVos); + + HostingField hostingField = this.hostingFieldRepository.findByUrl(url); + if(hostingField != null){ + HostingFieldVo hostingFieldVo = ConvertUtil.copyProperties(hostingField, HostingFieldVo.class); + hostingFieldVos.add(hostingFieldVo); + } + companyFieldVo.setHostingFieldVos(hostingFieldVos); + companyFieldVos.add(companyFieldVo); } -- Gitblit v1.8.0