unserver-unify
Version:
142 lines (139 loc) • 4.36 kB
JavaScript
;
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;
}
});