From 379c882fcbbcf96ebd1d5fabf6078ebe7a81308b Mon Sep 17 00:00:00 2001 From: 이민희 <mhlee@maprex.co.kr> Date: 목, 10 2월 2022 10:48:47 +0900 Subject: [PATCH] - 호스팅 엑셀 임포트 시 오류 메시지 수정 - isp, 호스팅의 'code' KEY 부여 및 중복 입력 시 오류 메시지 추가 --- src/main/java/kr/wisestone/owl/service/impl/IspFieldServiceImpl.java | 32 ++++++++++++++-- src/main/resources/migration/V1_5__alter_data.sql | 6 +++ src/main/java/kr/wisestone/owl/service/impl/HostingFieldServiceImpl.java | 30 +++++++++++++- src/main/java/kr/wisestone/owl/constant/MsgConstants.java | 2 + src/main/webapp/WEB-INF/i18n/messages_ko_KR.properties | 4 + 5 files changed, 66 insertions(+), 8 deletions(-) diff --git a/src/main/java/kr/wisestone/owl/constant/MsgConstants.java b/src/main/java/kr/wisestone/owl/constant/MsgConstants.java index bb2aed3..aae0232 100644 --- a/src/main/java/kr/wisestone/owl/constant/MsgConstants.java +++ b/src/main/java/kr/wisestone/owl/constant/MsgConstants.java @@ -266,6 +266,7 @@ public static final String HOSTING_NO_TITLE = "HOSTING_NO_TITLE"; // �샇�뒪�똿紐낆씠 �엯�젰�릺吏� �븡�븯�뒿�땲�떎. public static final String HOSTING_CODE_NOT_ENTER = "HOSTING_CODE_NOT_ENTER"; // �샇�뒪�똿�쓽 肄붾뱶�뒗 �븘�닔 �엯�젰 媛믪엯�땲�떎. + public static final String HOSTING_CODE_USED_EXIST_VALUE = "HOSTING_CODE_USED_EXIST_VALUE"; // �엯�젰�븳 �샇�뒪�똿�쓽 肄붾뱶媛� �씠誘� 議댁옱�빀�땲�떎. public static final String HOSTING_REMOVE_NOT_SELECT = "HOSTING_REMOVE_NOT_SELECT"; // �궘�젣�븷 �샇�뒪�똿�씠 �꽑�깮�릺吏� �븡�븯�뒿�땲�떎. public static final String HOSTING_NOT_EXIST = "HOSTING_NOT_EXIST"; // �샇�뒪�똿�씠 議댁옱�븯吏� �븡�뒿�땲�떎. public static final String HOSTING_NAME_MAX_LENGTH_OUT = "HOSTING_NAME_MAX_LENGTH_OUT"; // �샇�뒪�똿紐낆� 理쒕� 300湲��옄源뚯� �엯�젰�븷 �닔 �엳�뒿�땲�떎. @@ -274,6 +275,7 @@ public static final String ISP_NO_TITLE = "ISP_NO_TITLE"; // ISP紐낆씠 �엯�젰�릺吏� �븡�븯�뒿�땲�떎. public static final String ISP_CODE_NOT_ENTER = "ISP_CODE_NOT_ENTER"; // ISP�쓽 肄붾뱶�뒗 �븘�닔 �엯�젰 媛믪엯�땲�떎. + public static final String ISP_CODE_USED_EXIST_VALUE = "ISP_CODE_USED_EXIST_VALUE"; // �엯�젰�븳 ISP�쓽 肄붾뱶媛� �씠誘� 議댁옱�빀�땲�떎. public static final String ISP_REMOVE_NOT_SELECT = "ISP_REMOVE_NOT_SELECT"; // �궘�젣�븷 ISP媛� �꽑�깮�릺吏� �븡�븯�뒿�땲�떎. public static final String ISP_NOT_EXIST = "ISP_NOT_EXIST"; // ISP媛� 議댁옱�븯吏� �븡�뒿�땲�떎. public static final String ISP_NAME_MAX_LENGTH_OUT = "ISP_NAME_MAX_LENGTH_OUT"; // ISP紐낆� 理쒕� 300湲��옄源뚯� �엯�젰�븷 �닔 �엳�뒿�땲�떎. diff --git a/src/main/java/kr/wisestone/owl/service/impl/HostingFieldServiceImpl.java b/src/main/java/kr/wisestone/owl/service/impl/HostingFieldServiceImpl.java index 38ad53c..9235686 100644 --- a/src/main/java/kr/wisestone/owl/service/impl/HostingFieldServiceImpl.java +++ b/src/main/java/kr/wisestone/owl/service/impl/HostingFieldServiceImpl.java @@ -81,11 +81,17 @@ } HostingField hostingField = ConvertUtil.copyProperties(HostingFieldForm, HostingField.class); + if (hostingField.getCode() != null && !hostingField.getCode().equals("")) { - hostingFieldRepository.saveAndFlush(hostingField); + try { + hostingFieldRepository.saveAndFlush(hostingField); + } catch (Exception e) { + throw new OwlRuntimeException(this.messageAccessor.getMessage(MsgConstants.HOSTING_CODE_USED_EXIST_VALUE)); + } } else { throw new OwlRuntimeException(this.messageAccessor.getMessage(MsgConstants.HOSTING_CODE_NOT_ENTER)); } + return hostingField; } @@ -139,7 +145,17 @@ HostingFieldForm.setEmail(emails.trim()); } HostingField HostingField = ConvertUtil.copyProperties(HostingFieldForm, HostingField.class); - hostingFieldRepository.saveAndFlush(HostingField); + + if (HostingField.getCode() != null && !HostingField.getCode().equals("")) { + try { + hostingFieldRepository.saveAndFlush(HostingField); + } catch (Exception e) { + throw new OwlRuntimeException(this.messageAccessor.getMessage(MsgConstants.HOSTING_CODE_USED_EXIST_VALUE)); + } + } else { + throw new OwlRuntimeException(this.messageAccessor.getMessage(MsgConstants.HOSTING_CODE_NOT_ENTER)); + } + } // Hosting瑜� �궘�젣�븳�떎. @@ -304,7 +320,15 @@ HostingField hostingField = new HostingField(); ConvertUtil.copyProperties(saveHostingFieldForm, hostingField); - hostingField = this.hostingFieldRepository.saveAndFlush(hostingField); + if (hostingField.getCode() != null && !hostingField.getCode().equals("")) { + try { + hostingField = hostingFieldRepository.saveAndFlush(hostingField); + } catch (Exception e) { + throw new OwlRuntimeException(this.messageAccessor.getMessage(MsgConstants.HOSTING_CODE_USED_EXIST_VALUE)); + } + } else { + throw new OwlRuntimeException(this.messageAccessor.getMessage(MsgConstants.HOSTING_CODE_NOT_ENTER)); + } saveHostingFieldForm.setId(hostingField.getId()); } diff --git a/src/main/java/kr/wisestone/owl/service/impl/IspFieldServiceImpl.java b/src/main/java/kr/wisestone/owl/service/impl/IspFieldServiceImpl.java index 073e233..501e770 100644 --- a/src/main/java/kr/wisestone/owl/service/impl/IspFieldServiceImpl.java +++ b/src/main/java/kr/wisestone/owl/service/impl/IspFieldServiceImpl.java @@ -84,11 +84,17 @@ } IspField ispField = ConvertUtil.copyProperties(IspFieldForm, IspField.class); + if (ispField.getCode() != null && !ispField.getCode().equals("")) { - ispFieldRepository.saveAndFlush(ispField); + try { + ispFieldRepository.saveAndFlush(ispField); + } catch (Exception e) { + throw new OwlRuntimeException(this.messageAccessor.getMessage(MsgConstants.ISP_CODE_USED_EXIST_VALUE)); + } } else { throw new OwlRuntimeException(this.messageAccessor.getMessage(MsgConstants.ISP_CODE_NOT_ENTER)); } + return ispField; } @@ -143,8 +149,18 @@ IspFieldForm.setEmail(emails.trim()); } - IspField IspField = ConvertUtil.copyProperties(IspFieldForm, IspField.class); - ispFieldRepository.saveAndFlush(IspField); + IspField ispField = ConvertUtil.copyProperties(IspFieldForm, IspField.class); + + if (ispField.getCode() != null && !ispField.getCode().equals("")) { + try { + ispFieldRepository.saveAndFlush(ispField); + } catch (Exception e) { + throw new OwlRuntimeException(this.messageAccessor.getMessage(MsgConstants.ISP_CODE_USED_EXIST_VALUE)); + } + } else { + throw new OwlRuntimeException(this.messageAccessor.getMessage(MsgConstants.ISP_CODE_NOT_ENTER)); + } + } @@ -310,7 +326,15 @@ IspField ispField = new IspField(); ConvertUtil.copyProperties(saveIspFieldForm, ispField); - ispField = this.ispFieldRepository.saveAndFlush(ispField); + if (ispField.getCode() != null && !ispField.getCode().equals("")) { + try { + ispField = ispFieldRepository.saveAndFlush(ispField); + } catch (Exception e) { + throw new OwlRuntimeException(this.messageAccessor.getMessage(MsgConstants.ISP_CODE_USED_EXIST_VALUE)); + } + } else { + throw new OwlRuntimeException(this.messageAccessor.getMessage(MsgConstants.ISP_CODE_NOT_ENTER)); + } saveIspFieldForm.setId(ispField.getId()); } diff --git a/src/main/resources/migration/V1_5__alter_data.sql b/src/main/resources/migration/V1_5__alter_data.sql new file mode 100644 index 0000000..96f5948 --- /dev/null +++ b/src/main/resources/migration/V1_5__alter_data.sql @@ -0,0 +1,6 @@ + +/* ISP, �샇�뒪�똿�쓽 肄붾뱶 KEY 遺��뿬 */ +ALTER TABLE `isp_field` ADD UNIQUE INDEX `codeIndex` (`code`) USING BTREE; +ALTER TABLE `hosting_field` ADD UNIQUE INDEX `codeIndex` (`code`) USING BTREE; +ALTER TABLE `issue_isp` ADD UNIQUE INDEX `codeIndex` (`code`) USING BTREE; +ALTER TABLE `issue_hosting` ADD UNIQUE INDEX `codeIndex` (`code`) USING BTREE; \ No newline at end of file diff --git a/src/main/webapp/WEB-INF/i18n/messages_ko_KR.properties b/src/main/webapp/WEB-INF/i18n/messages_ko_KR.properties index d4fc072..81f1e0d 100644 --- a/src/main/webapp/WEB-INF/i18n/messages_ko_KR.properties +++ b/src/main/webapp/WEB-INF/i18n/messages_ko_KR.properties @@ -208,7 +208,7 @@ EXCEL_IMPORT_ISP_NAME_IS_NULL=\uB2E4\uC74C \uC5D1\uC140 \uB77C\uC778\uC5D0\uC11C ISP\uBA85\uC774 \uC785\uB825\uB418\uC9C0 \uC54A\uC558\uC2B5\uB2C8\uB2E4. \n \uB77C\uC778 \uC815\uBCF4 : {0} EXCEL_IMPORT_ISP_CODE_IS_NULL=\uB2E4\uC74C \uC5D1\uC140 \uB77C\uC778\uC5D0\uC11C \uCF54\uB4DC\uAC00 \uC785\uB825\uB418\uC9C0 \uC54A\uC558\uC2B5\uB2C8\uB2E4. \n \uB77C\uC778 \uC815\uBCF4 : {0} -EXCEL_IMPORT_HOSTING_NAME_IS_NULL=\uB2E4\uC74C \uC5D1\uC140 \uB77C\uC778\uC5D0\uC11C ISP\uBA85\uC774 \uC785\uB825\uB418\uC9C0 \uC54A\uC558\uC2B5\uB2C8\uB2E4. \n \uB77C\uC778 \uC815\uBCF4 : {0} +EXCEL_IMPORT_HOSTING_NAME_IS_NULL=\uB2E4\uC74C \uC5D1\uC140 \uB77C\uC778\uC5D0\uC11C \uD638\uC2A4\uD305\uBA85\uC774 \uC785\uB825\uB418\uC9C0 \uC54A\uC558\uC2B5\uB2C8\uB2E4. \n \uB77C\uC778 \uC815\uBCF4 : {0} EXCEL_IMPORT_HOSTING_CODE_IS_NULL=\uB2E4\uC74C \uC5D1\uC140 \uB77C\uC778\uC5D0\uC11C \uCF54\uB4DC\uAC00 \uC785\uB825\uB418\uC9C0 \uC54A\uC558\uC2B5\uB2C8\uB2E4. \n \uB77C\uC778 \uC815\uBCF4 : {0} ISSUE_RESERVATION_VALUE_INVALID=\uC774\uC288 \uBC1C\uC0DD \uC608\uC57D\uC77C\uC774 \uC798\uBABB\uB418\uC5C8\uC2B5\uB2C8\uB2E4. @@ -247,6 +247,7 @@ HOSTING_NO_TITLE = \uD638\uC2A4\uD305\uC774 \uC785\uB825\uB418\uC9C0 \uC54A\uC558\uC2B5\uB2C8\uB2E4. HOSTING_CODE_NOT_ENTER = \uD638\uC2A4\uD305\uC758 \uCF54\uB4DC\uB294 \uD544\uC218 \uC785\uB825 \uAC12\uC785\uB2C8\uB2E4. +HOSTING_CODE_USED_EXIST_VALUE = \uC785\uB825\uD55C \uD638\uC2A4\uD305\uC758 \uCF54\uB4DC\uAC00 \uC774\uBBF8 \uC874\uC7AC\uD569\uB2C8\uB2E4. HOSTING_REMOVE_NOT_SELECT = \uC0AD\uC81C\uD560 \uD638\uC2A4\uD305\uC774 \uC120\uD0DD\uB418\uC9C0 \uC54A\uC558\uC2B5\uB2C8\uB2E4. HOSTING_NOT_EXIST = \uD638\uC2A4\uD305\uC774 \uC874\uC7AC\uD558\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4. HOSTING_NAME_MAX_LENGTH_OUT = \uD638\uC2A4\uD305\uBA85\uC740 \uCD5C\uB300 300\uAE00\uC790\uAE4C\uC9C0 \uC785\uB825\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4. @@ -255,6 +256,7 @@ ISP_NO_TITLE = ISP\uBA85\uC774 \uC785\uB825\uB418\uC9C0 \uC54A\uC558\uC2B5\uB2C8\uB2E4. ISP_CODE_NOT_ENTER = ISP\uC758 \uCF54\uB4DC\uB294 \uD544\uC218 \uC785\uB825 \uAC12\uC785\uB2C8\uB2E4. +ISP_CODE_USED_EXIST_VALUE = \uC785\uB825\uD55C ISP\uC758 \uCF54\uB4DC\uAC00 \uC774\uBBF8 \uC874\uC7AC\uD569\uB2C8\uB2E4. ISP_REMOVE_NOT_SELECT = \uC0AD\uC81C\uD560 ISP\uAC00 \uC120\uD0DD\uB418\uC9C0 \uC54A\uC558\uC2B5\uB2C8\uB2E4. ISP_NOT_EXIST = ISP\uAC00 \uC874\uC7AC\uD558\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4. ISP_NAME_MAX_LENGTH_OUT = ISP\uBA85\uC740 \uCD5C\uB300 300\uAE00\uC790\uAE4C\uC9C0 \uC785\uB825\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4. -- Gitblit v1.8.0