You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
157 lines
5.5 KiB
157 lines
5.5 KiB
// |
|
// Track.m |
|
// watch |
|
// |
|
// Created by xTT on 2017/7/19. |
|
// Copyright © 2017年 xTT. All rights reserved. |
|
// |
|
|
|
#import "Track.h" |
|
#import "Locate.h" |
|
#import "User.h" |
|
|
|
@implementation Track |
|
|
|
+ (void)getObjsWithID:(NSString *)ID |
|
success:(void (^)(NSMutableArray *arr))success |
|
failure:(void (^)(NSError *error))failure{ |
|
NSString *urlStr = [MyHttp getURL:HTTP_DEVICES__LOCATION_DAILY |
|
objArr:@[cUser.cDevice]]; |
|
|
|
NSMutableDictionary *parameters = [NSMutableDictionary dictionary]; |
|
if (ID) { |
|
NSDictionary *tmp = @{@"id":@{@"lt":ID}}; |
|
[parameters setObject:tmp.mj_JSONString forKey:@"query"]; |
|
[parameters setObject:@"id" forKey:@"sortKey"]; |
|
} |
|
|
|
[xMyHttp URL:urlStr |
|
method:@"GET" parameters:parameters |
|
success:^(NSURLSessionDataTask *task, id responseObject) |
|
{ |
|
if ([responseObject[@"code"] intValue] == HTTP_SUCCESS) { |
|
NSMutableArray *arr = [Track mj_objectArrayWithKeyValuesArray:responseObject[@"daily"]]; |
|
success(arr); |
|
} |
|
} failure:^(NSURLSessionDataTask *task, NSError *error) { |
|
if (failure) { |
|
failure(error); |
|
} |
|
}]; |
|
} |
|
+ (void)delectTrackWithDailyIds:(NSArray*)dailyIds |
|
success:(void (^)(id responseObject))success |
|
failure:(void (^)())failure{ |
|
NSString *url = [MyHttp getURL:HTTP_DEVICES__LOCATION_DAILY |
|
objArr:@[cUser.cDevice]]; |
|
|
|
NSMutableDictionary *parameter = [NSMutableDictionary dictionary]; |
|
|
|
[parameter setValue:[dailyIds mj_JSONString] forKey:@"dailyIds"]; |
|
|
|
[xMyHttp URL:url |
|
method:@"DELETE" |
|
parameters:parameter |
|
success:^(NSURLSessionDataTask *task, id responseObject) { |
|
if ([responseObject[@"code"] intValue] == HTTP_SUCCESS) { |
|
if(success){ |
|
success(responseObject); |
|
} |
|
}else{ |
|
if(failure){ |
|
failure(); |
|
} |
|
} |
|
|
|
} failure:^(NSURLSessionDataTask *task, NSError *error) { |
|
if(failure){ |
|
failure(); |
|
} |
|
}]; |
|
} |
|
|
|
- (void)postLocationsAddress:(NSMutableArray*) locations |
|
success:(void (^)(id responseObject))success |
|
failure:(void (^)())failure{ |
|
NSString *url = [MyHttp getURL:HTTP_DEVICES__LOCATION |
|
objArr:@[cUser.cDevice]]; |
|
|
|
NSMutableDictionary *parameter = [NSMutableDictionary dictionary]; |
|
|
|
[parameter setValue:[locations mj_JSONString] forKey:@"locations"]; |
|
[xMyHttp URL:url |
|
method:@"POST" |
|
parameters:parameter |
|
success:^(NSURLSessionDataTask *task, id responseObject) { |
|
if ([responseObject[@"code"] intValue] == HTTP_SUCCESS) { |
|
if(success){ |
|
success(responseObject); |
|
} |
|
}else{ |
|
if(failure){ |
|
failure(); |
|
} |
|
} |
|
|
|
} failure:^(NSURLSessionDataTask *task, NSError *error) { |
|
if(failure){ |
|
failure(); |
|
} |
|
} showHUD:NO]; |
|
} |
|
|
|
- (void)getTrackInfoSuccess:(void (^)(NSMutableArray *arr))success |
|
failure:(void (^)())failure{ |
|
NSString *url = [MyHttp getURL:HTTP_DEVICES__LOCATION |
|
objArr:@[cUser.cDevice]]; |
|
|
|
NSMutableDictionary *parameter = [NSMutableDictionary dictionary]; |
|
|
|
NSDate *date = [myHelper getDateWithStr:self.date |
|
dateFormat:@"yyyy-MM-dd"]; |
|
NSDictionary *tmp = @{@"timestamp":@{@"gte":[self getZeroDate:date], |
|
@"lt":[self getNextDate:date]}}; |
|
[parameter setObject:tmp.mj_JSONString forKey:@"query"]; |
|
[parameter setObject:self.amount forKey:@"num"]; |
|
|
|
[xMyHttp URL:url |
|
method:@"GET" |
|
parameters:parameter |
|
success:^(NSURLSessionDataTask *task, id responseObject) { |
|
NSMutableArray *arr = [Locate mj_objectArrayWithKeyValuesArray:responseObject[@"locations"]]; |
|
success(arr); |
|
} failure:^(NSURLSessionDataTask *task, NSError *error) { |
|
|
|
}]; |
|
} |
|
|
|
#pragma 时间转化 |
|
- (NSNumber *)getZeroDate:(NSDate *)date{ |
|
NSCalendar *calendar = [NSCalendar currentCalendar]; |
|
int unit = NSCalendarUnitDay | NSCalendarUnitMonth | NSCalendarUnitYear ; |
|
NSDateComponents *Cmps = [calendar components :unit fromDate:date]; |
|
|
|
|
|
NSDateComponents *comps = [[NSDateComponents alloc] init]; |
|
[comps setDay:Cmps.day]; |
|
[comps setMonth:Cmps.month]; |
|
[comps setYear:Cmps.year]; |
|
NSCalendar *gregorian = [[NSCalendar alloc] initWithCalendarIdentifier:NSCalendarIdentifierGregorian]; |
|
return @([[gregorian dateFromComponents:comps] timeIntervalSince1970]); |
|
} |
|
|
|
- (NSNumber *)getNextDate:(NSDate *)date{ |
|
NSCalendar *calendar = [NSCalendar currentCalendar]; |
|
int unit = NSCalendarUnitDay | NSCalendarUnitMonth | NSCalendarUnitYear ; |
|
NSDateComponents *Cmps = [calendar components :unit fromDate:date]; |
|
|
|
|
|
NSDateComponents *comps = [[NSDateComponents alloc] init]; |
|
[comps setDay:Cmps.day+1]; |
|
[comps setMonth:Cmps.month]; |
|
[comps setYear:Cmps.year]; |
|
NSCalendar *gregorian = [[NSCalendar alloc] initWithCalendarIdentifier:NSCalendarIdentifierGregorian]; |
|
return @([[gregorian dateFromComponents:comps] timeIntervalSince1970]); |
|
} |
|
|
|
@end
|
|
|