(function () { "use strict"; angular .module('codeAPLEBOX.client.models.webAPI_customer') .factory('WEB_API_CUSTOMER', WEB_API_CUSTOMER); /* @ngInject */ function WEB_API_CUSTOMER(webAPICustomerService, $q) { return { // ======================================================================= // 홈 // ======================================================================= // 요약정보 (총 사용료, 총 추가 사용료, 대여갯수, 추가사용료 발생건수, 오늘 반납 수량, 잔여보증금, 계약 보증금, 만료일 getSummary: function (request) { var deferred = $q.defer(); webAPICustomerService.getSummary({ customerId: request.customerId, currentMonth: request.currentMonth }).then(function(info){ deferred.resolve(info); }).catch(function(err) { deferred.reject(err); }); return deferred.promise; }, // 대여현황 getRelease: function (request) { var deferred = $q.defer(); webAPICustomerService.getRelease({ customerId: request.customerId, detailStatusYearMonth: request.detailStatusYearMonth, }).then(function(info){ deferred.resolve(info); }).catch(function(err) { deferred.reject(err); }); return deferred.promise; }, // 대여현황 자세히 getDetailRents: function (request) { var deferred = $q.defer(); webAPICustomerService.getDetailRents({ releaseId: request.releaseId }).then(function(info){ deferred.resolve(info); }).catch(function(err) { deferred.reject(err); }); return deferred.promise; }, // 월별 내역 요약(총 대여수량, 총 반납수량, 총 사용료, 총 추가사용료, 총 환급보증금, 대여내역) getMonthlySummary: function (request) { var deferred = $q.defer(); webAPICustomerService.getMonthlySummary({ customerId: request.customerId, currentMonth: request.currentMonth }).then(function(info){ deferred.resolve(info); }).catch(function(err) { deferred.reject(err); }); return deferred.promise; }, // ======================================================================= // 상세내역 // ======================================================================= // 반납내역 getReceipt: function (request) { var deferred = $q.defer(); webAPICustomerService.getReceipt({ customerId: request.customerId, detailStatusYearMonth: request.detailStatusYearMonth, checkOverReceipt: request.checkOverReceipt }).then(function(info){ deferred.resolve(info); }).catch(function(err) { deferred.reject(err); }); return deferred.promise; }, // 반납내역 상세 getDetailReceipt: function (request) { var deferred = $q.defer(); webAPICustomerService.getDetailReceipt({ receiptId: request.receiptId }).then(function(info){ deferred.resolve(info); }).catch(function(err) { deferred.reject(err); }); return deferred.promise; }, // ======================================================================= // 이관/수관 // ======================================================================= // 이관/수관내역 getTransactionList: function (request) { var deferred = $q.defer(); webAPICustomerService.getTransactionList({ customerId: request.customerId, currentMonth: request.currentMonth, searchInfo: request.searchInfo }).then(function(info){ deferred.resolve(info); }).catch(function(err) { deferred.reject(err); }); return deferred.promise; }, // 고객목록 가져오기 getCustomerList: function (request) { var deferred = $q.defer(); webAPICustomerService.getCustomerList({ customerId: request.customerId, curPage: request.curPage, boardCnt: request.boardCnt, searchInfo: request.searchInfo, orderInfo: request.orderInfo }).then(function(info){ deferred.resolve(info); }).catch(function(err) { deferred.reject(err); }); return deferred.promise; }, // 개인별 이관/수관내역 getDetailTransactionList: function (request) { var deferred = $q.defer(); webAPICustomerService.getDetailTransactionList({ transactionId: request.transactionId }).then(function(info){ deferred.resolve(info); }).catch(function(err) { deferred.reject(err); }); return deferred.promise; }, // 이관가능수량 getAvailableTransactionCount: function (request) { var deferred = $q.defer(); webAPICustomerService.getAvailableTransactionCount({ customerId: request.customerId }).then(function(info){ deferred.resolve(info); }).catch(function(err) { deferred.reject(err); }); return deferred.promise; }, // 시스템 업데이트 확인 checkSystemUpdateToday: function (request) { var deferred = $q.defer(); webAPICustomerService.checkSystemUpdateToday() .then(function(info){ deferred.resolve(info); }).catch(function(err) { deferred.reject(err); }); return deferred.promise; }, // 이관신청 requestTransaction: function (request) { var deferred = $q.defer(); webAPICustomerService.requestTransaction({ transactionInfo: request.transactionInfo, historyInfo: request.historyInfo, }).then(function(info){ deferred.resolve(info); }).catch(function(err) { deferred.reject(err); }); return deferred.promise; }, // ======================================================================= // 설정 // ======================================================================= // 내 보증금 getCustomerDeposit: function (request) { var deferred = $q.defer(); webAPICustomerService.getCustomerDeposit({ customerId: request.customerId }).then(function(info){ deferred.resolve(info); }).catch(function(err) { deferred.reject(err); }); return deferred.promise; }, // 서비스이용약관 getCondition: function (request) { var deferred = $q.defer(); webAPICustomerService.getCondition({ category: request.category }).then(function(info){ deferred.resolve(info); }).catch(function(err) { deferred.reject(err); }); return deferred.promise; }, // 대여상태확인 checkDoingRelease: function (request) { var deferred = $q.defer(); webAPICustomerService.checkDoingRelease({ customerId: request.customerId }).then(function(info){ deferred.resolve(info); }).catch(function(err) { deferred.reject(err); }); return deferred.promise; }, // 회원탈퇴 setWithdrawal: function (request) { var deferred = $q.defer(); webAPICustomerService.setWithdrawal({ customerId: request.customerId }).then(function(info){ deferred.resolve(info); }).catch(function(err) { deferred.reject(err); }); return deferred.promise; }, // 문자수신동의 setAgreeSNS: function (request) { var deferred = $q.defer(); webAPICustomerService.setAgreeSNS({ customerId: request.customerId, checkSNS: request.checkSNS }).then(function(info){ deferred.resolve(info); }).catch(function(err) { deferred.reject(err); }); return deferred.promise; }, // 사용자 정보 수정 modifyCustomer: function (request) { var deferred = $q.defer(); webAPICustomerService.modifyCustomer({ customerId: request.customerId, modifyCustomerInfo: request.modifyCustomerInfo }).then(function(info){ deferred.resolve(info); }).catch(function(err) { deferred.reject(err); }); return deferred.promise; }, // 비밀번호변경 changePassword: function (request) { var deferred = $q.defer(); webAPICustomerService.changePassword({ customerId: request.customerId, newPassword: request.newPassword }).then(function(info){ deferred.resolve(info); }).catch(function(err) { deferred.reject(err); }); return deferred.promise; }, // ======================================================================= // 공통 // ======================================================================= } } })();