ItemOrder.py 4.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157
  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.OrderExtInfo import OrderExtInfo
  6. class ItemOrder(object):
  7. def __init__(self):
  8. self._ext_info = None
  9. self._item_id = None
  10. self._item_name = None
  11. self._quantity = None
  12. self._real_amount = None
  13. self._sku_id = None
  14. self._subsidy_amount = None
  15. self._unit_price = None
  16. @property
  17. def ext_info(self):
  18. return self._ext_info
  19. @ext_info.setter
  20. def ext_info(self, value):
  21. if isinstance(value, list):
  22. self._ext_info = list()
  23. for i in value:
  24. if isinstance(i, OrderExtInfo):
  25. self._ext_info.append(i)
  26. else:
  27. self._ext_info.append(OrderExtInfo.from_alipay_dict(i))
  28. @property
  29. def item_id(self):
  30. return self._item_id
  31. @item_id.setter
  32. def item_id(self, value):
  33. self._item_id = value
  34. @property
  35. def item_name(self):
  36. return self._item_name
  37. @item_name.setter
  38. def item_name(self, value):
  39. self._item_name = value
  40. @property
  41. def quantity(self):
  42. return self._quantity
  43. @quantity.setter
  44. def quantity(self, value):
  45. self._quantity = value
  46. @property
  47. def real_amount(self):
  48. return self._real_amount
  49. @real_amount.setter
  50. def real_amount(self, value):
  51. self._real_amount = value
  52. @property
  53. def sku_id(self):
  54. return self._sku_id
  55. @sku_id.setter
  56. def sku_id(self, value):
  57. self._sku_id = value
  58. @property
  59. def subsidy_amount(self):
  60. return self._subsidy_amount
  61. @subsidy_amount.setter
  62. def subsidy_amount(self, value):
  63. self._subsidy_amount = value
  64. @property
  65. def unit_price(self):
  66. return self._unit_price
  67. @unit_price.setter
  68. def unit_price(self, value):
  69. self._unit_price = value
  70. def to_alipay_dict(self):
  71. params = dict()
  72. if self.ext_info:
  73. if isinstance(self.ext_info, list):
  74. for i in range(0, len(self.ext_info)):
  75. element = self.ext_info[i]
  76. if hasattr(element, 'to_alipay_dict'):
  77. self.ext_info[i] = element.to_alipay_dict()
  78. if hasattr(self.ext_info, 'to_alipay_dict'):
  79. params['ext_info'] = self.ext_info.to_alipay_dict()
  80. else:
  81. params['ext_info'] = self.ext_info
  82. if self.item_id:
  83. if hasattr(self.item_id, 'to_alipay_dict'):
  84. params['item_id'] = self.item_id.to_alipay_dict()
  85. else:
  86. params['item_id'] = self.item_id
  87. if self.item_name:
  88. if hasattr(self.item_name, 'to_alipay_dict'):
  89. params['item_name'] = self.item_name.to_alipay_dict()
  90. else:
  91. params['item_name'] = self.item_name
  92. if self.quantity:
  93. if hasattr(self.quantity, 'to_alipay_dict'):
  94. params['quantity'] = self.quantity.to_alipay_dict()
  95. else:
  96. params['quantity'] = self.quantity
  97. if self.real_amount:
  98. if hasattr(self.real_amount, 'to_alipay_dict'):
  99. params['real_amount'] = self.real_amount.to_alipay_dict()
  100. else:
  101. params['real_amount'] = self.real_amount
  102. if self.sku_id:
  103. if hasattr(self.sku_id, 'to_alipay_dict'):
  104. params['sku_id'] = self.sku_id.to_alipay_dict()
  105. else:
  106. params['sku_id'] = self.sku_id
  107. if self.subsidy_amount:
  108. if hasattr(self.subsidy_amount, 'to_alipay_dict'):
  109. params['subsidy_amount'] = self.subsidy_amount.to_alipay_dict()
  110. else:
  111. params['subsidy_amount'] = self.subsidy_amount
  112. if self.unit_price:
  113. if hasattr(self.unit_price, 'to_alipay_dict'):
  114. params['unit_price'] = self.unit_price.to_alipay_dict()
  115. else:
  116. params['unit_price'] = self.unit_price
  117. return params
  118. @staticmethod
  119. def from_alipay_dict(d):
  120. if not d:
  121. return None
  122. o = ItemOrder()
  123. if 'ext_info' in d:
  124. o.ext_info = d['ext_info']
  125. if 'item_id' in d:
  126. o.item_id = d['item_id']
  127. if 'item_name' in d:
  128. o.item_name = d['item_name']
  129. if 'quantity' in d:
  130. o.quantity = d['quantity']
  131. if 'real_amount' in d:
  132. o.real_amount = d['real_amount']
  133. if 'sku_id' in d:
  134. o.sku_id = d['sku_id']
  135. if 'subsidy_amount' in d:
  136. o.subsidy_amount = d['subsidy_amount']
  137. if 'unit_price' in d:
  138. o.unit_price = d['unit_price']
  139. return o