CNLiveOrderViewModel.m
7.04 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
//
// CNLiveOrderViewModel.m
// CNLiveMyOrderModule
//
// Created by 殷巧娟 on 2019/11/15.
//
#import "CNLiveOrderViewModel.h"
#import "CNUserInfoManager.h"
#import "CNLiveEnvironment.h"
#import "CNLiveNetworking.h"
#import "CNLiveOrderModel.h"
#import "MJExtension.h"
#import "CNLiveOrderList.h"
#import "QMUIKit.h"
#import "AFNetworking.h"
@implementation CNLiveOrderViewModel
#pragma mark - 获取订单列表
+ (void)requestDataWithPage:(NSInteger)page status:(NSInteger)status success:(void (^)(NSMutableArray *dataSource,BOOL isHaveNet))success failure:(void (^)(NSError *error))failure {
NSDictionary *param = @{@"appId":AppId,
@"sid":@"10511059",
@"status":[NSString stringWithFormat:@"%ld",(long)status],
@"pageNo":[NSString stringWithFormat:@"%ld", (long)page],
@"pageSize":@"15"
};
// [CNLiveNetworking setCacheVersion:page];
[CNLiveNetworking setFilterArgument:@[@"pageNo"]];
[CNLiveNetworking requestNetworkWithMethod:CNLiveRequestMethodPOST URLString:CNGetOrderListUrl Param:param CacheType:CNLiveNetworkCacheTypeNetworkOnly CompletionBlock:^(NSURLSessionTask *requestTask, id responseObject, NSError *error) {
if (!error) {
NSMutableArray *array = [NSMutableArray array];
if (responseObject && [responseObject isKindOfClass:[NSDictionary class]]) {
NSDictionary *dic = [responseObject objectForKey:@"data"];
CNLiveOrderModel *model = [CNLiveOrderModel mj_objectWithKeyValues:dic];
for (CNLiveOrderList *orderList in model.orderList) {
[array addObject:orderList];
}
!success ? :success(array,model.hasNext);
}
}else {
!failure ? :failure(error);
}
}];
}
#pragma mark - 订单详情页面
+ (void)requestOrderDetaielWithOrderId:(NSString *)orderId success:(void (^)(CNLiveOrderList *list))success failure:(void (^)(NSError *error))failure {
[CNLiveNetworking setupShowDataResult:NO];
[CNLiveNetworking setAllowRequestDefaultArgument:YES];
NSDictionary *param = @{
@"appId":AppId,
@"plat":@"i",
@"orderId":orderId?orderId:@"",
@"sid":@"10511059"
};
[CNLiveNetworking requestNetworkWithMethod:CNLiveRequestMethodPOST URLString:CNOrderCheckUrl Param:param CacheType:CNLiveNetworkCacheTypeNetworkOnly CompletionBlock:^(NSURLSessionTask *requestTask, id responseObject, NSError *error) {
if (!error) {
if (responseObject && [responseObject isKindOfClass:[NSDictionary class]]) {
NSString *errMessage = [responseObject objectForKey:@"errorMessage"];
NSString *errorCode = [NSString stringWithFormat:@"%@",[responseObject objectForKey:@"errorCode"]];
if ([errorCode isEqualToString:@"0"]) {
NSDictionary *data = [responseObject objectForKey:@"data"];
CNLiveOrderList *list = [CNLiveOrderList mj_objectWithKeyValues:data];
!success ? :success(list);
}
}
}else {
!failure? :failure(error);
}
}];
}
#pragma mark - 评价接口
+ (void)uploadEvaluationwithDarenId:(NSString *)darenId orderId:(NSString *)orderId score:(NSInteger)score comment:(NSString *)comment images:(NSArray *)images success:(void (^)(NSString *success))success failure:(void (^)(NSError *error))failure {
NSDictionary *param = @{
@"appId":AppId,
@"sid":@"10511059",
@"darenId":darenId,
@"orderId":orderId,
@"grade":[NSString stringWithFormat:@"%ld",score],
@"comment":comment,
@"plat":@"i"
};
[CNLiveNetworking uploadNetworkWithURLString:CNCommentDarenUrl Param:param FormDataBlock:^(id<AFMultipartFormData> formData) {
[images enumerateObjectsUsingBlock:^(id _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) {
UIImage *image = (UIImage *)obj;
//压缩
//图片视频压缩
NSData *imageData = UIImageJPEGRepresentation(image, 0.6);//非原图压缩
NSString *fileName = [NSString stringWithFormat:@"Image%d",(int)idx +1];
NSString *name = [NSString stringWithFormat:@"Image%d",(int)idx+1];
/*
*该方法的参数
1. appendPartWithFileData:要上传的照片[二进制流]
2. name:对应网站上[upload.php中]处理文件的字段(比如upload)
3. fileName:要保存在服务器上的文件名
4. mimeType:上传的文件的类型
*/
[formData appendPartWithFileData:imageData name:name fileName:fileName mimeType:@"image/jpeg"];
}];
} ProgressBlock:^(NSProgress *progress) {
} CompletionBlock:^(NSURLSessionTask *requestTask, id responseObject, NSError *error) {
if (!error) {
if (responseObject && [responseObject isKindOfClass:[NSDictionary class]]) {
if ([responseObject[@"errorCode"]integerValue] == 0) {
!success ? : success(@"success");
}else {
!success ? :success(@"failure");
}
}
}else {
!failure ? :failure(error);
}
}];
}
#pragma mark -申请退款接口
+ (void)requestRefundDataWithPage:(NSInteger)page success:(void (^)(NSMutableArray *array, BOOL haveNext))success failure:(void (^)(NSError *error))failure {
NSDictionary *param = @{
@"appId":AppId,
@"plat":@"i",
@"sid":@"10511059",
@"status":@"4",
@"pageNo":[NSString stringWithFormat:@"%ld", (long)page],
@"pageSize":@"15"
};
[CNLiveNetworking setupShowDataResult:NO];
[CNLiveNetworking setAllowRequestDefaultArgument:YES];
[CNLiveNetworking requestNetworkWithMethod:CNLiveRequestMethodPOST URLString:CNGetOrderListUrl Param:param CacheType:CNLiveNetworkCacheTypeNetworkOnly CompletionBlock:^(NSURLSessionTask *requestTask, id responseObject, NSError *error) {
if (!error) {
NSMutableArray *array = [NSMutableArray array];
if (responseObject && [responseObject isKindOfClass:[NSDictionary class]]) {
NSString *errorCode = [responseObject objectForKey:@"errorCode"];
if ([errorCode isEqualToString:@"0"]) {
NSDictionary *data = [responseObject objectForKey:@"data"];
CNLiveOrderModel *model = [CNLiveOrderModel mj_objectWithKeyValues:data];
for (CNLiveOrderList *orderList in model.orderList) {
[array addObject:orderList];
}
!success ? :success(array,model.hasNext);
}
}
}else {
!failure ? :failure(error);
}
}];
}
@end