From 398a4927e195755bd6a46be99337efd8dacc3dc2 Mon Sep 17 00:00:00 2001 From: 박지현 <jhpark@maprex.co.kr> Date: 월, 07 3월 2022 18:08:13 +0900 Subject: [PATCH] Merge branch 'master' of http://maprex.iptime.org:9001/r/owl-kisa --- src/main/java/kr/wisestone/owl/service/impl/CompanyFieldServiceImpl.java | 114 +++++++++++++++++++++++++++++++++++++++++++++++++------- 1 files changed, 99 insertions(+), 15 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 6f5da98..9b50065 100644 --- a/src/main/java/kr/wisestone/owl/service/impl/CompanyFieldServiceImpl.java +++ b/src/main/java/kr/wisestone/owl/service/impl/CompanyFieldServiceImpl.java @@ -84,6 +84,11 @@ // �뾽泥대챸 以묐났 泥댄겕 this.verifyTitle(companyFieldForm.getName(), null); + if (companyFieldForm.getIpStart() != null && companyFieldForm.getIpEnd() != null) { + // �븘�씠�뵾 �쑀�슚�꽦 泥댄겕 + this.verifyIp(companyFieldForm.getIpStart(), companyFieldForm.getIpEnd()); + } + if (companyFieldForm.getUrl() != null) { // url �쑀�슚�꽦 泥댄겕 this.verifyUrl(companyFieldForm.getUrl(), null); @@ -110,6 +115,29 @@ return companyField; } + /** + * IP �쑀�슚�꽦 泥댄겕 + * @param ip String + */ + private void verifyIp(String ip, String ip2) { + if (ip2 == null) { + if (!StringUtils.isEmpty(ip)) { + if (!Pattern.matches("^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\" + + ".(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$", ip)) { + throw new OwlRuntimeException(this.messageAccessor.getMessage(MsgConstants.IP_NOT_INVALID)); + } + } + } else { + if (!StringUtils.isEmpty(ip)) { + long ipStart = ConvertUtil.ipToLong(ip); + long ipEnd = ConvertUtil.ipToLong(ip2); + if (ipEnd < ipStart) { + throw new OwlRuntimeException(this.messageAccessor.getMessage(MsgConstants.IP_START_NOT_LARGER_THAN_END)); + } + } + } + } + // url �쑀�슚�꽦 泥댄겕 private void verifyUrl(String url, Long id) { /*if (StringUtils.isEmpty(url)) { @@ -117,14 +145,33 @@ this.messageAccessor.getMessage(MsgConstants.COMPANY_NOT_URL)); }*/ if (!StringUtils.isEmpty(url)) { - CompanyField companyField; - if(id == null){ - companyField = this.companyFieldRepository.findByUrl(url); + List<CompanyField> companyFieldList = Lists.newArrayList(); + CompanyFieldCondition condition = new CompanyFieldCondition(); + String[] urlArr = null; + List<String> urls = Lists.newArrayList(); + + if (url.contains(" ")) { + url = url.replace(" ",""); + } + if (url.contains(",")) { + urlArr = url.split(","); + urls.addAll(Arrays.asList(urlArr)); } else { - companyField = this.companyFieldRepository.findByUrlAndIdNot(url,id); + urls.add(url); } - if (companyField != null) { + if (urls.size() > 0) { + condition.setUrl(urls); + + if(id == null){ + companyFieldList = this.companyFieldMapper.findByUrls(condition); + } else { + condition.setId(id); + companyFieldList = this.companyFieldMapper.findByUrlsAndIdNot(condition); + } + } + + if (companyFieldList != null && companyFieldList.size() > 0) { throw new OwlRuntimeException( this.messageAccessor.getMessage(MsgConstants.COMPANY_USED_URL)); } @@ -286,6 +333,8 @@ excelInfo.setFileName(this.messageAccessor.message("common.registerExcelCompanyField")); // �뿊��濡� �뾽泥� �벑濡앺븯湲� excelInfo.addAttrInfos(new ExportExcelAttrVo("id", this.messageAccessor.message("companyField.companyName"), 20, ExportExcelAttrVo.ALIGN_CENTER)); // �뾽泥대챸 excelInfo.addAttrInfos(new ExportExcelAttrVo("id", this.messageAccessor.message("companyField.companyUrl"), 10, ExportExcelAttrVo.ALIGN_CENTER)); // url + excelInfo.addAttrInfos(new ExportExcelAttrVo("id", this.messageAccessor.message("companyField.companyIpStart"), 10, ExportExcelAttrVo.ALIGN_CENTER)); // ip �떆�옉 二쇱냼 + excelInfo.addAttrInfos(new ExportExcelAttrVo("id", this.messageAccessor.message("companyField.companyIpEnd"), 10, ExportExcelAttrVo.ALIGN_CENTER)); // ip 醫낅즺 二쇱냼 excelInfo.addAttrInfos(new ExportExcelAttrVo("id", this.messageAccessor.message("isp.ispName"), 20, ExportExcelAttrVo.ALIGN_CENTER)); // isp紐� excelInfo.addAttrInfos(new ExportExcelAttrVo("id", this.messageAccessor.message("Hosting.HostingName"), 20, ExportExcelAttrVo.ALIGN_CENTER)); // �샇�뒪�똿紐� excelInfo.addAttrInfos(new ExportExcelAttrVo("id", this.messageAccessor.message("companyField.companyTel"), 10, ExportExcelAttrVo.ALIGN_CENTER)); // �뿰�씫泥� @@ -422,6 +471,8 @@ if (rowIndex > 1) { // �뾽泥대줈 �벑濡앺븯湲� �쐞�빐 CompanyFieldForm �뿉 �뜲�씠�꽣瑜� �뀑�똿�븳�떎. CompanyFieldForm newCompanyFieldForm = this.setCompanyFieldFormToExcelField(row, (rowIndex + 1), ispFieldMaps, hostingFieldMaps, companyTypeMaps, parentSectorMaps, childSectorMaps, regionMaps, statusMaps, headers); + // ip �쑀�슚�꽦 泥댄겕 + this.verifyIp(newCompanyFieldForm.getIpStart(), newCompanyFieldForm.getIpEnd()); companyFieldForms.add(newCompanyFieldForm); } @@ -526,63 +577,95 @@ break; case 2: + // ip�떆�옉二쇱냼 + this.setCompanyFormIpStart(cellStr, companyFieldForm, isNull); + break; + + case 3: + // ip醫낅즺二쇱냼 + this.setCompanyFormIpEnd(cellStr, companyFieldForm, isNull); + break; + + case 4: // isp紐� this.setCompanyFormIspName(cellStr, ispFieldMaps, companyFieldForm, rowIndex, isNull); break; - case 3: + case 5: // �샇�뒪�똿紐� this.setCompanyFormHostingName(cellStr, hostingFieldMaps, companyFieldForm, rowIndex, isNull); break; - case 4: + case 6: // �뿰�씫泥� telTypeCheck(cell, rowIndex); this.setCompanyFormTel(cellStr, companyFieldForm, isNull); break; - case 5: + case 7: // �씠硫붿씪 this.setCompanyFormEmail(cellStr, companyFieldForm, isNull); break; - case 6: + case 8: // �떞�떦�옄 this.setCompanyFormManager(cellStr, companyFieldForm, isNull); break; - case 7: + case 9: // 湲곗뾽援щ텇 this.setCompanyFormCompanyType(cellStr, companyTypeMaps, companyFieldForm, rowIndex, isNull); break; - case 8: + case 10: // �뾽醫�(��遺꾨쪟) this.setCompanyFormParentSector(cellStr, parentSectorMaps, companyFieldForm, rowIndex, isNull); break; - case 9: + case 11: // �뾽醫�(以묐텇瑜�) this.setCompanyFormChildSector(cellStr, childSectorMaps, companyFieldForm, rowIndex, isNull); break; - case 10: + case 12: // 吏��뿭 this.setCompanyFormRegion(cellStr, regionMaps, companyFieldForm, rowIndex, isNull); break; - case 11: + case 13: // �긽�깭 this.setCompanyFormStatus(cellStr, statusMaps, companyFieldForm, isNull); break; - case 12: + case 14: // 鍮꾧퀬 this.setCompanyFormMemo(cellStr, companyFieldForm, isNull); } } return companyFieldForm; + } + + private void setCompanyFormIpEnd(String ipEnd, CompanyFieldForm companyFieldForm, boolean isNull) { + if (!isNull) { + if (ipEnd.contains(" ")) { + ipEnd = ipEnd.replace(" ", ""); + } + this.verifyIp(ipEnd, null); //ip �쑀�슚�꽦 寃��궗 + + companyFieldForm.setIpEnd(ipEnd); + } + } + + private void setCompanyFormIpStart(String ipStart, CompanyFieldForm companyFieldForm, boolean isNull) { + if (!isNull) { + if (ipStart.contains(" ")) { + ipStart = ipStart.replace(" ", ""); + } + this.verifyIp(ipStart, null); //ip �쑀�슚�꽦 寃��궗 + + companyFieldForm.setIpStart(ipStart); + } } private void setCompanyFormMemo(String cellStr, CompanyFieldForm companyFieldForm, boolean isNull) { @@ -823,6 +906,7 @@ excelInfo.addAttrInfos(new ExportExcelAttrVo("tel", this.messageAccessor.message("companyField.companyTel"), 10, ExportExcelAttrVo.ALIGN_CENTER)); excelInfo.addAttrInfos(new ExportExcelAttrVo("email", this.messageAccessor.message("companyField.companyEmail"), 10, ExportExcelAttrVo.ALIGN_CENTER)); excelInfo.addAttrInfos(new ExportExcelAttrVo("url", this.messageAccessor.message("companyField.companyUrl"), 10, ExportExcelAttrVo.ALIGN_CENTER)); + excelInfo.addAttrInfos(new ExportExcelAttrVo("ipRange", this.messageAccessor.message("companyField.companyIp"), 10, ExportExcelAttrVo.ALIGN_CENTER)); excelInfo.addAttrInfos(new ExportExcelAttrVo("companyTypeName", this.messageAccessor.message("companyField.companyTypeName"), 10, ExportExcelAttrVo.ALIGN_CENTER)); excelInfo.addAttrInfos(new ExportExcelAttrVo("parentSectorName", this.messageAccessor.message("companyField.parentSectorName"), 10, ExportExcelAttrVo.ALIGN_CENTER)); excelInfo.addAttrInfos(new ExportExcelAttrVo("childSectorName", this.messageAccessor.message("companyField.childSectorName"), 10, ExportExcelAttrVo.ALIGN_CENTER)); -- Gitblit v1.8.0