CloudStorageDB.h 5.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116
  1. //
  2. // CloudStorageDB.h
  3. // zhuxun
  4. //
  5. // Created by winsoft on 17/6/22.
  6. //
  7. //
  8. #import <Foundation/Foundation.h>
  9. #import "CSFileModel.h"
  10. #import "CSFileDownUpModel.h"
  11. #define kCloudStorageDB [CloudStorageDB shareInstance]
  12. @interface CloudStorageDB : NSObject
  13. + (instancetype)shareInstance;
  14. - (void)addcsFiletoDB:(CSFileModel *)csFile;//插入前判断是否存在,如果存在,则更新.
  15. - (void)addcsFilestoDB:(NSArray *)csFilesArray;
  16. /**
  17. * /外部调用前请自身判断是否由相同的数据存在.
  18. *
  19. * @param csDownUpFile add one db.
  20. */
  21. - (void)addCSDownUpFileToDB:(CSFileDownUpModel *)csDownUpFile;
  22. - (void)addCSDownUpFilesToDB:(NSArray *)csDownUpFileToDBArray downUpModel:(DownUpModel)downUpModel;
  23. - (void)getAllCloudFilesWithPid:(NSString *)pid resultBlock:(void(^)(NSArray *result))resultBlock;//1
  24. - (void)getFileModelWithFileMD5:(NSString *)md5 resultBlock:(void(^)(CSFileModel *csFileModel))resultBlock;
  25. - (void)getCSDownUpFileWithMD5:(NSString *)md5 downUpModel:(DownUpModel)downUpModel resultBlock:(void(^)(NSArray *csFileModels))resultBlock;
  26. /**
  27. * 文件上传时选择路径时用(舍弃(无缓存下不能使用,使用rename检测接口)) 及 文件下载时判断是否需要新下载判断
  28. *
  29. */
  30. - (void)getCSDownUpFileWithMD5:(NSString *)md5 pid:(NSString *)pid name:(NSString *)name downUpModel:(DownUpModel)downUpModel resultBlock:(void(^)(CSFileDownUpModel *csFileModel))resultBlock;
  31. - (void)getCSDownUpFileWithUUID:(NSString *)downUpUUID downUpModel:(DownUpModel)downUpModel resultBlock:(void(^)(CSFileDownUpModel *csFileModel))resultBlock;
  32. //数据库中获取所有目标的uuid的文件
  33. - (void)getCSDownUpFilesWithUUIDs:(NSArray *)downUpUUIDs downUpModel:(DownUpModel)downUpModel resultBlock:(void(^)(NSArray *csFileModels))resultBlock;
  34. //获取md5 不同,但name相同的情况.上层判断后再进行此判断
  35. - (void)getCSDownUpFileSameNameDifMd5WithMD5:(NSString *)md5 name:(NSString *)name localPath:(NSString *)localPath downUpModel:(DownUpModel)downUpModel resultBlock:(void(^)(NSInteger sameNameFileCount))resultBlock;
  36. //获取正在等待或下载的文件
  37. - (void)getProcessCSDownUpFileWithMD5:(NSString *)md5 name:(NSString *)name downUpModel:(DownUpModel)downUpModel resultBlock:(void(^)(NSArray *downUpModels))resultBlock;
  38. //获取所有数据库中等待或者进行中的文件.首次启动恢复下载.
  39. - (void)getAllProcessOrWaitFileWithResultBlock:(void(^)(NSArray *downModels,NSArray *upModels))resultBlock;
  40. //获取文件夹下所有子文件(递归所有)//isdir = 0 文件, 1 文件夹, 2 = 所有
  41. - (void)getAllCSDownUpFilesFoldersWithPid:(NSString *)pid isdir:(NSInteger)isDir downUpModel:(DownUpModel)downUpModel resultBlock:(void(^)(NSArray *downUpModels))resultBlock;
  42. //获取当前文件夹下 所有文件是否下载/上传成功
  43. - (void)getFolderFilesDownUpStatusWithPid:(NSString *)pid downUpModel:(DownUpModel)downUpModel resultBlock:(void(^)(DownUpStatus downUpStatus))resultBlock;
  44. #warning 2017-07-04
  45. /**
  46. * 文件夹下载时判断当前category = 0 的同id同name的文件夹是否存在.
  47. */
  48. - (void)getCSDownUpFolderWithID:(NSString *)sid isdir:(BOOL)isdir name:(NSString *)name category:(NSInteger)category downUpModel:(DownUpModel)downUpModel resultBlock:(void(^)(CSFileDownUpModel *csFileModel))resultBlock;
  49. /**
  50. * 文件夹下载时新建了cagegory = 0的文件,如果之前sid有成功的,则设置下载状态为成功
  51. *
  52. * @param sid <#sid description#>
  53. * @param downUpModel <#downUpModel description#>
  54. * @param resultBlock <#resultBlock description#>
  55. */
  56. - (void)getCSDownUpFolderAndSetSameStatusWithID:(NSString *)sid downUpModel:(DownUpModel)downUpModel;
  57. /**
  58. * 获取一级子文件所有文件
  59. *
  60. * @param pid pid
  61. * @param resultBlock callBack
  62. */
  63. - (void)getSubFileFolderDownFileWithPid:(NSString *)pid ResultBlock:(void(^)(NSArray *result))resultBlock;
  64. - (void)getSubFileFolderDownSuccessFileWithPid:(NSString *)pid ResultBlock:(void(^)(NSArray *result))resultBlock;
  65. - (void)getSubFileFolderDownUnFinishedFileWithPid:(NSString *)pid ResultBlock:(void(^)(NSArray *result))resultBlock;
  66. - (void)getSubFileFolderUpFileWithPid:(NSString *)pid ResultBlock:(void(^)(NSArray *result))resultBlock;
  67. - (void)getSubFileFolderUpSuccessFileWithPid:(NSString *)pid ResultBlock:(void(^)(NSArray *result))resultBlock;
  68. - (void)getSubFileFolderUpUnFinishedFileWithPid:(NSString *)pid ResultBlock:(void(^)(NSArray *result))resultBlock;
  69. //delete
  70. - (void)deleteCSFileToDB:(CSFileModel *)csFile;
  71. - (void)deleteCSDownUpFiles:(NSArray *)csFiles downUpType:(DownUpModel)downUpModel ResultBlock:(void(^)(NSArray *files))resultBlock; ;
  72. //update
  73. - (void)updateCSFiletoDB:(CSFileModel *)csFile;
  74. /**
  75. * 移动文件(文件夹)更新数据库
  76. *
  77. * @param csFileSids source files/folders ids
  78. * @param pid target folder id
  79. */
  80. - (void)updateCSFilestoDB:(NSArray*)csFileSids targetid:(NSString*)pid;
  81. //可更新所有同样的文件..
  82. - (void)updateCSDownUpFileStatusWithCSFileDownUpModel:(CSFileDownUpModel *)csFileDownUpModel;
  83. - (void)updateCSDownUpFileStatusWithCSFileDownUpModels:(NSArray *)csFileDownUpModels downUpType:(DownUpModel)downUpType downUpStatus:(DownUpStatus)downUpStatus;
  84. //上传成功后更新sid
  85. - (void)updateCSDownUpFileIDWithCSFileDownUpModel:(CSFileDownUpModel *)csFileDownUpModel sid:(NSString *)sid;
  86. //重名的不同文件,修改本地存放地址
  87. - (void)updateCSDownUpFileLocalPathWithCSFileDownUpModel:(CSFileDownUpModel *)csFileDownUpModel newLocalPath:(NSString *)newLocalPath;
  88. @end