(function () { "use strict"; angular .module('codeAPLEBOX.client.user.customerLogin.customerjoinstep1') .controller('customerjoinstep1Controller', customerjoinstep1Controller); /* @ngInject */ function customerjoinstep1Controller($state, appConfig, $log, ADMIN_WEB_API, WEB_API_CUSTOMER) { var vm = this; // ======================================================================= // 초기데이터 // ======================================================================= iniData(); // ======================================================================= // Angularjs Function // ======================================================================= vm.closeDialog = function(){ vm.checkDialogSendAuthMessage = false; vm.checkDialogCompletedAuth_success = false; vm.checkDialogCompletedAuth_fail = false; vm.checkDialogAggrement = false; // 약관보기 vm.agreeTitle = "서비스 이용약관"; vm.aggrement = ""; } vm.completedSendAuthMessage = function(){ vm.checkDialogSendAuthMessage = false; } vm.submitNewCustomer = function(){ var check = /^(?=.*[a-zA-Z])(?=.*[0-9])/.test(vm.newCustomerInfo.password); if(vm.newCustomerInfo.password.length < 8 || !check){ vm.checkAuth = false; alert('비밀번호는 영문 + 숫자로 최소 8자리 이상입니다.'); return; } if(vm.newCustomerInfo.accountID == null || vm.newCustomerInfo.accountID == ''){ vm.checkAuth = false; alert('계정을 입력해 주세요.'); return; } if(vm.newCustomerInfo.password == null || vm.newCustomerInfo.password == ''){ vm.checkAuth = false; alert('비밀번호를 입력해 주세요.'); return; } if(vm.newCustomerInfo.name == null || vm.newCustomerInfo.name == ''){ vm.checkAuth = false; alert('이름을 입력해 주세요.'); return; } if( vm.newCustomerInfo.mobile1 == null || vm.newCustomerInfo.mobile1 == '' || vm.newCustomerInfo.mobile2 == null || vm.newCustomerInfo.mobile2 == '' || vm.newCustomerInfo.mobile3 == null || vm.newCustomerInfo.mobile3 == '' ){ vm.checkAuth = false; alert('휴대폰 번호를 입력해 주세요.'); return; } if(!vm.checkedDuplicateId){ vm.checkAuth = false; alert('계정 중복 확인을 해주세요.'); return; } var check = /^(?=.*[a-zA-Z])(?=.*[0-9])/.test(vm.newCustomerInfo.password); if(vm.newCustomerInfo.password.length < 8 || !check){ vm.checkAuth = false; alert('비밀번호는 영문 + 숫자로 최소 8자리 이상입니다.'); return; } if(vm.newCustomerInfo.password != vm.certifiedPassword){ vm.checkAuth = false; alert('비밀번호가 일치하지 않습니다. 비밀번호를 확인해 주세요.'); return; } // 인증번호 if(!vm.checkAuth){ alert('휴대폰 인증을 해주세요.'); return; } if(!vm.checkedDuplicateUniqueNumber && (vm.newCustomerInfo.uniqueNumber != null && vm.newCustomerInfo.uniqueNumber != '' )){ vm.checkAuth = false; alert('고유번호 중복 확인을 해주세요.'); return; } if(!vm.newCustomerInfo.checkServiceAgree){ alert('서비스 이용약관에 동의해 주세요.'); return; } if(!vm.newCustomerInfo.checkPersonAgree){ alert('개인정보 수집 및 이용약관에 동의해 주세요.'); return; } var dateTime = new Date(); // 현재 날짜 dateTime = moment(dateTime).format("YYYY-MM-DD HH:mm:ss").toString(); vm.newCustomerInfo.dateTime = dateTime; ADMIN_WEB_API.submitNewCustomer({ newCustomerInfo: vm.newCustomerInfo }).then(function (result) { $state.go('main.customerjoinstep2'); }).catch(function (err) { $log.error(err); }); // } vm.goCustomerLogin = function(){ $state.go('main.customerLogin'); } vm.changeAccountId = function(){ vm.checkedDuplicateId = false; // 중복확인 } vm.clickDuplicatedId = function(){ if(vm.newCustomerInfo.accountID.length < 4){ alert("계정은 4자이상 입력해주세요."); return; } ADMIN_WEB_API.checkDuplicatedId({ accountID: vm.newCustomerInfo.accountID }).then(function (result) { var check = result.data.check; if(check){ vm.checkedDuplicateId = true; // 중복확인 alert("사용 가능한 계정입니다.") }else{ vm.checkedDuplicateId = false; // 중복확인 alert("중복된 계정입니다. 다른 계정을 입력해 주세요.") } }).catch(function (err) { $log.error(err); }); } vm.changeAccountUniqueNumber = function(){ vm.checkedDuplicateUniqueNumber = false; // 중복확인 } vm.clickDuplicatedUniqueNumber = function(){ if(vm.newCustomerInfo.uniqueNumber != null && vm.newCustomerInfo.uniqueNumber != '' ){ ADMIN_WEB_API.checkDuplicatedUniqueNumber({ uniqueNumber: vm.newCustomerInfo.uniqueNumber }).then(function (result) { var check = result.data.check; if(check){ vm.checkedDuplicateUniqueNumber = true; // 중복확인 alert("사용 가능한 고유번호입니다.") }else{ vm.checkedDuplicateUniqueNumber = false; // 중복확인 alert("중복된 고유번호입니다. 고유번호를 확인해 주세요.") } }).catch(function (err) { $log.error(err); }); }else{ alert("고유번호를 입력해 주세요."); return; } } vm.changeCheckMobileAuth = function(){ vm.checkAuth = false; } /* start send auth message */ // 휴대폰 인증 번호 발송 vm.sendAuthMessage = function() { vm.checkAuth = false; /** * format : 01012341234 */ /** 휴대폰 번호 */ if(vm.newCustomerInfo.mobile1 == null || vm.newCustomerInfo.mobile1 == '' || vm.newCustomerInfo.mobile2 == null || vm.newCustomerInfo.mobile2 == '' || vm.newCustomerInfo.mobile3 == null || vm.newCustomerInfo.mobile3 == '' ){ alert("휴대폰 번호를 입력해 주세요."); return; } const phoneNumber = vm.newCustomerInfo.mobile1 + vm.newCustomerInfo.mobile2 + vm.newCustomerInfo.mobile3; ADMIN_WEB_API.sendAuthMessage({ phoneNumber: phoneNumber, }).then(function (result) { vm.checkDialogSendAuthMessage = true; }).catch(function (err) { $log.debug(err); }); } /* end send auth message */ /* start check auth message */ // 인증 번호 확인 vm.checkAuthMessage = function() { vm.checkAuth = false; /** 휴대폰 번호 */ const phoneNumber = vm.newCustomerInfo.mobile1 + vm.newCustomerInfo.mobile2 + vm.newCustomerInfo.mobile3; ADMIN_WEB_API.checkAuthMessage({ phoneNumber: phoneNumber, code: vm.authCode, }).then(function (result) { var check = result.data.status; if(check == 'success'){ vm.checkDialogCompletedAuth_success = true; vm.checkAuth = true; }else{ vm.checkDialogCompletedAuth_fail = true; vm.checkAuth = false; } }).catch(function (err) { $log.debug(err); }); } /* end check auth message */ vm.checkSubAllFunc = function(index){ if(!vm.newCustomerInfo.checkServiceAgree || !vm.newCustomerInfo.checkPersonAgree || !vm.newCustomerInfo.checkSNS){ vm.checkAll = false; }else{ vm.checkAll = true; } if(index == 0){ vm.agreeTitle = "서비스 이용약관"; if(vm.newCustomerInfo.checkServiceAgree){ vm.checkDialogAggrement = true; } }else if(index == 1){ vm.agreeTitle = "개인정보 수집 및 이용약관"; if(vm.newCustomerInfo.checkPersonAgree){ vm.checkDialogAggrement = true; } }else if(index == 2){ vm.agreeTitle = "휴대폰 문자수신"; if(vm.newCustomerInfo.checkSNS){ vm.checkDialogAggrement = true; } } getCondition(index); } vm.checkAllFunc = function(){ if(vm.checkAll){ vm.newCustomerInfo.checkServiceAgree = true; vm.newCustomerInfo.checkPersonAgree = true; vm.newCustomerInfo.checkSNS = true; }else{ vm.newCustomerInfo.checkServiceAgree = false; vm.newCustomerInfo.checkPersonAgree = false; vm.newCustomerInfo.checkSNS = false; } } // ======================================================================= // Common API // ======================================================================= function iniData(){ vm.agreeTitle = "서비스 이용약관"; vm.aggrement = ""; /* start dialog */ vm.checkDialogSendAuthMessage = false; vm.checkDialogCompletedAuth_success = false; vm.checkDialogCompletedAuth_fail = false; vm.checkAuth = false; vm.checkDialogAggrement = false; // 약관보기 /* end dialog */ vm.newCustomerInfo = { dateTime: null, accountID: "", password: "", name: "", mobile1: "010", mobile2: "", mobile3: "", uniqueNumber: null, checkServiceAgree: false, checkPersonAgree: false, checkSNS: false } vm.certifiedPassword = ""; vm.authCode = ""; /** 본인확인 인증 번호 */ vm.checkedDuplicateId = false; // 중복확인 vm.checkedoPassword = false; // 패스워드 확인 vm.checkedDuplicateUniqueNumber = false; // 중복확인 vm.checkAll = false; } vm.clickDialogAggrement = function(index){ // 0: 서비스, 1: 개인정보, 2: 휴대폰 vm.checkDialogAggrement = true; // 약관보기 if(index == 0){ vm.agreeTitle = "서비스 이용약관"; }else if(index == 1){ vm.agreeTitle = "개인정보 수집 및 이용약관"; }else if(index == 2){ vm.agreeTitle = "휴대폰 문자수신"; } getCondition(index); } function getCondition(index){ ADMIN_WEB_API.getCondition({ category: index }).then(function (result) { vm.aggrement = result.data.aggrement; }).catch(function (err) { $log.error(err); }); } } })();