From 74511fb587087681025538f1ffd44ef66643edeb Mon Sep 17 00:00:00 2001 From: USER Date: Mon, 11 Jul 2022 11:43:43 +0900 Subject: [PATCH] =?UTF-8?q?=EC=96=B4=EB=93=9C=EB=AF=BC=20=EC=88=98?= =?UTF-8?q?=EC=A0=95=EA=B1=B4=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .project | 2 +- .settings/org.eclipse.wst.common.component | 4 +- build.gradle | 2 + frontend/src/components/modal/calendar.vue | 141 +++++++++++++ .../modules/attractMgt/views/ChannelList.vue | 21 +- .../src/modules/calculate/views/CalcList.vue | 34 ++-- .../modules/channelMgt/views/TmpltList.vue | 31 +-- .../custMgt/components/MemberBulkRegPop.vue | 80 ++++---- .../custMgt/components/MemberModifyPop.vue | 156 ++++++++++----- .../custMgt/components/MemberRegPop.vue | 92 ++++----- .../custMgt/components/MemoTotalPop.vue | 56 ++---- .../custMgt/views/MemberAdminDetail.vue | 3 + .../src/modules/custMgt/views/MemberList.vue | 15 +- .../src/modules/custMgt/views/SubsList.vue | 33 +-- .../modules/mntrng/components/commonModal.vue | 188 ++++++++++++++++++ .../src/modules/mntrng/views/SendList.vue | 45 +++-- frontend/src/modules/riskMgt/router/index.js | 6 +- frontend/src/modules/riskMgt/views/All.vue | 46 +++-- .../src/modules/riskMgt/views/IntrcpList.vue | 20 +- frontend/src/modules/riskMgt/views/Msg.vue | 20 +- frontend/src/modules/riskMgt/views/ZezNum.vue | 21 +- .../sendNumMgt/service/sendNumMgtApi.js | 5 + .../src/modules/sendNumMgt/views/ApprList.vue | 15 +- .../modules/sendNumMgt/views/NumberList.vue | 81 +++++++- .../modules/sendNumMgt/views/ProfileList.vue | 12 +- .../modules/servMgt/views/rejectRecvList.vue | 10 +- .../src/modules/stats/views/BsnmDayList.vue | 7 +- .../sysMgt/components/AdminDetailPop.vue | 10 +- .../modules/sysMgt/components/AdminRegPop.vue | 5 +- .../sysMgt/components/SearchIdPopup.vue | 11 +- .../modules/sysMgt/components/commonModal.vue | 8 +- .../src/modules/sysMgt/views/AdminList.vue | 13 +- src/main/java/kr/co/uplus/ez/Scheduler.java | 7 +- .../uplus/ez/api/custMgt/CustMgtService.java | 2 +- .../co/uplus/ez/api/login/LoginService.java | 7 +- .../co/uplus/ez/api/login/dto/SendMsgDto.java | 1 + .../ez/api/mntrng/dto/SendListReqDto.java | 1 - .../ez/api/riskMgt/dto/SendNumIntrcpList.java | 6 +- .../riskMgt/dto/WebInsertIntrcpReqDto.java | 3 +- .../ez/api/riskMgt/dto/WebIntrcpList.java | 2 + .../ez/api/riskMgt/dto/ZezNumIntrcpList.java | 2 +- .../ez/api/sendNumMgt/dto/DeleteNumber.java | 8 +- .../sendNumMgt/dto/DeleteNumberReqDto.java | 6 +- src/main/resources/application-dev.yml | 8 +- src/main/resources/application-local.yml | 13 +- src/main/resources/application-prd.yml | 5 +- src/main/resources/application-stg.yml | 7 +- 47 files changed, 887 insertions(+), 384 deletions(-) create mode 100644 frontend/src/components/modal/calendar.vue create mode 100644 frontend/src/modules/mntrng/components/commonModal.vue diff --git a/.project b/.project index 702246f..0cd3b0d 100644 --- a/.project +++ b/.project @@ -1,6 +1,6 @@ - hubeasy-admin + hubez-admin diff --git a/.settings/org.eclipse.wst.common.component b/.settings/org.eclipse.wst.common.component index 8061d1d..da36120 100644 --- a/.settings/org.eclipse.wst.common.component +++ b/.settings/org.eclipse.wst.common.component @@ -1,7 +1,7 @@ - - + + diff --git a/build.gradle b/build.gradle index dfac81d..e74d9fc 100644 --- a/build.gradle +++ b/build.gradle @@ -107,6 +107,8 @@ dependencies { implementation group: 'javax.xml.bind', name: 'jaxb-api', version: '2.3.1' + // LOCAL용. + implementation 'org.bgee.log4jdbc-log4j2:log4jdbc-log4j2-jdbc4.1:1.16' /* Log4JDBC */ } bootJar { diff --git a/frontend/src/components/modal/calendar.vue b/frontend/src/components/modal/calendar.vue new file mode 100644 index 0000000..c29e05b --- /dev/null +++ b/frontend/src/components/modal/calendar.vue @@ -0,0 +1,141 @@ + + + \ No newline at end of file diff --git a/frontend/src/modules/attractMgt/views/ChannelList.vue b/frontend/src/modules/attractMgt/views/ChannelList.vue index 831951e..1edae20 100644 --- a/frontend/src/modules/attractMgt/views/ChannelList.vue +++ b/frontend/src/modules/attractMgt/views/ChannelList.vue @@ -63,8 +63,8 @@
- + @@ -169,6 +169,7 @@ export default { { text: '50', value: 50}, { text: '100', value: 100} ], + searchType:'01', totalItems: 0, grid: { url: '/api/v1/bo/attractMgt/channelList', @@ -202,14 +203,15 @@ export default { { name: 'custTyCd', header: '구분', align: 'center', width: '10%'}, { name: 'sndCnt', header: '전체발송건수', align: 'center', width: '11%', formatter: props =>{ - let result = props.sndCnt.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ','); + let result = props.sndCnt; + //.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ','); return result; } } ], noDataStr: '검색 결과가 없습니다.', params: { - searchType: '', + searchType: '01', searchType1: '', searchText: '', subsStDt: '', @@ -234,7 +236,9 @@ export default { this.getExcelHeader(); this.setPeriodDay(0); - this.grid.params.subsSttusCd = ''; + // this.grid.params.subsSttusCd = ''; + // this.grid.params.searchType = '01'; + // this.$refs.searchType_. }, destroyed() { this.grid.params.subsSttusCd = ''; @@ -260,7 +264,8 @@ export default { search: function(isKeep) { console.log('this.perPageCnt'+this.perPageCnt); - //console.log(this.grid.params); + console.log(this.grid.params); + this.grid.params.searchType1 = this.searchType this.$refs.table.search(this.grid.params, isKeep); this.sendStoreData(); }, @@ -335,7 +340,6 @@ export default { }, channelDetail(props){ console.log(props); - //TODO 전달값 셋팅 필요. this.row.userId = props.loginId; this.row.userSeq = props.userSeq; this.$router.push({ name: 'channelDetail', params: this.row }); @@ -343,11 +347,14 @@ export default { setCodeData() { // 상태 옵션 셋팅. api.commCode({'grpCd' : 'SUBS_STTUS_CD'}).then(response => { + // grid.params.subsSttusCd this.subsSttusCdList = response.data.data.list; + this.grid.params.subsSttusCd = ''; }); api.commCode({'grpCd' : 'CUST_TY_CD'}).then(response => { this.custTyCdList = response.data.data.list; + this.grid.params.custTyCd = ''; }); }, setPeriodDay(day) { diff --git a/frontend/src/modules/calculate/views/CalcList.vue b/frontend/src/modules/calculate/views/CalcList.vue index ab65cc2..d79f214 100644 --- a/frontend/src/modules/calculate/views/CalcList.vue +++ b/frontend/src/modules/calculate/views/CalcList.vue @@ -327,10 +327,12 @@ export default { }, setPeriodDay(day) { this.periodDay = day; - this.endDate = new Date(); - this.startDate = moment(this.endDate) - .subtract(day, 'day') - .toDate(); + // this.endDate = new Date(); + // this.startDate = moment(this.endDate) + // .subtract(day, 'day') + // .toDate(); + this.initSetStartDate(); + this.initSetEndDate(); this.closeDate('start'); this.closeDate('end'); @@ -426,18 +428,6 @@ export default { async getExcelDataDown() { try { let response; - // params: { - // startMonth: '', - // endMonth: '', - // }, - // const params = { - // startDt: this.grid.params.startDt, - // endDt: this.grid.params.endDt, - // searchType1: this.grid.params.searchType1, - // searchType2: this.grid.params.searchType2, - // searchType3: this.grid.params.searchType3, - // searchText1: this.grid.params.searchText1 - // }; response = await calcMgtApi.calcListExcel(this.grid.params); @@ -451,6 +441,18 @@ export default { return false; } }, + initSetStartDate(){ + let initStartDate = new Date(); + initStartDate.setMonth(Number(moment(initStartDate).format('MM')) -4); + this.startDate = initStartDate; + console.log(moment(this.startDate).format('YYYY-MM-DD')); + }, + initSetEndDate(){ + let initEndDate = new Date(); + initEndDate.setMonth(Number(moment(initEndDate).format('MM')) -2); + this.endDate = initEndDate; + console.log(moment(this.endDate).format('YYYY-MM-DD')); + }, } }; \ No newline at end of file diff --git a/frontend/src/modules/channelMgt/views/TmpltList.vue b/frontend/src/modules/channelMgt/views/TmpltList.vue index 98df45c..b158b3a 100644 --- a/frontend/src/modules/channelMgt/views/TmpltList.vue +++ b/frontend/src/modules/channelMgt/views/TmpltList.vue @@ -10,7 +10,7 @@
- @@ -18,7 +18,7 @@
- @@ -26,13 +26,13 @@
- +
-
{{ totalItems }}건 +
{{ totalItems.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',') }}
- -
-

-

- - - - -
- - -
-
+
@@ -66,9 +64,9 @@ export default { components: { commonModal, }, - created(){ + created(){ this.getExcelHeader(); - }, + }, methods :{ // 모달 띄우기 excelPopOpen(adminId, totalItems){ @@ -87,7 +85,7 @@ export default { for(var i = 0; i < excelPop.length; i++){ excelPop[i].style.display = 'none'; } - + }, // 저장 후 부모창 호출. toComplete(){ @@ -135,13 +133,13 @@ export default { const file = event.target.files[0]; console.log(file.name); - + // inner Html. const button = document.createElement('button'); const text = document.createElement('p'); text.innerText = file.name; button.addEventListener('click', () => { - this.delFile(event); + this.delFile(event); }) const root = document.getElementById('uploadFile'); root.appendChild(text); @@ -169,7 +167,7 @@ export default { const rowObj = XLSX.utils.sheet_to_json(workbook.Sheets[sheetName],{raw:true}); tmpResult = rowObj; const limitCnt = 100; - + const totalCnt = Number(this.totalItems) + rowObj.length; if(totalCnt > limitCnt){ @@ -178,7 +176,7 @@ export default { this.$refs.commmonModal.alertModalOpen(this.row); return false; } - + for (const [idx,r] of rowObj.entries()) { if(idx > limitCnt-1 ) { break; @@ -203,7 +201,7 @@ export default { { name:'ID잠금',val:ID잠금, len:4,},]; const rVal = vm.isTitle(pVal); - + if(rVal.retVal){ vm.nData.push({userId:ID,userNm:이름,mdn:휴대폰번호,email:이메일,stat:ID잠금,msg}); }else{ @@ -265,7 +263,7 @@ export default { // uploadFile }, async saveExcel(){ - // + // this.row.adminId = this.adminId; this.row.list = this.nData; @@ -274,7 +272,7 @@ export default { const result = response.data; console.log(result); if (result != null && result.retCode == "0000") { - + // this.totalCnt = result.data.totalCnt; // this.successCnt = result.data.successCnt; // this.failCnt = result.data.failCnt; @@ -290,7 +288,7 @@ export default { // 오류건수. console.log(this.oData.length); }, - + } } diff --git a/frontend/src/modules/custMgt/components/MemberModifyPop.vue b/frontend/src/modules/custMgt/components/MemberModifyPop.vue index aa993f8..fdedcca 100644 --- a/frontend/src/modules/custMgt/components/MemberModifyPop.vue +++ b/frontend/src/modules/custMgt/components/MemberModifyPop.vue @@ -4,59 +4,108 @@
- - - +
-
- - -
+
diff --git a/frontend/src/modules/custMgt/views/MemberAdminDetail.vue b/frontend/src/modules/custMgt/views/MemberAdminDetail.vue index 554f8f2..ce8b5a2 100644 --- a/frontend/src/modules/custMgt/views/MemberAdminDetail.vue +++ b/frontend/src/modules/custMgt/views/MemberAdminDetail.vue @@ -137,6 +137,9 @@ + + 등록된 사용자 정보가 없습니다. +
diff --git a/frontend/src/modules/custMgt/views/MemberList.vue b/frontend/src/modules/custMgt/views/MemberList.vue index df062fb..a0230de 100644 --- a/frontend/src/modules/custMgt/views/MemberList.vue +++ b/frontend/src/modules/custMgt/views/MemberList.vue @@ -42,7 +42,7 @@
-
- @@ -62,7 +62,7 @@
- @@ -156,7 +156,9 @@ export default { statType: [], userType: [], - + searchType1:'', + searchType2:'', + searchType3:'', row:{}, // 테이블 리스트 데이터 @@ -264,7 +266,10 @@ export default { this.grid.params.startDt = moment(this.startDate).format('YYYYMMDD'); this.grid.params.endDt = moment(this.endDate).format('YYYYMMDD'); console.log('this.perPageCnt'+this.perPageCnt); - console.log(this.grid.params); + console.log(this.grid.params); + this.grid.params.searchType1 = this.searchType1; + this.grid.params.searchType2 = this.searchType2; + this.grid.params.searchType3 = this.searchType3; this.$refs.table.search(this.grid.params, isKeep); this.sendStoreData(); }, diff --git a/frontend/src/modules/custMgt/views/SubsList.vue b/frontend/src/modules/custMgt/views/SubsList.vue index f77998a..e4b6702 100644 --- a/frontend/src/modules/custMgt/views/SubsList.vue +++ b/frontend/src/modules/custMgt/views/SubsList.vue @@ -42,25 +42,21 @@
- - - - - - +
- - - - - + + + + @@ -70,7 +66,7 @@
- @@ -166,7 +162,9 @@ export default { row:{}, pageType: 'SUBS', - + searchType1:'', + searchType2:'', + searchType3:'', // 테이블 리스트 데이터 perPageCnt: 50, options: [ @@ -275,7 +273,12 @@ export default { this.grid.params.startDt = moment(this.startDate).format('YYYYMMDD'); this.grid.params.endDt = moment(this.endDate).format('YYYYMMDD'); console.log('this.perPageCnt'+this.perPageCnt); - console.log(this.grid.params); + console.log(this.grid.params); + + this.grid.params.searchType1 = this.searchType1 + this.grid.params.searchType2 = this.searchType2 + this.grid.params.searchType3 = this.searchType3 + this.$refs.table.search(this.grid.params, isKeep); this.sendStoreData(); }, diff --git a/frontend/src/modules/mntrng/components/commonModal.vue b/frontend/src/modules/mntrng/components/commonModal.vue new file mode 100644 index 0000000..27958be --- /dev/null +++ b/frontend/src/modules/mntrng/components/commonModal.vue @@ -0,0 +1,188 @@ + + + + \ No newline at end of file diff --git a/frontend/src/modules/mntrng/views/SendList.vue b/frontend/src/modules/mntrng/views/SendList.vue index 21fa2a9..504cf14 100644 --- a/frontend/src/modules/mntrng/views/SendList.vue +++ b/frontend/src/modules/mntrng/views/SendList.vue @@ -92,7 +92,8 @@ import customGrid from '@/components/CustomGrid'; import { utils_mixin, chkPattern2 } from '../service/mixins'; import moment from 'moment'; import xlsx from '@/common/excel'; -import commonModal from "@/components/modal/commonModal"; +//import commonModal from "@/components/modal/commonModal"; +import commonModal from "../components/commonModal"; class CustomATagRenderer { constructor(props) { @@ -203,13 +204,17 @@ export default { // this.setCodeData(); // this.getExcelHeader(); this.setPeriodDay(0); - this.grid.params.searchType1 = 'ALL'; + this.grid.params.searchType1 = ''; }, destroyed() { + this.grid.params.searchType1 = ''; + this.grid.params.searchText1 = ''; + this.grid.params.searchText2 = ''; + this.grid.params.searchText3 = ''; }, mounted() { - this.grid.params.searchType1 = 'ALL'; + this.grid.params.searchType1 = ''; let page = 1; // 페이지 정보 및 검색 조건 @@ -240,15 +245,16 @@ export default { }, methods: { search: function(isKeep) { - this.doValidate(); - this.grid.params.sentDate = moment(this.startDate).format('YYYYMMDD'); - this.grid.params.reqChennel = this.grid.params.searchType1; - this.grid.params.phone = this.grid.params.searchText1; - this.grid.params.callbackNumber = this.grid.params.searchText2; - this.grid.params.custNm = this.grid.params.searchText3; - console.log(this.grid.params); - this.$refs.table.search(this.grid.params, isKeep); - this.sendStoreData(); + if(this.doValidate()){ + this.grid.params.sentDate = moment(this.startDate).format('YYYYMMDD'); + this.grid.params.reqChennel = this.grid.params.searchType1; + this.grid.params.phone = this.grid.params.searchText1; + this.grid.params.callbackNumber = this.grid.params.searchText2; + this.grid.params.custNm = this.grid.params.searchText3; + console.log(this.grid.params); + this.$refs.table.search(this.grid.params, isKeep); + this.sendStoreData(); + } }, setPeriodDay(day) { this.periodDay = day; @@ -324,21 +330,30 @@ export default { if(this.isNull(this.grid.params.searchText1)) { this.row.title = '발송내역'; this.row.msg1 = '수신번호를 입력해 주세요.'; + this.row.focusTaget = '1'; this.$refs.commmonModal.alertModalOpen(this.row); - this.$refs._searchText1.focus(); return false; } // 발신번호 필수입력체크 if(this.isNull(this.grid.params.searchText2)) { this.row.title = '발송내역'; - this.row.msg1 = '수신번호를 입력해 주세요.'; + this.row.msg1 = '발신번호를 입력해 주세요.'; + this.row.focusTaget = '2'; this.$refs.commmonModal.alertModalOpen(this.row); - this.$refs._searchText2.focus(); return false; } + return true; + }, + checkFocus(){ + if(this.row.focusTaget === '1'){ + this.$refs._searchText1.focus(); + } else if(this.row.focusTaget === '2'){ + this.$refs._searchText2.focus(); + } + }, } }; \ No newline at end of file diff --git a/frontend/src/modules/riskMgt/router/index.js b/frontend/src/modules/riskMgt/router/index.js index 641f368..64baec2 100644 --- a/frontend/src/modules/riskMgt/router/index.js +++ b/frontend/src/modules/riskMgt/router/index.js @@ -13,7 +13,8 @@ export default [ { path: '/riskMgt/sendNum/zezNum', component: ZezNum, - name: 'zezNum', + name: 'zezNum', + props: true, meta: { public: true } }, { @@ -25,7 +26,8 @@ export default [ { path: '/riskMgt/sendNum/all', component: All, - name: 'all', + name: 'all', + props: true, meta: { public: true } }, diff --git a/frontend/src/modules/riskMgt/views/All.vue b/frontend/src/modules/riskMgt/views/All.vue index a5be9cd..c32de67 100644 --- a/frontend/src/modules/riskMgt/views/All.vue +++ b/frontend/src/modules/riskMgt/views/All.vue @@ -29,23 +29,23 @@
- - - - - - - + + + + + +
- - - - + + +
@@ -60,10 +60,10 @@
- + + +
@@ -74,7 +74,7 @@
-
{{ totalItems }}건 +
{{ totalItems.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',') }}
+ + + +
@@ -126,6 +126,9 @@ export default { return { totalItems: 0, perPageCnt: 50, + blckRsnCd:'', + blckYn:'', + sndblckTpCd:'', options: [ { text: '20', value: 20}, { text: '50', value: 50}, @@ -133,8 +136,8 @@ export default { ], grid: { url: '/api/v1/bo/riskMgt/sendNum/intrcpList', - pagePerRows: 20, - perPage: 20, + pagePerRows: 50, + perPage: 50, pagination: true, isCheckbox: false, initialRequest: false, @@ -206,6 +209,11 @@ export default { methods: { search: function(isKeep) { console.log(this.grid.params); + this.grid.params.blckRsnCd = this.blckRsnCd + this.grid.params.blckYn = this.blckYn + this.grid.params.sndblckTpCd = this.sndblckTpCd + this.grid.pagePerRows = this.perPageCnt + this.$refs.table.search(this.grid.params, isKeep); this.sendStoreData(); }, diff --git a/frontend/src/modules/riskMgt/views/Msg.vue b/frontend/src/modules/riskMgt/views/Msg.vue index 7368e08..52491ec 100644 --- a/frontend/src/modules/riskMgt/views/Msg.vue +++ b/frontend/src/modules/riskMgt/views/Msg.vue @@ -14,14 +14,14 @@
- - - - - - - + + + + + +
@@ -32,7 +32,7 @@
-
{{ totalItems}} 건 +
{{ totalItems.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',')}}
- + @@ -23,8 +23,8 @@
- + @@ -41,7 +41,7 @@
{{ totalItems }}
- @@ -128,6 +128,8 @@ export default { totalItems: 0, // 테이블 리스트 데이터 perPageCnt: 50, + searchType1:'', + searchType2:'', grid: { url: '/api/v1/bo/sendNumMgt/apprList', perPage: 50, @@ -200,6 +202,9 @@ export default { methods: { search: function(isKeep) { console.log(this.grid.params); + this.grid.params.searchType1 = this.searchType1 + this.grid.params.searchType2 = this.searchType2 + this.grid.perPage = this.perPageCnt this.$refs.table.search(this.grid.params, isKeep); this.sendStoreData(); }, diff --git a/frontend/src/modules/sendNumMgt/views/NumberList.vue b/frontend/src/modules/sendNumMgt/views/NumberList.vue index a5f1d8f..b08ea84 100644 --- a/frontend/src/modules/sendNumMgt/views/NumberList.vue +++ b/frontend/src/modules/sendNumMgt/views/NumberList.vue @@ -11,7 +11,7 @@
- @@ -19,7 +19,7 @@
- @@ -28,7 +28,7 @@
- @@ -36,7 +36,7 @@
- @@ -44,9 +44,9 @@
- + -
@@ -60,9 +60,9 @@
{{ totalItems }}
- + +
@@ -101,6 +101,9 @@ import customGrid from '@/components/CustomGrid'; import commonModal from "@/components/modal/commonModal"; import NumberRegPop from '../components/NumberRegPop'; import NumberDetailPop from "@/modules/sendNumMgt/components/NumberDetailPop"; +// import sendNumMgtApi from "@/modules/sysMgt/service/sendNumMgtApi"; +import sendNumMgtApi from '../service/sendNumMgtApi'; + class CustomATagRenderer { constructor(props) { @@ -133,6 +136,12 @@ export default { statType: [], cate2Code: "", totalItems: 0, + searchType5:'', + searchType4:'regNo', + searchType3:'', + searchType2:'', + searchType1:'', + // 테이블 리스트 데이터 perPageCnt: 50, grid: { @@ -233,6 +242,12 @@ export default { methods: { search: function(isKeep) { console.log(this.grid.params); + this.grid.params.searchType1 = this.searchType1 + this.grid.params.searchType2 = this.searchType2 + this.grid.params.searchType3 = this.searchType3 + this.grid.params.searchType4 = this.searchType4 + this.grid.params.searchType5 = this.searchType5 + this.grid.pagePerRows = this.perPageCnt this.$refs.table.search(this.grid.params, isKeep); this.sendStoreData(); }, @@ -265,9 +280,53 @@ export default { commonModalOpen(row){ this.$refs.commmonModal.alertModalOpen(row); }, - numberDelete(){ + async numberDelete(){ + if(this.doValidate() && window.confirm('삭제 하시겠습니까?')){ + try { + let response = await sendNumMgtApi.deleteNumber(this.row); + const result = response.data; + if (result != null && result.retCode == "0000") { + this.row.title = '문자발신번호 관리'; + this.row.msg1 = '삭제 하였습니다.'; + this.$refs.commmonModal.alertModalOpen(this.row); + this.$refs.table.reloadData(); + return; + } + this.row.title = '문자발신번호 관리'; + this.row.msg1 = '실패 하였습니다.'; + this.$refs.commmonModal.alertModalOpen(this.row); + } catch(err) { + this.row.title = '문자발신번호 관리'; + this.row.msg1 = '실패 하였습니다.'; + this.$refs.commmonModal.alertModalOpen(this.row); + } + } + }, + doValidate(){ //로우데이터 삭제하도록 수정 - } + console.log("totalItems >> " + this.totalItems); + if(this.totalItems == 0){ + this.row.title = '문자발신번호 관리'; + this.row.msg1 = '검색 결과가 없습니다.'; + this.$refs.commmonModal.alertModalOpen(this.row); + return false; + } + var chkList = this.$refs.table.checkedElementDatas(); + if(chkList.length == 0){ + this.row.title = '문자발신번호 관리'; + this.row.msg1 = '삭제대상을 체크를 해주세요.'; + this.$refs.commmonModal.alertModalOpen(this.row); + return false; + } + // for(var i = 0; i < chkList.length; i++){ + // alert(chkList[i].adminId); + // } + const param = chkList.map((row)=>({regReqNo:row.regReqNo} )); + console.log(param) + this.row.list = param; + console.log(this.row); + return true; + }, }, // beforeRouteLeave(to, from, next) { // diff --git a/frontend/src/modules/sendNumMgt/views/ProfileList.vue b/frontend/src/modules/sendNumMgt/views/ProfileList.vue index 9fa2aa1..d2ab73c 100644 --- a/frontend/src/modules/sendNumMgt/views/ProfileList.vue +++ b/frontend/src/modules/sendNumMgt/views/ProfileList.vue @@ -10,8 +10,8 @@
- + @@ -20,7 +20,7 @@
- @@ -28,7 +28,7 @@
- +
@@ -94,6 +94,8 @@ export default { statType: [], cate2Code: "", totalItems: 0, + searchType1:'', + searchType2:'custNm', // 테이블 리스트 데이터 perPageCnt: 20, grid: { @@ -168,6 +170,8 @@ export default { methods: { search: function(isKeep) { console.log(this.grid.params); + this.grid.params.searchType1 = this.searchType1 + this.grid.params.searchType2 = this.searchType2 this.$refs.table.search(this.grid.params, isKeep); this.sendStoreData(); }, diff --git a/frontend/src/modules/servMgt/views/rejectRecvList.vue b/frontend/src/modules/servMgt/views/rejectRecvList.vue index f7bdc94..c6d93c3 100644 --- a/frontend/src/modules/servMgt/views/rejectRecvList.vue +++ b/frontend/src/modules/servMgt/views/rejectRecvList.vue @@ -9,7 +9,7 @@
- @@ -17,7 +17,7 @@
- @@ -25,7 +25,7 @@
- +
@@ -98,6 +98,8 @@ export default { statType: [], cate2Code: "", totalItems: 0, + searchType1:'', + searchType2:'custNm', // 테이블 리스트 데이터 perPageCnt: 50, options: [ @@ -181,6 +183,8 @@ export default { methods: { search: function(isKeep) { console.log(this.grid.params); + this.grid.params.searchType1 = this.searchType1 + this.grid.params.searchType2 = this.searchType2 this.$refs.table.search(this.grid.params, isKeep); this.sendStoreData(); }, diff --git a/frontend/src/modules/stats/views/BsnmDayList.vue b/frontend/src/modules/stats/views/BsnmDayList.vue index 15d0c3f..670d12a 100644 --- a/frontend/src/modules/stats/views/BsnmDayList.vue +++ b/frontend/src/modules/stats/views/BsnmDayList.vue @@ -304,9 +304,10 @@ export default { setPeriodDay(day) { this.periodDay = day; this.endDate = new Date(); - this.startDate = moment(this.endDate) - .subtract(day, 'day') - .toDate(); + // this.startDate = moment(this.endDate) + // .subtract(day, 'day') + // .toDate(); + this.initSetStartDate(); this.closeDate('start'); this.closeDate('end'); diff --git a/frontend/src/modules/sysMgt/components/AdminDetailPop.vue b/frontend/src/modules/sysMgt/components/AdminDetailPop.vue index 229c7d9..2519a53 100644 --- a/frontend/src/modules/sysMgt/components/AdminDetailPop.vue +++ b/frontend/src/modules/sysMgt/components/AdminDetailPop.vue @@ -9,7 +9,6 @@

관리자 상세정보

유치채널 상세정보

-
@@ -42,9 +41,9 @@
-
-
+
diff --git a/frontend/src/modules/sysMgt/components/AdminRegPop.vue b/frontend/src/modules/sysMgt/components/AdminRegPop.vue index 71c799d..df8e087 100644 --- a/frontend/src/modules/sysMgt/components/AdminRegPop.vue +++ b/frontend/src/modules/sysMgt/components/AdminRegPop.vue @@ -88,7 +88,7 @@ import sysMgtApi from "../service/sysMgtApi.js"; import { utils_mixin, chkPattern2 } from '../service/mixins'; import SearchIdPopup from '../components/SearchIdPopup.vue'; import lodash from "lodash"; -import commonModal from "@/components/modal/commonModal"; +import commonModal from "../components/commonModal"; export default { name: "adminRegPop", @@ -343,6 +343,7 @@ export default { wrap[0].style.display = 'block'; var obj = document.getElementsByClassName('modal20'); obj[0].style.display = 'block'; + this.setAuthData(); }, // 모달 끄기 ModalClose(){ @@ -377,7 +378,7 @@ export default { } } }, - setAuthData() { + setAuthData() { // 권한 옵션. api.commAuth().then(response => { this.authType = response.data.data.list; diff --git a/frontend/src/modules/sysMgt/components/SearchIdPopup.vue b/frontend/src/modules/sysMgt/components/SearchIdPopup.vue index 38f2c79..825f37e 100644 --- a/frontend/src/modules/sysMgt/components/SearchIdPopup.vue +++ b/frontend/src/modules/sysMgt/components/SearchIdPopup.vue @@ -38,7 +38,6 @@
  • 이메일 : {{email}}
  • -
    @@ -157,8 +156,8 @@ export default { } - \ No newline at end of file + + + + + \ No newline at end of file diff --git a/frontend/src/modules/sysMgt/components/commonModal.vue b/frontend/src/modules/sysMgt/components/commonModal.vue index 2ddfade..004fa27 100644 --- a/frontend/src/modules/sysMgt/components/commonModal.vue +++ b/frontend/src/modules/sysMgt/components/commonModal.vue @@ -179,10 +179,4 @@ export default { }, } } - - \ No newline at end of file + \ No newline at end of file diff --git a/frontend/src/modules/sysMgt/views/AdminList.vue b/frontend/src/modules/sysMgt/views/AdminList.vue index 76872fc..b42ac84 100644 --- a/frontend/src/modules/sysMgt/views/AdminList.vue +++ b/frontend/src/modules/sysMgt/views/AdminList.vue @@ -9,7 +9,7 @@
    -
    -
    - +
    @@ -109,6 +109,8 @@ export default { totalItems: 0, // 테이블 리스트 데이터 perPageCnt: 20, + searchType1:'', + searchType2:'', grid: { url: '/api/v1/bo/sysMgt/adminList', pagePerRows: 20, @@ -176,7 +178,10 @@ export default { methods: { search: function(isKeep) { console.log('this.perPageCnt'+this.perPageCnt); - //console.log(this.grid.params); + //console.log(this.grid.params); + this.grid.params.searchType1 = this.searchType1 + this.grid.params.searchType2 = this.searchType2 + this.grid.pagePerRows = this.perPageCnt this.$refs.table.search(this.grid.params, isKeep); this.sendStoreData(); }, diff --git a/src/main/java/kr/co/uplus/ez/Scheduler.java b/src/main/java/kr/co/uplus/ez/Scheduler.java index 99c70bd..0b2b29f 100644 --- a/src/main/java/kr/co/uplus/ez/Scheduler.java +++ b/src/main/java/kr/co/uplus/ez/Scheduler.java @@ -1,14 +1,15 @@ package kr.co.uplus.ez; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Component; -import lombok.extern.slf4j.Slf4j; - -@Slf4j @Component public class Scheduler { + private static final Logger log = LoggerFactory.getLogger(Scheduler.class); + /** * 스케줄러 트리거는 해당영역에 선언 / 서비스영역은 별도 */ diff --git a/src/main/java/kr/co/uplus/ez/api/custMgt/CustMgtService.java b/src/main/java/kr/co/uplus/ez/api/custMgt/CustMgtService.java index 18fc116..7a567f3 100644 --- a/src/main/java/kr/co/uplus/ez/api/custMgt/CustMgtService.java +++ b/src/main/java/kr/co/uplus/ez/api/custMgt/CustMgtService.java @@ -795,7 +795,7 @@ public class CustMgtService { paramMap.put("userId", updateAdminInfoTotalReqDto.getUserId()); // 3-1. 기존 정액한도금액 조회 rstAmtMap = custMgtMapper.selectAdminSendingLimt(paramMap); - if(rstAmtMap.get("fxLmtAmt") != null) { + if(rstAmtMap != null) { String stFxLmtAmt = rstAmtMap.get("fxLmtAmt").toString(); BigDecimal fxLmtAmt = new BigDecimal(stFxLmtAmt); diff --git a/src/main/java/kr/co/uplus/ez/api/login/LoginService.java b/src/main/java/kr/co/uplus/ez/api/login/LoginService.java index c6e6a96..7776a17 100644 --- a/src/main/java/kr/co/uplus/ez/api/login/LoginService.java +++ b/src/main/java/kr/co/uplus/ez/api/login/LoginService.java @@ -36,6 +36,9 @@ public class LoginService { @Value("#{'${authentication.without.id}'.split(',')}") private List authenticationWithoutId; + @Value("${sendMsg.tableNm}") + private String sendMsgTableName; + /** * 1차 로그인 인증 * @@ -154,7 +157,7 @@ public class LoginService { sendMsgDto.setClientKey(clientKey); sendMsgDto.setMsg("인증 번호는 [" + authNum + "] 입니다."); sendMsgDto.setPhone(user.getHpNo()); - + sendMsgDto.setTableName(sendMsgTableName); loginMapper.insertSendMsg(sendMsgDto); return new AuthNumResDto(); @@ -254,7 +257,7 @@ public class LoginService { sendMsgDto.setClientKey(clientKey); sendMsgDto.setMsg("[U+메시지허브이지] \n임시 비밀번호 안내 : " + randomPw + "\n로그인 후, 비밀번호 변경해주세요.\n"); sendMsgDto.setPhone(user.getHpNo()); - + sendMsgDto.setTableName(sendMsgTableName); loginMapper.insertSendMsg(sendMsgDto); return new ResetPasswordResDto(); diff --git a/src/main/java/kr/co/uplus/ez/api/login/dto/SendMsgDto.java b/src/main/java/kr/co/uplus/ez/api/login/dto/SendMsgDto.java index bec2f9f..c9f1047 100644 --- a/src/main/java/kr/co/uplus/ez/api/login/dto/SendMsgDto.java +++ b/src/main/java/kr/co/uplus/ez/api/login/dto/SendMsgDto.java @@ -9,4 +9,5 @@ public class SendMsgDto { private String clientKey; // 클라이언트키 private String msg; // 발송 메시지 private String phone; // 수신번호 + private String tableName; } diff --git a/src/main/java/kr/co/uplus/ez/api/mntrng/dto/SendListReqDto.java b/src/main/java/kr/co/uplus/ez/api/mntrng/dto/SendListReqDto.java index 7cf6d2c..bcca9e9 100644 --- a/src/main/java/kr/co/uplus/ez/api/mntrng/dto/SendListReqDto.java +++ b/src/main/java/kr/co/uplus/ez/api/mntrng/dto/SendListReqDto.java @@ -22,7 +22,6 @@ public class SendListReqDto implements Serializable { @ApiModelProperty(example = "발송일", name = "발송일",dataType = "String") private String sentDate; - @NotNull @ApiModelProperty(example = "요청채널", name = "요청채널", dataType = "String") private String reqChennel; diff --git a/src/main/java/kr/co/uplus/ez/api/riskMgt/dto/SendNumIntrcpList.java b/src/main/java/kr/co/uplus/ez/api/riskMgt/dto/SendNumIntrcpList.java index efc3ac8..b083701 100644 --- a/src/main/java/kr/co/uplus/ez/api/riskMgt/dto/SendNumIntrcpList.java +++ b/src/main/java/kr/co/uplus/ez/api/riskMgt/dto/SendNumIntrcpList.java @@ -15,12 +15,16 @@ public class SendNumIntrcpList implements Serializable { private String blcksndrno; @ApiModelProperty(example = "발송타입", name = "발송타입", dataType = "String") private String sndblckTpCd; + @ApiModelProperty(example = "발송타입명", name = "발송타입명", dataType = "String") + private String sndblckTpNm; @ApiModelProperty(example = "차단여부", name = "차단여부", dataType = "String") private String blckYn; @ApiModelProperty(example = "마지막 수정일", name = "마지막 수정일", dataType = "String") private String lastChgDt; - @ApiModelProperty(example = "차단사유", name = "차단사유", dataType = "String") + @ApiModelProperty(example = "차단사유타입", name = "차단사유타입", dataType = "String") private String blckRsnCd; + @ApiModelProperty(example = "차단사유명", name = "차단사유명", dataType = "String") + private String blckRsnNm; @ApiModelProperty(example = "등록자", name = "등록자", dataType = "String") private String regId; } \ No newline at end of file diff --git a/src/main/java/kr/co/uplus/ez/api/riskMgt/dto/WebInsertIntrcpReqDto.java b/src/main/java/kr/co/uplus/ez/api/riskMgt/dto/WebInsertIntrcpReqDto.java index a1b2884..218b137 100644 --- a/src/main/java/kr/co/uplus/ez/api/riskMgt/dto/WebInsertIntrcpReqDto.java +++ b/src/main/java/kr/co/uplus/ez/api/riskMgt/dto/WebInsertIntrcpReqDto.java @@ -24,7 +24,8 @@ public class WebInsertIntrcpReqDto implements Serializable { private String searchType1; @ApiModelProperty(example = "검색어 (입력항목)", name = "검색어 (입력항목)", dataType = "String") private String searchText1; - + @ApiModelProperty(example = "검색어 (입력항목)", name = "검색어 (입력항목)", dataType = "String") + private String searchType3; @NotNull @ApiModelProperty(example = "페이지당 조회할 목록 수", name = "페이지당 조회할 목록 수", dataType = "String") private int pagePerRows; diff --git a/src/main/java/kr/co/uplus/ez/api/riskMgt/dto/WebIntrcpList.java b/src/main/java/kr/co/uplus/ez/api/riskMgt/dto/WebIntrcpList.java index 6e7e7ae..f4d077a 100644 --- a/src/main/java/kr/co/uplus/ez/api/riskMgt/dto/WebIntrcpList.java +++ b/src/main/java/kr/co/uplus/ez/api/riskMgt/dto/WebIntrcpList.java @@ -27,4 +27,6 @@ public class WebIntrcpList implements Serializable { private String blckRsnCd; @ApiModelProperty(example = "발송일자", name = "발송일자", dataType = "String") private String blckDt; + @ApiModelProperty(example = "서비스ID", name = "서비스ID", dataType = "String") + private String serviceId; } \ No newline at end of file diff --git a/src/main/java/kr/co/uplus/ez/api/riskMgt/dto/ZezNumIntrcpList.java b/src/main/java/kr/co/uplus/ez/api/riskMgt/dto/ZezNumIntrcpList.java index f158c91..b18d4d2 100644 --- a/src/main/java/kr/co/uplus/ez/api/riskMgt/dto/ZezNumIntrcpList.java +++ b/src/main/java/kr/co/uplus/ez/api/riskMgt/dto/ZezNumIntrcpList.java @@ -10,7 +10,7 @@ import java.io.Serializable; public class ZezNumIntrcpList implements Serializable { @ApiModelProperty(example = "리스트 번호", name = "리스트 번호", dataType = "String") - private String no; + private int no; @ApiModelProperty(example = "고객사", name = "고객사", dataType = "String") private String custNm; @ApiModelProperty(example = "사업자번호", name = "사업자번호", dataType = "String") diff --git a/src/main/java/kr/co/uplus/ez/api/sendNumMgt/dto/DeleteNumber.java b/src/main/java/kr/co/uplus/ez/api/sendNumMgt/dto/DeleteNumber.java index 5eb4e3d..fe2eb34 100644 --- a/src/main/java/kr/co/uplus/ez/api/sendNumMgt/dto/DeleteNumber.java +++ b/src/main/java/kr/co/uplus/ez/api/sendNumMgt/dto/DeleteNumber.java @@ -1,17 +1,15 @@ package kr.co.uplus.ez.api.sendNumMgt.dto; -import java.io.Serializable; - import io.swagger.annotations.ApiModelProperty; import lombok.Data; +import java.io.Serializable; + @SuppressWarnings("serial") @Data public class DeleteNumber implements Serializable{ @ApiModelProperty(example = "등록번호", name = "등록번호", dataType = "String") - private String regNo; + private String regReqNo; - @ApiModelProperty(example = "관리자 ID", name = "관리자 ID", dataType = "String") - private String adminId; } diff --git a/src/main/java/kr/co/uplus/ez/api/sendNumMgt/dto/DeleteNumberReqDto.java b/src/main/java/kr/co/uplus/ez/api/sendNumMgt/dto/DeleteNumberReqDto.java index c9b7044..a519b7d 100644 --- a/src/main/java/kr/co/uplus/ez/api/sendNumMgt/dto/DeleteNumberReqDto.java +++ b/src/main/java/kr/co/uplus/ez/api/sendNumMgt/dto/DeleteNumberReqDto.java @@ -1,16 +1,14 @@ package kr.co.uplus.ez.api.sendNumMgt.dto; +import lombok.Data; + import java.io.Serializable; import java.util.List; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - @SuppressWarnings("serial") @Data public class DeleteNumberReqDto implements Serializable{ - @ApiModelProperty(example = "등록번호 리스트", name = "등록번호 리스트", dataType = "String") private List list; } diff --git a/src/main/resources/application-dev.yml b/src/main/resources/application-dev.yml index 2a7469e..fe1ee3b 100644 --- a/src/main/resources/application-dev.yml +++ b/src/main/resources/application-dev.yml @@ -37,7 +37,6 @@ authentication: without: id: superadminuser,jambler01,jambler02,jambler03,jambler04,jambler05,jambler06 - mail: from: msghubez@lguplus.co.kr templeteCode: E0005 @@ -48,7 +47,7 @@ msghubez: applicationId: EZ_ADMIN uri: sendTemplateMail: /api/v1/fo/sendTemplateMail - + testId: prodCd: LPZ0045389 rpsnBday: 19800101 @@ -64,4 +63,7 @@ testId: file-resource: info: sendNumber: - path: /efs/admin/sendNumber/ \ No newline at end of file + path: /efs/admin/sendNumber/ + +sendMsg: + tableNm: EZ_MSG_NORMAL \ No newline at end of file diff --git a/src/main/resources/application-local.yml b/src/main/resources/application-local.yml index 77beefe..116bc03 100644 --- a/src/main/resources/application-local.yml +++ b/src/main/resources/application-local.yml @@ -35,15 +35,15 @@ schedule: # 2차인증 제외 ID목록. authentication: without: - id: jambler01,jambler02,jambler03,jambler04,jambler05,jambler06 - + id: jambler01,jambler02,jambler03,jambler04,jambler05,jambler06,superadminuser + mail: from: msghubez@lguplus.co.kr templeteCode: E0005 msghubez: - homepage-url: https://mhez-dev.uplus.co.kr - api-url: https://localhost:7071 + hmoepage-url: https://mhez-dev.uplus.co.kr + api-url: https://api-int.mhez-dev.uplus.co.kr applicationId: EZ_ADMIN uri: sendTemplateMail: /api/v1/fo/sendTemplateMail @@ -63,4 +63,7 @@ testId: file-resource: info: sendNumber: - path: /efs/admin/sendNumber/ \ No newline at end of file + path: /efs/admin/sendNumber/ + +sendMsg: + tableNm: EZ_MSG_NORMAL \ No newline at end of file diff --git a/src/main/resources/application-prd.yml b/src/main/resources/application-prd.yml index b9dd92f..e908495 100644 --- a/src/main/resources/application-prd.yml +++ b/src/main/resources/application-prd.yml @@ -63,4 +63,7 @@ testId: file-resource: info: sendNumber: - path: /efs/admin/sendNumber/ \ No newline at end of file + path: /efs/admin/sendNumber/ + +sendMsg: + tableNm: EZ_MSG_NORMAL \ No newline at end of file diff --git a/src/main/resources/application-stg.yml b/src/main/resources/application-stg.yml index 866824a..bef9462 100644 --- a/src/main/resources/application-stg.yml +++ b/src/main/resources/application-stg.yml @@ -47,7 +47,7 @@ msghubez: applicationId: EZ_ADMIN uri: sendTemplateMail: /api/v1/fo/sendTemplateMail - + testId: prodCd: LPZ0045389 rpsnBday: 19800101 @@ -63,4 +63,7 @@ testId: file-resource: info: sendNumber: - path: /efs/admin/sendNumber/ \ No newline at end of file + path: /efs/admin/sendNumber/ + +sendMsg: + tableNm: EZ_MSG_NORMAL \ No newline at end of file