|
|
@@ -35,7 +35,7 @@ static uploadFileManager * cur_uploadFileShareInstance = nil;
|
|
|
#pragma mark 读取数据库数据
|
|
|
- (void)getDataInDatabaseFun:(BOOL)isReGet complete:(custom_complete_Arr)complete
|
|
|
{
|
|
|
- if(_databaseArr && !isReGet){
|
|
|
+ if(_databaseArr && _databaseArr.count == 3 && !isReGet){
|
|
|
complete(_databaseArr);
|
|
|
return;
|
|
|
}
|
|
|
@@ -43,45 +43,47 @@ static uploadFileManager * cur_uploadFileShareInstance = nil;
|
|
|
_databaseArr = [NSMutableArray new];
|
|
|
|
|
|
KWeakSelf
|
|
|
- [uploadFileDataModel bg_findAllAsync:upLoadFile_image_tableName complete:^(NSArray * _Nullable array) {
|
|
|
- NSMutableArray *failArr = [NSMutableArray new];
|
|
|
- NSMutableArray *doneArr = [NSMutableArray new];
|
|
|
- NSMutableArray *otherArr = [NSMutableArray new];
|
|
|
-
|
|
|
- for (uploadFileDataModel * curModel in array) {
|
|
|
-
|
|
|
- //图片 和视频 还原
|
|
|
- if(curModel.curUploadFileType == uploadFileTypeImage){
|
|
|
- NSString*pathStr = [cachesFileManager getFilePathWithName:curModel.filename type:uploadFileTypeImage];
|
|
|
- curModel.imageData = [NSData dataWithContentsOfFile:pathStr];
|
|
|
- }
|
|
|
- else if(curModel.curUploadFileType == uploadFileTypeVideo){
|
|
|
- NSString*pathStr = [cachesFileManager getFilePathWithName:curModel.videoFirstImageName type:uploadFileTypeImage];
|
|
|
- curModel.imageData = [NSData dataWithContentsOfFile:pathStr];
|
|
|
+ dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT,0), ^{
|
|
|
+ [uploadFileDataModel bg_findAsync:upLoadFile_image_tableName limit:0 orderBy:nil desc:YES complete:^(NSArray * _Nullable array) {
|
|
|
+ NSMutableArray *failArr = [NSMutableArray new];
|
|
|
+ NSMutableArray *doneArr = [NSMutableArray new];
|
|
|
+ NSMutableArray *otherArr = [NSMutableArray new];
|
|
|
+
|
|
|
+ for (uploadFileDataModel * curModel in array) {
|
|
|
|
|
|
- if(curModel.curUploadStateType != uploadStateDone){
|
|
|
- NSString*videoPathStr = [cachesFileManager getFilePathWithName:curModel.filename type:uploadFileTypeVideo];
|
|
|
- curModel.videoData = [NSData dataWithContentsOfFile:videoPathStr];
|
|
|
+ //图片 和视频 还原
|
|
|
+ if(curModel.curUploadFileType == uploadFileTypeImage){
|
|
|
+ NSString*pathStr = [cachesFileManager getFilePathWithName:curModel.filename type:uploadFileTypeImage];
|
|
|
+ curModel.imageData = [NSData dataWithContentsOfFile:pathStr];
|
|
|
+ }
|
|
|
+ else if(curModel.curUploadFileType == uploadFileTypeVideo){
|
|
|
+ NSString*pathStr = [cachesFileManager getFilePathWithName:curModel.videoFirstImageName type:uploadFileTypeImage];
|
|
|
+ curModel.imageData = [NSData dataWithContentsOfFile:pathStr];
|
|
|
+
|
|
|
+ if(curModel.curUploadStateType != uploadStateDone){
|
|
|
+ NSString*videoPathStr = [cachesFileManager getFilePathWithName:curModel.filename type:uploadFileTypeVideo];
|
|
|
+ curModel.videoData = [NSData dataWithContentsOfFile:videoPathStr];
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ if(curModel.curUploadStateType == uploadStateFail){
|
|
|
+ [failArr addObject:curModel];
|
|
|
+ }
|
|
|
+ else if(curModel.curUploadStateType == uploadStateDone){
|
|
|
+ [doneArr addObject:curModel];
|
|
|
+ }
|
|
|
+ else{
|
|
|
+ [otherArr addObject:curModel];
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
- if(curModel.curUploadStateType == uploadStateFail){
|
|
|
- [failArr addObject:curModel];
|
|
|
- }
|
|
|
- else if(curModel.curUploadStateType == uploadStateDone){
|
|
|
- [doneArr addObject:curModel];
|
|
|
- }
|
|
|
- else{
|
|
|
- [otherArr addObject:curModel];
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- [self->_databaseArr addObject:otherArr];
|
|
|
- [self->_databaseArr addObject:doneArr];
|
|
|
- [self->_databaseArr addObject:failArr];
|
|
|
-
|
|
|
- complete(self->_databaseArr);
|
|
|
- }];
|
|
|
+
|
|
|
+ [self->_databaseArr addObject:otherArr];
|
|
|
+ [self->_databaseArr addObject:doneArr];
|
|
|
+ [self->_databaseArr addObject:failArr];
|
|
|
+
|
|
|
+ complete(self->_databaseArr);
|
|
|
+ }];
|
|
|
+ });
|
|
|
|
|
|
}
|
|
|
|
|
|
@@ -117,9 +119,13 @@ static uploadFileManager * cur_uploadFileShareInstance = nil;
|
|
|
|
|
|
//保存到数据库
|
|
|
curModel.bg_tableName = upLoadFile_image_tableName;
|
|
|
- [curModel bg_saveOrUpdateAsync:^(BOOL isSuccess) {
|
|
|
- HLog(@"%@ 写入 %@", curModel.filename, isSuccess ? @"成功":@"失败");
|
|
|
- }];
|
|
|
+
|
|
|
+ dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT,0), ^{
|
|
|
+ [curModel bg_saveOrUpdateAsync:^(BOOL isSuccess) {
|
|
|
+ HLog(@"%@ 写入 %@", curModel.filename, isSuccess ? @"成功":@"失败");
|
|
|
+ }];
|
|
|
+ });
|
|
|
+
|
|
|
}
|
|
|
|
|
|
KWeakSelf
|
|
|
@@ -127,29 +133,44 @@ static uploadFileManager * cur_uploadFileShareInstance = nil;
|
|
|
|
|
|
[self getDataInDatabaseFun:YES complete:^(NSMutableArray * _Nonnull Arr) {
|
|
|
complete(Arr);
|
|
|
+ [weakSelf handleUploadFileModelBg_idFun:Arr];
|
|
|
}];
|
|
|
|
|
|
//骚操作 重新查出来 拿到bg_id
|
|
|
- [uploadFileDataModel bg_findAsync:upLoadFile_image_tableName limit:_fileModelDataArr.count orderBy:nil desc:YES complete:^(NSArray * _Nullable array) {
|
|
|
-
|
|
|
- for (int i=0; i<array.count; i++) {
|
|
|
- uploadFileDataModel *bg_mod = array[i];
|
|
|
-
|
|
|
- for (uploadFileDataModel *data_mod in self->_fileModelDataArr) {
|
|
|
- if([data_mod.filename isEqualToString:bg_mod.filename]){
|
|
|
- data_mod.bg_id = bg_mod.bg_id;
|
|
|
- //HLog(@"bg_id:%@",data_mod.bg_id);
|
|
|
- break;
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- [weakSelf beginUploadFileFun];
|
|
|
- }];
|
|
|
+// [uploadFileDataModel bg_findAsync:upLoadFile_image_tableName limit:_fileModelDataArr.count orderBy:nil desc:YES complete:^(NSArray * _Nullable array) {
|
|
|
+//
|
|
|
+// for (int i=0; i<array.count; i++) {
|
|
|
+// uploadFileDataModel *bg_mod = array[i];
|
|
|
+//
|
|
|
+// for (uploadFileDataModel *data_mod in self->_fileModelDataArr) {
|
|
|
+// if([data_mod.filename isEqualToString:bg_mod.filename]){
|
|
|
+// data_mod.bg_id = bg_mod.bg_id;
|
|
|
+// //HLog(@"bg_id:%@",data_mod.bg_id);
|
|
|
+// break;
|
|
|
+// }
|
|
|
+// }
|
|
|
+// }
|
|
|
+//
|
|
|
+// [weakSelf beginUploadFileFun];
|
|
|
+// }];
|
|
|
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+#pragma mark 处理当前的model 加上bg_id
|
|
|
+- (void)handleUploadFileModelBg_idFun:(NSMutableArray*)totalArr
|
|
|
+{
|
|
|
+ if(!totalArr || totalArr.count != 3){
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
+ NSMutableArray *curArr = totalArr[0];
|
|
|
+ NSArray *UploadArr = [curArr subarrayWithRange:NSMakeRange(0, _fileModelDataArr.count-1)];
|
|
|
+ [_fileModelDataArr removeAllObjects];
|
|
|
+ [_fileModelDataArr addObjectsFromArray:UploadArr];
|
|
|
+ [self beginUploadFileFun];
|
|
|
+}
|
|
|
+
|
|
|
- (void)beginUploadFileFun
|
|
|
{
|
|
|
_isSuspendType = NO;
|
|
|
@@ -252,7 +273,10 @@ static uploadFileManager * cur_uploadFileShareInstance = nil;
|
|
|
//某个文件重新上传
|
|
|
- (void)reUploadFileFunBy:(NSMutableArray*)Arr
|
|
|
{
|
|
|
- _fileModelDataArr = Arr;
|
|
|
+ if(!_fileModelDataArr){
|
|
|
+ _fileModelDataArr = [NSMutableArray new];
|
|
|
+ }
|
|
|
+ [_fileModelDataArr addObjectsFromArray:Arr];
|
|
|
[self beginUploadFileFun];
|
|
|
}
|
|
|
|