123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294 |
- //
- // receiveView.m
- // 双子星云手机
- //
- // Created by xd h on 2024/5/23.
- //
- #import "receiveView.h"
- #import "receiveHeadView.h"
- #import "receiveDownloadRecordTableView.h"
- #import "receiveSaveRecordTableView.h"
- #import "boxSaveFileManager.h"
- #import "downStatusModel.h"
- #import "boxDownloadFileManager.h"
- #import "AFHTTPSessionManager.h"
- #import "SGDownloadManager.h"
- @interface receiveView ()
- {
-
- }
- @property(nonatomic,strong) receiveHeadView * curReceiveHeadView;
- @property(nonatomic,strong) receiveDownloadRecordTableView * downloadRecordTableView;
- @property(nonatomic,strong) receiveSaveRecordTableView * saveRecordTableView;
- @end
- @implementation receiveView
- - (id)initWithFrame:(CGRect)frame{
- self = [super initWithFrame:frame];
- [self setBackgroundColor:[UIColor whiteColor]];
- _isReceiveType = 1;
- [self drawAnyView];
- return self;
- }
- - (void)drawAnyView{
- _curReceiveHeadView = [[receiveHeadView alloc] init];
- [self addSubview:_curReceiveHeadView];
-
- [_curReceiveHeadView mas_makeConstraints:^(MASConstraintMaker *make) {
- make.left.mas_equalTo(0);
- make.right.mas_equalTo(0);
- make.top.mas_equalTo(0);
- make.height.mas_equalTo(40);
- }];
-
- KWeakSelf
- #pragma mark 点击接收的下载或者保存
- _curReceiveHeadView.didClickbuttonFun = ^(NSInteger tag) {
- [weakSelf didClickHeadButtonFun:tag];
- };
-
-
- _downloadRecordTableView = [[receiveDownloadRecordTableView alloc] init];
- [self addSubview:_downloadRecordTableView];
-
- [_downloadRecordTableView mas_makeConstraints:^(MASConstraintMaker *make) {
- make.left.mas_equalTo(0);
- make.right.mas_equalTo(0);
- make.top.equalTo(_curReceiveHeadView.mas_bottom).offset(0);
- make.bottom.mas_equalTo(40);
- }];
-
- _downloadRecordTableView.didLongPressClick = ^{
- [weakSelf handleLongPressClickFun];
- };
-
- _saveRecordTableView = [[receiveSaveRecordTableView alloc] init];
- _saveRecordTableView.hidden = YES;
- [self addSubview:_saveRecordTableView];
-
- [_saveRecordTableView mas_makeConstraints:^(MASConstraintMaker *make) {
- make.left.mas_equalTo(0);
- make.right.mas_equalTo(0);
- make.top.equalTo(_curReceiveHeadView.mas_bottom).offset(0);
- make.bottom.mas_equalTo(40);
- }];
-
- _saveRecordTableView.didLongPressClick = ^{
- [weakSelf handleLongPressClickFun];
- };
- }
- #pragma mark 长按事件传出去
- - (void)handleLongPressClickFun
- {
- if(self->_didLongPressClick){
- self->_didLongPressClick();
- }
- }
- #pragma mark 点击下载和接收
- - (void)didClickHeadButtonFun:(NSInteger)tag
- {
- _isReceiveType = tag;
- if(tag == 1){
- _downloadRecordTableView.hidden = NO;
- _saveRecordTableView.hidden = YES;
- }
- else if(tag == 2){
- _downloadRecordTableView.hidden = YES;
- _saveRecordTableView.hidden = NO;
- }
- }
- - (void)setIsReceiveType:(NSInteger)isReceiveType
- {
- _isReceiveType = isReceiveType;
-
- if(isReceiveType == 2){
- [_curReceiveHeadView didClickButFun:_curReceiveHeadView.saveButton];
- }
-
- }
- - (void)setIsEditType:(BOOL)isEditType{
- _isEditType = isEditType;
-
- if(_isReceiveType == 1){
- _downloadRecordTableView.isEditType = isEditType;
- }
- else{
- _saveRecordTableView.isEditType = isEditType;
- }
- }
- #pragma mark 点击全选
- - (void)setIsSelectAllType:(BOOL)isSelectAllType
- {
- if(_isReceiveType == 1){
- _downloadRecordTableView.isSelectAllType = isSelectAllType;
- }
- else{
- _saveRecordTableView.isSelectAllType = isSelectAllType;
- }
- }
- #pragma mark 获取本地数据库数据
- - (void)getAllDataFun{
-
- [self getBoxDownLoadDataFun];
- [self getBoxSaveDataFun];
-
- }
- #pragma mark 读取保存到盒子的数据库
- - (void)getBoxSaveDataFun
- {
- KWeakSelf
- [[boxSaveFileManager shareInstance] getDataInDatabaseFun:YES complete:^(NSMutableArray * _Nonnull Arr) {
- [weakSelf AferGetBoxSaveDataBy:Arr];
- }];
- }
- - (void)AferGetBoxSaveDataBy:(NSMutableArray*)arr
- {
- _saveRecordTableView.outSideDataArr = arr;
- [self checkSaveFileToBoxStateFun];
- }
- - (NSMutableArray*)selectModelArr
- {
- if(_isReceiveType == 1){
- return _downloadRecordTableView.selectModelArr;
- }
- else{
- return _saveRecordTableView.selectModelArr;
- }
-
- return [NSMutableArray new];
- }
- #pragma mark 单个点击选中后删除
- - (void)deleteModelOneByOneFun{
- if(_isReceiveType == 1){
- [_downloadRecordTableView deleteModelOneByOneFun];
- }
- else{
- [_saveRecordTableView deleteModelOneByOneFun];
- }
- }
- #pragma mark 查询保存到盒子的下载状态
- - (void)checkSaveFileToBoxStateFun
- {
- NSMutableArray *checkArr = _saveRecordTableView.outSideDataArr.firstObject;
- if(!checkArr || checkArr.count == 0){
- return;
- }
-
- NSMutableDictionary*paraDict = [NSMutableDictionary new];
-
- NSMutableArray *pathArr = [NSMutableArray new];
-
- for (ShareFileDataModel*dataModel in checkArr){
- NSString *pathStr = dataModel.fileUrl;
- [pathArr addObject: pathStr ];
- }
-
- HLog(@"%@",pathArr);
- if (pathArr) {
- NSString *jsonStr = [iTools toJsonStrWithArray:pathArr];
- if(jsonStr){
- [paraDict setValue:jsonStr forKey:@"urls"];
- }
- }
-
- KWeakSelf
- [[netWorkManager shareInstance] cloudPhoneGETCallBackCode:@"downStatus" Parameters:paraDict success:^(id _Nonnull responseObject) {
-
- downStatusModel *model = [[downStatusModel alloc] initWithDictionary:responseObject error:nil];
- if(model && model.status == 0){
- [weakSelf updateDataAfterCheckDownStatus:model];
- }
- } failure:^(NSError * _Nonnull error) {
-
- }];
- }
- #pragma mark 查询保存到盒子的下载状态后更新数据
- - (void)updateDataAfterCheckDownStatus:(downStatusModel*)downStatusMod
- {
- [self updataBoxSaveDataBy:downStatusMod];
- [[boxSaveFileManager shareInstance] updataBoxSaveDataBy:downStatusMod];
- }
- #pragma mark 更新本地数据
- - (void)updataBoxSaveDataBy:(downStatusModel*)downStatusMod
- {
- for (downStatusDataModel*updataModel in downStatusMod.data) {
-
- for (ShareFileDataModel* model in _saveRecordTableView.boxSaveingArr) {
- if ([updataModel.url isEqualToString:model.fileUrl]) {
- if (updataModel.curStatus == 0
- || updataModel.curStatus == 3) {
- //检测文件是否存在
- [self checkBoxSaveFileUrlStateBy:model];
- }
- else if (updataModel.curStatus == 1) {
- //成功
- model.saveboxStateType = saveBoxStateDone;
- [_saveRecordTableView.boxSaveDoneArr addObject:model];
- [_saveRecordTableView.boxSaveingArr removeObject:model];
- }
- else{
- //失败
- model.saveboxStateType = saveBoxStateFail;
- [_saveRecordTableView.boxSavefailArr addObject:model];
- [_saveRecordTableView.boxSaveingArr removeObject:model];
- }
- break;
- }
- }
- }
-
- [_saveRecordTableView RefreshAllDataFun];
- }
- #pragma mark 读取盒子下载的数据库
- - (void)getBoxDownLoadDataFun
- {
- KWeakSelf
- [[boxDownloadFileManager shareInstance] getDataInDatabaseFun:YES complete:^(NSMutableArray * _Nonnull Arr) {
- [weakSelf AferGetBoxDownloadDataBy:Arr];
- }];
- }
- - (void)AferGetBoxDownloadDataBy:(NSMutableArray*)arr
- {
- _downloadRecordTableView.outSideDataArr = arr;
- [_downloadRecordTableView reDownLoadAgainFun];
- }
- #pragma mark 检测保存盒子的url是否存在
- - (void)checkBoxSaveFileUrlStateBy:(ShareFileDataModel*)dataModel{
-
- KWeakSelf
- [[netWorkManager shareInstance] cloudPhoneGETCallBackCode:dataModel.fileUrl success:^(id _Nonnull responseObject) {
-
- SuperModel *model = [[SuperModel alloc] initWithDictionary:responseObject error:nil];
- if(model && model.status == 0){
-
- }
- } failure:^(NSError * _Nonnull error) {
- HLog(@"%@",error);
- }];
- }
- @end
|