No Description

PickAddressViewModel.m 2.2KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. //
  2. // PickAddressViewModel.m
  3. // FirstLink
  4. //
  5. // Created by jack on 15/7/8.
  6. // Copyright (c) 2015年 FirstLink. All rights reserved.
  7. //
  8. #import "PickAddressViewModel.h"
  9. #import "ShipAddress.h"
  10. @implementation PickAddressViewModel
  11. - (instancetype)init
  12. {
  13. if (self = [super init]) {
  14. _dataArray = [NSMutableArray array];
  15. }
  16. return self;
  17. }
  18. - (void)requestNewDataWithSuccess:(void (^)(MSGHeader *))success failure:(void (^)(MSGHeader *, NSError *))failure
  19. {
  20. NSString *URLString = [NSString stringWithFormat:@"%@/link-site/api/user_address_info/find_user_address_infos.json", [[FKServerUtil sharedInstance] apiServer]];
  21. NSString *itemJson = [FLRequestHelper JSONStringWithKeys:@[@"is_self_pickup"] values:@[@"1"]];
  22. NSMutableDictionary *para = [NSMutableDictionary dictionaryWithDictionary:[FLRequestHelper commonParamater]];
  23. [para setValue:itemJson forKey:@"user_address_info_json"];
  24. WeakSelf(weakSelf);
  25. [[FLDataCenter sharedDataCenter] POST:URLString
  26. parameters:para
  27. success:^(MSGHeader *header, id responseObject)
  28. {
  29. if ([header.code intValue] == RESPONSE_MSG_NORMAL) {
  30. [weakSelf parserRawDataWithDict:responseObject];
  31. }
  32. success(header);
  33. } failure:^(MSGHeader *header, NSError *error) {
  34. failure(header, error);
  35. }];
  36. }
  37. - (void)parserRawDataWithDict:(NSDictionary *)rawDict
  38. {
  39. if ([rawDict[@"data"][@"list"] isKindOfClass:[NSArray class]]) {
  40. NSArray *array = rawDict[@"data"][@"list"];
  41. if (array.count == 0) return;
  42. [self.dataArray removeAllObjects];
  43. for (NSDictionary *dict in array) {
  44. ShipAddress *address = [[ShipAddress alloc]init];
  45. [address mts_setValuesForKeysWithDictionary:dict];
  46. [self.dataArray addObject:address];
  47. }
  48. }
  49. }
  50. - (BOOL)isEmptySelfPickAtIndex:(NSInteger)index
  51. {
  52. if (index >= 0 && index < self.dataArray.count) {
  53. ShipAddress *address = self.dataArray[index];
  54. BOOL isSelfTake = NO;
  55. if ([address.isSelfTake isKindOfClass:[NSString class]] && address.isSelfTake.boolValue) isSelfTake = YES;
  56. if (isSelfTake && !address.receiver.length && !address.receiverPhone.length) return YES;
  57. }
  58. return NO;
  59. }
  60. @end