| | |
| | | // 업체명 중복 체크 |
| | | this.verifyTitle(companyFieldForm.getName(), null); |
| | | |
| | | if (companyFieldForm.getIpStart() != null && companyFieldForm.getIpEnd() != null) { |
| | | // 아이피 유효성 체크 |
| | | this.verifyIp(companyFieldForm.getIpStart(), companyFieldForm.getIpEnd(), null); |
| | | } |
| | | |
| | | if (companyFieldForm.getUrl() != null) { |
| | | // url 유효성 체크 |
| | | this.verifyUrl(companyFieldForm.getUrl(), null); |
| | | } |
| | | |
| | | if (companyFieldForm.getIpStarts() != null && companyFieldForm.getIpStarts().size() > 0 |
| | | && companyFieldForm.getIpEnds() != null && companyFieldForm.getIpEnds().size() > 0) { |
| | | |
| | | for (int i=0; i<companyFieldForm.getIpStarts().size(); i++) { |
| | | // 아이피 유효성 체크 |
| | | this.verifyIp(companyFieldForm.getIpStarts().get(i), companyFieldForm.getIpEnds().get(i), null); |
| | | } |
| | | |
| | | String startIps = companyFieldForm.getIpStarts().toString(); |
| | | // 대괄호 제거 |
| | | startIps = this.removeSquare(startIps); |
| | | companyFieldForm.setIpStart(startIps.trim()); |
| | | |
| | | String endIps = companyFieldForm.getIpEnds().toString(); |
| | | // 대괄호 제거 |
| | | endIps = this.removeSquare(endIps); |
| | | companyFieldForm.setIpEnd(endIps.trim()); |
| | | } |
| | | |
| | | if (companyFieldForm.getTelList() != null && companyFieldForm.getTelList().size() > 0) { |
| | | String tels = companyFieldForm.getTelList().toString(); |
| | | if (tels.contains("[")) { |
| | | tels = tels.substring(1, tels.indexOf("]")); |
| | | } |
| | | // 대괄호 제거 |
| | | tels = this.removeSquare(tels); |
| | | companyFieldForm.setTel(tels.trim()); |
| | | } |
| | | if (companyFieldForm.getEmailList() != null && companyFieldForm.getEmailList().size() > 0) { |
| | | String emails = companyFieldForm.getEmailList().toString(); |
| | | String email = ""; |
| | | if (emails.contains("[")) { |
| | | email = emails.substring(1, emails.indexOf("]")); |
| | | } |
| | | companyFieldForm.setEmail(email.trim()); |
| | | // 대괄호 제거 |
| | | emails = this.removeSquare(emails); |
| | | companyFieldForm.setEmail(emails.trim()); |
| | | } |
| | | |
| | | CompanyField companyField = ConvertUtil.copyProperties(companyFieldForm, CompanyField.class); |
| | |
| | | } |
| | | |
| | | /** |
| | | * 대괄호([]) 제거 함수 |
| | | * @param str String |
| | | * @return str |
| | | */ |
| | | private String removeSquare(String str) { |
| | | if (str.contains("[")) { |
| | | str = str.substring(1, str.indexOf("]")); |
| | | } |
| | | |
| | | return str; |
| | | } |
| | | |
| | | /** |
| | | * IP 유효성 체크 |
| | | * @param ip String |
| | | * @param ip2 String |
| | | * @param id Long |
| | | */ |
| | | private void verifyIp(String ip, String ip2, Long id) { |
| | | if (!StringUtils.isEmpty(ip)) { |
| | |
| | | condition.setIpEnd(String.valueOf(ipEnd)); |
| | | if (id != null) { |
| | | condition.setId(id); |
| | | companyFields = this.companyFieldMapper.findByIpsAndIdNot(condition); |
| | | companyFields = this.companyFieldRepository.findByIdNot(condition.getId()); |
| | | } else { |
| | | companyFields = this.companyFieldMapper.findByIps(condition); |
| | | companyFields = this.companyFieldRepository.findAll(); |
| | | } |
| | | |
| | | // IP대역대 중복 체크 |
| | | if (companyFields != null && companyFields.size() > 0) { |
| | | this.ipOverlapChk(companyFields, ipStart, ipEnd); |
| | | |
| | | /*if (companyFields != null && companyFields.size() > 0) { |
| | | throw new OwlRuntimeException(this.messageAccessor.getMessage(MsgConstants.COMPANY_EXIST_IP)); |
| | | }*/ |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * ip 대역대 중복 체크 |
| | | * @param companyFields List<CompanyField> |
| | | */ |
| | | private void ipOverlapChk(List<CompanyField> companyFields, long ipStart, long ipEnd) { |
| | | String[] ipStartArr = null; |
| | | String[] ipEndArr = null; |
| | | List<String> startIpList = Lists.newArrayList(); |
| | | List<String> endIpList = Lists.newArrayList(); |
| | | String startIp = ""; |
| | | String endIp = ""; |
| | | List<Long> startIps = Lists.newArrayList(); |
| | | List<Long> endIps = Lists.newArrayList(); |
| | | |
| | | if (companyFields.size() > 0) { |
| | | for (CompanyField companyField : companyFields) { |
| | | if(companyField.getIpStart() != null && companyField.getIpEnd() != null) { |
| | | startIp = companyField.getIpStart(); |
| | | if (startIp.contains(" ")) { |
| | | startIp = startIp.replace(" ",""); |
| | | } |
| | | if (startIp.contains(",")) { |
| | | ipStartArr = startIp.split(","); |
| | | startIpList.addAll(Arrays.asList(ipStartArr)); |
| | | } else { |
| | | startIpList.add(startIp.trim()); |
| | | } |
| | | |
| | | endIp = companyField.getIpEnd(); |
| | | if (endIp.contains(" ")) { |
| | | endIp = endIp.replace(" ",""); |
| | | } |
| | | if (endIp.contains(",")) { |
| | | ipEndArr = endIp.split(","); |
| | | endIpList.addAll(Arrays.asList(ipEndArr)); |
| | | } else { |
| | | endIpList.add(endIp.trim()); |
| | | } |
| | | } |
| | | } |
| | | if (startIpList.size() > 0) { |
| | | for (String ipS : startIpList) { |
| | | long start = ConvertUtil.ipToLong(ipS); |
| | | startIps.add(start); |
| | | } |
| | | for (String ipE : endIpList) { |
| | | long end = ConvertUtil.ipToLong(ipE); |
| | | endIps.add(end); |
| | | } |
| | | } |
| | | |
| | | for (int i=0; i<startIps.size(); i++) { |
| | | if (startIps.get(i) >= ipStart && startIps.get(i) <= ipEnd || endIps.get(i) >= ipStart && endIps.get(i) <= ipEnd |
| | | || ipStart >= startIps.get(i) && ipStart <= endIps.get(i) || ipEnd >= startIps.get(i) && ipEnd <= endIps.get(i)) { |
| | | throw new OwlRuntimeException(this.messageAccessor.getMessage(MsgConstants.COMPANY_EXIST_IP)); |
| | | } |
| | | } |
| | | } |
| | | } |
| | |
| | | // 업체명 유효성 체크 |
| | | this.verifyTitle(companyFieldForm.getName(), companyFieldForm.getId()); |
| | | |
| | | if (companyFieldForm.getIpStart() != null && companyFieldForm.getIpEnd() != null) { |
| | | // 아이피 유효성 체크 |
| | | this.verifyIp(companyFieldForm.getIpStart(), companyFieldForm.getIpEnd(), companyFieldForm.getId()); |
| | | } |
| | | |
| | | if (companyFieldForm.getUrl() != null) { |
| | | // url 유효성 체크 |
| | | this.verifyUrl(companyFieldForm.getUrl(), companyFieldForm.getId()); |
| | | } |
| | | |
| | | if (companyFieldForm.getIpStarts() != null && companyFieldForm.getIpStarts().size() > 0 |
| | | && companyFieldForm.getIpEnds() != null && companyFieldForm.getIpEnds().size() > 0) { |
| | | |
| | | for (int i=0; i<companyFieldForm.getIpStarts().size(); i++) { |
| | | // 아이피 유효성 체크 |
| | | this.verifyIp(companyFieldForm.getIpStarts().get(i), companyFieldForm.getIpEnds().get(i), companyFieldForm.getId()); |
| | | } |
| | | |
| | | String startIps = companyFieldForm.getIpStarts().toString(); |
| | | // 대괄호 제거 |
| | | startIps = this.removeSquare(startIps); |
| | | companyFieldForm.setIpStart(startIps.trim()); |
| | | |
| | | String endIps = companyFieldForm.getIpEnds().toString(); |
| | | // 대괄호 제거 |
| | | endIps = this.removeSquare(endIps); |
| | | companyFieldForm.setIpEnd(endIps.trim()); |
| | | } |
| | | |
| | | if (companyFieldForm.getTelList() != null && companyFieldForm.getTelList().size() > 0) { |
| | | String tels = companyFieldForm.getTelList().toString(); |
| | | if (tels.contains("[")) { |
| | | tels = tels.substring(1, tels.indexOf("]")); |
| | | } |
| | | // 대괄호 제거 |
| | | tels = this.removeSquare(tels); |
| | | companyFieldForm.setTel(tels.trim()); |
| | | } |
| | | if (companyFieldForm.getEmailList() != null && companyFieldForm.getEmailList().size() > 0) { |
| | | String emails = companyFieldForm.getEmailList().toString(); |
| | | if (emails.contains("[")) { |
| | | emails = emails.substring(1, emails.indexOf("]")); |
| | | } |
| | | // 대괄호 제거 |
| | | emails = this.removeSquare(emails); |
| | | companyFieldForm.setEmail(emails.trim()); |
| | | } |
| | | |