LocalOperateService.js 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121
  1. angular.module('push')
  2. .factory('LocalOperateService', function (UtilService, ConfigService, UserService, $q, SqliteStorageService) {
  3. //--synchrotype 0:已同步,1:新增,2:修改,3:逻辑删除,4:物理删除
  4. return {
  5. //--新建本地文件夹
  6. createLocalFolder: function (tempfolder, localparentid, parentid, level) {
  7. var deferred = $q.defer();
  8. var tempdate = UtilService.formatDate();
  9. var folder = {
  10. localid: tempdate.timestamp + "",//本地id
  11. localparentid: localparentid,
  12. id: 0,
  13. parentid: parentid,
  14. level: level,
  15. userid: UserService.id,
  16. usercomefrom: ConfigService.comefrom,
  17. name: tempfolder.name,
  18. createtime: tempdate.formattime,
  19. status: 1,
  20. isCloud: 0,
  21. synchrotype: 1,
  22. updatetime: tempdate.formattime,//修改时间
  23. counts: 0,
  24. moduleid: 81,
  25. type: 1,//模块:1-对接宝,2-资源库
  26. fixtype: 0,//1-公共库,2-私有库
  27. content: tempfolder.content,//文件夹简介
  28. favourcount: 0,
  29. visitcount: 0,
  30. commcount: 0,
  31. infocount: 0
  32. };
  33. SqliteStorageService.insertSingleData("conninfofolder", folder).then(function (response) {
  34. deferred.resolve(response);
  35. }, function (err) {
  36. deferred.reject(err);
  37. });
  38. return deferred.promise;
  39. },
  40. //--设置本地文件夹
  41. setLocalFolder: function (tempfolder) {
  42. var deferred = $q.defer();
  43. var tempdate = UtilService.formatDate();
  44. var synchrotype = tempfolder.synchrotype == 1 ? 1 : 2;
  45. var folder = {
  46. localid: tempfolder.localid,
  47. name: tempfolder.name,
  48. synchrotype: synchrotype,
  49. updatetime: tempdate.formattime,//修改时间
  50. content: tempfolder.content//文件夹简介
  51. };
  52. SqliteStorageService.updateSingleData("conninfofolder", folder).then(function (response) {
  53. SqliteStorageService.updateEditFlg(1);
  54. deferred.resolve(response);
  55. }, function (err) {
  56. deferred.reject(err);
  57. });
  58. return deferred.promise;
  59. },
  60. //新建本地资源库
  61. createLocalResLib: function (resliblist) {
  62. var deferred = $q.defer();
  63. SqliteStorageService.insertBatchData("conninfofolder", resliblist).then(function (response) {
  64. deferred.resolve(response);
  65. }, function (err) {
  66. deferred.reject(err);
  67. });
  68. return deferred.promise;
  69. },
  70. //--查询当前文件夹下所有子文件夹(将当前文件夹及所有子文件夹localid组成list返回)
  71. queryAllFolderByLocalid: function (templocalid) {
  72. var deferred = $q.defer();
  73. var folderlocalidlist = [templocalid];
  74. var queryFolder = function (temp) {
  75. var sql = "select localid from conninfofolder where localparentid in (" + temp + ")";
  76. SqliteStorageService.queryData(sql).then(function (response) {
  77. if (response.length > 0) {
  78. var templist = [];
  79. angular.forEach(response, function (value, index) {
  80. folderlocalidlist.push(value.localid);
  81. templist.push(value.localid);
  82. });
  83. queryFolder(templist.join(","));
  84. } else {
  85. deferred.resolve(folderlocalidlist);
  86. }
  87. }, function (err) {
  88. deferred.reject(err);
  89. });
  90. };
  91. queryFolder(templocalid);
  92. return deferred.promise;
  93. },
  94. //--查询当前文件夹对应所有父文件夹(将当前文件夹及对应所有父文件夹localid组成list返回)
  95. queryParentFolderByLocalid: function (templocalid) {
  96. var deferred = $q.defer();
  97. var parentfolderlocalidlist = [templocalid];
  98. var queryParentFolder = function (temp) {
  99. var sql = "select localparentid from conninfofolder where localid = '" + temp + "'";
  100. SqliteStorageService.queryData(sql).then(function (response) {
  101. if (response.length > 0) {
  102. var templist = [];
  103. if (response[0].localparentid != '0') {
  104. templist.push(response[0].localparentid);
  105. queryParentFolder(response[0].localparentid);
  106. } else {
  107. deferred.resolve(parentfolderlocalidlist);
  108. }
  109. } else {
  110. deferred.resolve(parentfolderlocalidlist);
  111. }
  112. }, function (err) {
  113. deferred.reject(err);
  114. });
  115. };
  116. queryParentFolder(templocalid);
  117. return deferred.promise;
  118. }
  119. }
  120. });