SkuModifyInfo.py 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139
  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.MaterialModifyInfo import MaterialModifyInfo
  6. from alipay.aop.api.domain.ItemSkuPropertyInfo import ItemSkuPropertyInfo
  7. class SkuModifyInfo(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. self._sku_id = None
  15. @property
  16. def inventory(self):
  17. return self._inventory
  18. @inventory.setter
  19. def inventory(self, value):
  20. self._inventory = value
  21. @property
  22. def material_list(self):
  23. return self._material_list
  24. @material_list.setter
  25. def material_list(self, value):
  26. if isinstance(value, list):
  27. self._material_list = list()
  28. for i in value:
  29. if isinstance(i, MaterialModifyInfo):
  30. self._material_list.append(i)
  31. else:
  32. self._material_list.append(MaterialModifyInfo.from_alipay_dict(i))
  33. @property
  34. def original_price(self):
  35. return self._original_price
  36. @original_price.setter
  37. def original_price(self, value):
  38. self._original_price = value
  39. @property
  40. def price(self):
  41. return self._price
  42. @price.setter
  43. def price(self, value):
  44. self._price = value
  45. @property
  46. def property_list(self):
  47. return self._property_list
  48. @property_list.setter
  49. def property_list(self, value):
  50. if isinstance(value, list):
  51. self._property_list = list()
  52. for i in value:
  53. if isinstance(i, ItemSkuPropertyInfo):
  54. self._property_list.append(i)
  55. else:
  56. self._property_list.append(ItemSkuPropertyInfo.from_alipay_dict(i))
  57. @property
  58. def sku_id(self):
  59. return self._sku_id
  60. @sku_id.setter
  61. def sku_id(self, value):
  62. self._sku_id = value
  63. def to_alipay_dict(self):
  64. params = dict()
  65. if self.inventory:
  66. if hasattr(self.inventory, 'to_alipay_dict'):
  67. params['inventory'] = self.inventory.to_alipay_dict()
  68. else:
  69. params['inventory'] = self.inventory
  70. if self.material_list:
  71. if isinstance(self.material_list, list):
  72. for i in range(0, len(self.material_list)):
  73. element = self.material_list[i]
  74. if hasattr(element, 'to_alipay_dict'):
  75. self.material_list[i] = element.to_alipay_dict()
  76. if hasattr(self.material_list, 'to_alipay_dict'):
  77. params['material_list'] = self.material_list.to_alipay_dict()
  78. else:
  79. params['material_list'] = self.material_list
  80. if self.original_price:
  81. if hasattr(self.original_price, 'to_alipay_dict'):
  82. params['original_price'] = self.original_price.to_alipay_dict()
  83. else:
  84. params['original_price'] = self.original_price
  85. if self.price:
  86. if hasattr(self.price, 'to_alipay_dict'):
  87. params['price'] = self.price.to_alipay_dict()
  88. else:
  89. params['price'] = self.price
  90. if self.property_list:
  91. if isinstance(self.property_list, list):
  92. for i in range(0, len(self.property_list)):
  93. element = self.property_list[i]
  94. if hasattr(element, 'to_alipay_dict'):
  95. self.property_list[i] = element.to_alipay_dict()
  96. if hasattr(self.property_list, 'to_alipay_dict'):
  97. params['property_list'] = self.property_list.to_alipay_dict()
  98. else:
  99. params['property_list'] = self.property_list
  100. if self.sku_id:
  101. if hasattr(self.sku_id, 'to_alipay_dict'):
  102. params['sku_id'] = self.sku_id.to_alipay_dict()
  103. else:
  104. params['sku_id'] = self.sku_id
  105. return params
  106. @staticmethod
  107. def from_alipay_dict(d):
  108. if not d:
  109. return None
  110. o = SkuModifyInfo()
  111. if 'inventory' in d:
  112. o.inventory = d['inventory']
  113. if 'material_list' in d:
  114. o.material_list = d['material_list']
  115. if 'original_price' in d:
  116. o.original_price = d['original_price']
  117. if 'price' in d:
  118. o.price = d['price']
  119. if 'property_list' in d:
  120. o.property_list = d['property_list']
  121. if 'sku_id' in d:
  122. o.sku_id = d['sku_id']
  123. return o