Açıklama Yok

FKOrderDetailReform.m 4.2KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104
  1. //
  2. // FKOrderDetailReform.m
  3. // FirstLink
  4. //
  5. // Created by jack on 15/9/10.
  6. // Copyright (c) 2015年 FirstLink. All rights reserved.
  7. //
  8. #import "FKOrderDetailReform.h"
  9. #import "FKSupplierDetailItem.h"
  10. #import "LogisticsItem.h"
  11. #import "FKRefundPriceItem.h"
  12. #import "FKIdCardItem.h"
  13. #import "FKOrderPaymentItem.h"
  14. #import "FKOrderSupplierItem.h"
  15. #import "FKSupplierDetailItem.h"
  16. #import "FKProCountryItem.h"
  17. #import "FKOrderGoodItem.h"
  18. @implementation FKOrderDetailReform
  19. + (OrderDetailItem *)parserOrderDetailItem:(NSDictionary *)rawDict{
  20. OrderDetailItem *item = [[OrderDetailItem alloc] init];
  21. if ([rawDict[@"data"][@"server_time"] isKindOfClass:[NSString class]]) {
  22. item.serverTime = rawDict[@"data"][@"server_time"];
  23. }
  24. NSDictionary *dict = rawDict[@"data"][@"payment_order"];
  25. if ([dict isKindOfClass:[NSDictionary class]]) {
  26. [item mts_setValuesForKeysWithDictionary:dict];
  27. if ([dict[@"user_address_info"] isKindOfClass:[NSDictionary class]]) {
  28. NSDictionary *addressDict = dict[@"user_address_info"];
  29. ShipAddress *address = [ShipAddress new];
  30. [address mts_setValuesForKeysWithDictionary:addressDict];
  31. item.address = address;
  32. }
  33. if ([dict[@"user_id_info"] isKindOfClass:[NSDictionary class]]) {
  34. NSDictionary *subDict = dict[@"user_id_info"];
  35. FKIdCardItem *subItem = [FKIdCardItem new];
  36. [subItem mts_setValuesForKeysWithDictionary:subDict];
  37. item.idCardItem = subItem;
  38. }
  39. if ([rawDict[@"data"][@"service_user"] isKindOfClass:[NSDictionary class]]) {
  40. ServeUserItem *serveItem = [ServeUserItem new];
  41. [serveItem mts_setValuesForKeysWithDictionary:rawDict[@"data"][@"service_user"]];
  42. item.serveUserItem = serveItem;
  43. }
  44. if ([rawDict[@"data"][@"refund_total"] isKindOfClass:[NSDictionary class]]) {
  45. FKRefundPriceItem *priceItem = [FKRefundPriceItem new];
  46. [priceItem mts_setValuesForKeysWithDictionary:rawDict[@"data"][@"refund_total"]];
  47. item.refundPriceItem = priceItem;
  48. }
  49. NSArray *subArray = rawDict[@"data"][@"list"];
  50. if ([subArray isKindOfClass:[NSArray class]] && subArray.count > 0) {
  51. FKOrderSupplierItem *supplierItem;
  52. FKProCountryItem *countryItem;
  53. LogisticsItem *logisticsItem;
  54. FKSupplierDetailItem *supplierDetailItem;
  55. FKOrderGoodItem *goodItem;
  56. NSMutableArray *goodArray;
  57. NSMutableArray *supplierArray = [NSMutableArray array];
  58. for (NSDictionary *paymentDict in subArray) {
  59. supplierItem = [[FKOrderSupplierItem alloc] init];
  60. [supplierItem mts_setValuesForKeysWithDictionary:paymentDict[@"supplier"]];
  61. countryItem = [[FKProCountryItem alloc] init];
  62. [countryItem mts_setValuesForKeysWithDictionary:paymentDict[@"country"]];
  63. supplierItem.countryItem = countryItem;
  64. supplierDetailItem = [[FKSupplierDetailItem alloc] init];
  65. [supplierDetailItem mts_setValuesForKeysWithDictionary:paymentDict[@"post_order"]];
  66. supplierItem.supplierDetailItem = supplierDetailItem;
  67. if ([paymentDict[@"logistics"] isKindOfClass:[NSDictionary class]]) {
  68. logisticsItem = [[LogisticsItem alloc] init];
  69. [logisticsItem mts_setValuesForKeysWithDictionary:paymentDict[@"logistics"]];
  70. supplierItem.logisticsItem = logisticsItem;
  71. }
  72. goodArray = [NSMutableArray array];
  73. for (NSDictionary *goodDict in paymentDict[@"goods_list"]) {
  74. goodItem = [[FKOrderGoodItem alloc] init];
  75. [goodItem mts_setValuesForKeysWithDictionary:goodDict];
  76. [goodArray addObject:goodItem];
  77. }
  78. supplierItem.goodArray = goodArray;
  79. [supplierArray addObject:supplierItem];
  80. }
  81. item.supplierArray = supplierArray;
  82. }
  83. return item;
  84. }
  85. return nil;
  86. }
  87. @end