boxSaveFileManager.m 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110
  1. //
  2. // boxSaveFileManager.m
  3. // 双子星云手机
  4. //
  5. // Created by xd h on 2024/5/23.
  6. //
  7. #import "boxSaveFileManager.h"
  8. @implementation boxSaveFileManager
  9. static boxSaveFileManager * cur_boxSaveFileShareInstance = nil;
  10. +(boxSaveFileManager *)shareInstance;
  11. {
  12. static dispatch_once_t onceToken;
  13. dispatch_once(&onceToken, ^{
  14. cur_boxSaveFileShareInstance = [[boxSaveFileManager alloc] init];
  15. });
  16. return cur_boxSaveFileShareInstance;
  17. }
  18. - (id)init
  19. {
  20. self = [super init];
  21. if (self) {
  22. //[self initManager];
  23. }
  24. return self;
  25. }
  26. //添加保存记录
  27. - (void)addBoxSaveRecordFunBy:(NSArray*)arr{
  28. if(arr && arr.count >0 ){
  29. NSString * boxSaveDefaultPath = [HWDataManager getStringWithKey:stringKeyAddSn(Const_box_save_default_path)];
  30. if(!boxSaveDefaultPath || boxSaveDefaultPath.length == 0){
  31. boxSaveDefaultPath = Const_default_save_path;
  32. }
  33. for (ShareFileDataModel*model in arr) {
  34. model.bg_tableName = share_box_save_tableName;
  35. model.boxSavePath = boxSaveDefaultPath;
  36. }
  37. //[ShareFileDataModel bg_saveOrUpdateArray:arr];
  38. [ShareFileDataModel bg_saveOrUpdateArrayAsync:arr complete:^(BOOL isSuccess) {
  39. }];
  40. }
  41. }
  42. #pragma mark 读取数据库数据
  43. - (void)getDataInDatabaseFun:(BOOL)isReGet complete:(custom_complete_Arr)complete
  44. {
  45. if(_databaseArr && _databaseArr.count == 3 && !isReGet){
  46. complete(_databaseArr);
  47. return;
  48. }
  49. if(!_databaseArr)
  50. {
  51. _databaseArr = [NSMutableArray new];
  52. }
  53. //KWeakSelf
  54. //dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT,0), ^{
  55. // NSLock *lock = [NSLock new];
  56. // [lock lock];
  57. [ShareFileDataModel bg_findAsync:share_box_save_tableName limit:0 orderBy:nil desc:YES complete:^(NSArray * _Nullable array) {
  58. NSMutableArray *failArr = [NSMutableArray new];
  59. NSMutableArray *doneArr = [NSMutableArray new];
  60. NSMutableArray *otherArr = [NSMutableArray new];
  61. if(array && array.count >0){
  62. for (ShareFileDataModel * curModel in array) {
  63. if(curModel.saveboxStateType == saveBoxStateFail){
  64. [failArr addObject:curModel];
  65. }
  66. else if(curModel.saveboxStateType == saveBoxStateDone){
  67. [doneArr addObject:curModel];
  68. }
  69. else{
  70. [otherArr addObject:curModel];
  71. }
  72. }
  73. }
  74. NSLock *lock = [NSLock new];
  75. [lock lock];
  76. NSMutableArray *newArr = [NSMutableArray new];
  77. [newArr addObject:otherArr];
  78. [newArr addObject:doneArr];
  79. [newArr addObject:failArr];
  80. self->_databaseArr = newArr;
  81. [lock unlock];
  82. complete(self->_databaseArr);
  83. }];
  84. // [lock unlock];
  85. //});
  86. }
  87. @end