UNPKG

unserver-unify

Version:

142 lines (139 loc) 4.36 kB
'use strict'; angular.module('bamboo.course').service('courseBizModel', function($state, ApiService, $q, oopHelper, searchHelper) { var self = this; // for gsx self.searchCourseByParams = function(config) { // if (angular.isString(searchObj)) { // searchObj = JSON.parse(searchObj); // } var searchObj = config.search; console.log(searchObj); self.durationPreProcess(searchObj); console.log(searchObj); var _searchObj = angular.copy(searchObj); var timeCondition = searchHelper.getSearchKeyCondtion('Time', _searchObj); //var priceCondition = searchHelper.getSearchKeyCondtion('Price', _searchObj); console.log(timeCondition); searchObj.training_duration = timeCondition; delete searchObj.timestart; delete searchObj.timestop; if (!timeCondition) { delete searchObj.training_duration; } delete searchObj.type; var info = { id: ApiService.gid, action: "getcourselist", start: config.start, limit: config.limit, // sort: { // reverse: true, // predicate: sortmethod // }, search: searchObj, }; console.log(info); return ApiService.post('/lcourses', info); } // function preProcess() { // if (!this.training_duration) return; // if (this.training_duration > 9) { // this.timestart = this.training_duration; // this.timestop = Number.MAX_SAFE_INTEGER; // } else { // this.timestart = this.training_duration - 3; // this.timestart = this.timestart < 0 ? 0 : this.timestart; // this.timestop = this.training_duration; // } // } self.durationPreProcess = function(searchObj) { if (!searchObj.training_duration) return; if (searchObj.training_duration > 9) { searchObj.timestart = searchObj.training_duration; searchObj.timestop = Number.MAX_SAFE_INTEGER; } else { searchObj.timestart = searchObj.training_duration - 3; searchObj.timestart = searchObj.timestart < 0 ? 0 : searchObj.timestart; searchObj.timestop = searchObj.training_duration; } } self.Api = function(info) { var deferred = $q.defer(); ApiService.post('/lcourses', info).then(function(result) { if (result.data.success) { deferred.resolve(result.data.data); } else { deferred.reject(result); } }, function(error) { deferred.resolve(error); }); } /** * retrive course category */ self.getFirstLevelCourseCategory = function() { return Object.keys(ApiService.category); } self.isErrTestAvbl = function(lid) { var info = { action: 'geterrorpaper', cid: lid, } var deferred = $q.defer(); var promise = deferred.promise; ApiService.post('/exam', info).then(function(data) { console.log(data); var res = data.data.data if (res && res.qstList && res.qstList.length > 0) { deferred.resolve(true); } else { deferred.reject(false); } }, function(error) { deferred.reject(false); }); return promise; } self.isTargetTestAvbl = function(lid) { var info = { action: 'getpersonalpaper', cid: lid, } var deferred = $q.defer(); var promise = deferred.promise; ApiService.post('/exam', info).then(function(data) { console.log(data); var res = data.data.data if (res && res.qstList && res.qstList.length > 0) { deferred.resolve(true); } else { deferred.reject(false); } }, function(error) { deferred.reject(false); }); return promise; } self.getCategoryInfo = function() { var deferred = $q.defer(); var info = { action: 'getcategoryinfos', groupKey: 'category', } ApiService.post('/news', info).then(function(result) { if (result.data.success) { var cateInfos = {}; angular.forEach(result.data.data, function(item) { var key = item.key; cateInfos[key] = item; }) console.log(self.cateInfos); deferred.resolve(cateInfos); } else { deferred.reject(result); } }); return deferred.promise; } });