SkuCreateInfo.py 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124
  1. #!/usr/bin/env python
  2. # -*- coding: utf-8 -*-
  3. import json
  4. from alipay.aop.api.constant.ParamConstants import *
  5. from alipay.aop.api.domain.MaterialCreateInfo import MaterialCreateInfo
  6. from alipay.aop.api.domain.ItemSkuPropertyInfo import ItemSkuPropertyInfo
  7. class SkuCreateInfo(object):
  8. def __init__(self):
  9. self._inventory = None
  10. self._material_list = None
  11. self._original_price = None
  12. self._price = None
  13. self._property_list = None
  14. @property
  15. def inventory(self):
  16. return self._inventory
  17. @inventory.setter
  18. def inventory(self, value):
  19. self._inventory = value
  20. @property
  21. def material_list(self):
  22. return self._material_list
  23. @material_list.setter
  24. def material_list(self, value):
  25. if isinstance(value, list):
  26. self._material_list = list()
  27. for i in value:
  28. if isinstance(i, MaterialCreateInfo):
  29. self._material_list.append(i)
  30. else:
  31. self._material_list.append(MaterialCreateInfo.from_alipay_dict(i))
  32. @property
  33. def original_price(self):
  34. return self._original_price
  35. @original_price.setter
  36. def original_price(self, value):
  37. self._original_price = value
  38. @property
  39. def price(self):
  40. return self._price
  41. @price.setter
  42. def price(self, value):
  43. self._price = value
  44. @property
  45. def property_list(self):
  46. return self._property_list
  47. @property_list.setter
  48. def property_list(self, value):
  49. if isinstance(value, list):
  50. self._property_list = list()
  51. for i in value:
  52. if isinstance(i, ItemSkuPropertyInfo):
  53. self._property_list.append(i)
  54. else:
  55. self._property_list.append(ItemSkuPropertyInfo.from_alipay_dict(i))
  56. def to_alipay_dict(self):
  57. params = dict()
  58. if self.inventory:
  59. if hasattr(self.inventory, 'to_alipay_dict'):
  60. params['inventory'] = self.inventory.to_alipay_dict()
  61. else:
  62. params['inventory'] = self.inventory
  63. if self.material_list:
  64. if isinstance(self.material_list, list):
  65. for i in range(0, len(self.material_list)):
  66. element = self.material_list[i]
  67. if hasattr(element, 'to_alipay_dict'):
  68. self.material_list[i] = element.to_alipay_dict()
  69. if hasattr(self.material_list, 'to_alipay_dict'):
  70. params['material_list'] = self.material_list.to_alipay_dict()
  71. else:
  72. params['material_list'] = self.material_list
  73. if self.original_price:
  74. if hasattr(self.original_price, 'to_alipay_dict'):
  75. params['original_price'] = self.original_price.to_alipay_dict()
  76. else:
  77. params['original_price'] = self.original_price
  78. if self.price:
  79. if hasattr(self.price, 'to_alipay_dict'):
  80. params['price'] = self.price.to_alipay_dict()
  81. else:
  82. params['price'] = self.price
  83. if self.property_list:
  84. if isinstance(self.property_list, list):
  85. for i in range(0, len(self.property_list)):
  86. element = self.property_list[i]
  87. if hasattr(element, 'to_alipay_dict'):
  88. self.property_list[i] = element.to_alipay_dict()
  89. if hasattr(self.property_list, 'to_alipay_dict'):
  90. params['property_list'] = self.property_list.to_alipay_dict()
  91. else:
  92. params['property_list'] = self.property_list
  93. return params
  94. @staticmethod
  95. def from_alipay_dict(d):
  96. if not d:
  97. return None
  98. o = SkuCreateInfo()
  99. if 'inventory' in d:
  100. o.inventory = d['inventory']
  101. if 'material_list' in d:
  102. o.material_list = d['material_list']
  103. if 'original_price' in d:
  104. o.original_price = d['original_price']
  105. if 'price' in d:
  106. o.price = d['price']
  107. if 'property_list' in d:
  108. o.property_list = d['property_list']
  109. return o