angular.module('push') .factory('LocalOperateService', function (UtilService, ConfigService, UserService, $q, SqliteStorageService) { //--synchrotype 0:已同步,1:新增,2:修改,3:逻辑删除,4:物理删除 return { //--新建本地文件夹 createLocalFolder: function (tempfolder, localparentid, parentid, level) { var deferred = $q.defer(); var tempdate = UtilService.formatDate(); var folder = { localid: tempdate.timestamp + "",//本地id localparentid: localparentid, id: 0, parentid: parentid, level: level, userid: UserService.id, usercomefrom: ConfigService.comefrom, name: tempfolder.name, createtime: tempdate.formattime, status: 1, isCloud: 0, synchrotype: 1, updatetime: tempdate.formattime,//修改时间 counts: 0, moduleid: 81, type: 1,//模块:1-对接宝,2-资源库 fixtype: 0,//1-公共库,2-私有库 content: tempfolder.content,//文件夹简介 favourcount: 0, visitcount: 0, commcount: 0, infocount: 0 }; SqliteStorageService.insertSingleData("conninfofolder", folder).then(function (response) { deferred.resolve(response); }, function (err) { deferred.reject(err); }); return deferred.promise; }, //--设置本地文件夹 setLocalFolder: function (tempfolder) { var deferred = $q.defer(); var tempdate = UtilService.formatDate(); var synchrotype = tempfolder.synchrotype == 1 ? 1 : 2; var folder = { localid: tempfolder.localid, name: tempfolder.name, synchrotype: synchrotype, updatetime: tempdate.formattime,//修改时间 content: tempfolder.content//文件夹简介 }; SqliteStorageService.updateSingleData("conninfofolder", folder).then(function (response) { SqliteStorageService.updateEditFlg(1); deferred.resolve(response); }, function (err) { deferred.reject(err); }); return deferred.promise; }, //新建本地资源库 createLocalResLib: function (resliblist) { var deferred = $q.defer(); SqliteStorageService.insertBatchData("conninfofolder", resliblist).then(function (response) { deferred.resolve(response); }, function (err) { deferred.reject(err); }); return deferred.promise; }, //--查询当前文件夹下所有子文件夹(将当前文件夹及所有子文件夹localid组成list返回) queryAllFolderByLocalid: function (templocalid) { var deferred = $q.defer(); var folderlocalidlist = [templocalid]; var queryFolder = function (temp) { var sql = "select localid from conninfofolder where localparentid in (" + temp + ")"; SqliteStorageService.queryData(sql).then(function (response) { if (response.length > 0) { var templist = []; angular.forEach(response, function (value, index) { folderlocalidlist.push(value.localid); templist.push(value.localid); }); queryFolder(templist.join(",")); } else { deferred.resolve(folderlocalidlist); } }, function (err) { deferred.reject(err); }); }; queryFolder(templocalid); return deferred.promise; }, //--查询当前文件夹对应所有父文件夹(将当前文件夹及对应所有父文件夹localid组成list返回) queryParentFolderByLocalid: function (templocalid) { var deferred = $q.defer(); var parentfolderlocalidlist = [templocalid]; var queryParentFolder = function (temp) { var sql = "select localparentid from conninfofolder where localid = '" + temp + "'"; SqliteStorageService.queryData(sql).then(function (response) { if (response.length > 0) { var templist = []; if (response[0].localparentid != '0') { templist.push(response[0].localparentid); queryParentFolder(response[0].localparentid); } else { deferred.resolve(parentfolderlocalidlist); } } else { deferred.resolve(parentfolderlocalidlist); } }, function (err) { deferred.reject(err); }); }; queryParentFolder(templocalid); return deferred.promise; } } });