AlipayDataItemVoucherTemplete.py 9.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270
  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.AlipayDataItemDescription import AlipayDataItemDescription
  6. from alipay.aop.api.domain.AlipayDataItemGoodsList import AlipayDataItemGoodsList
  7. from alipay.aop.api.domain.AlipayDataItemLimitPeriodInfo import AlipayDataItemLimitPeriodInfo
  8. class AlipayDataItemVoucherTemplete(object):
  9. def __init__(self):
  10. self._delay_minute = None
  11. self._desc_details = None
  12. self._discount_rate = None
  13. self._external_goods_list = None
  14. self._limit_period_info_list = None
  15. self._original_amount = None
  16. self._original_rate = None
  17. self._reduce_to_amount = None
  18. self._rounding_rule = None
  19. self._threshold_amount = None
  20. self._threshold_quantity = None
  21. self._valid_period = None
  22. self._value_amount = None
  23. self._voucher_desc = None
  24. self._voucher_type = None
  25. @property
  26. def delay_minute(self):
  27. return self._delay_minute
  28. @delay_minute.setter
  29. def delay_minute(self, value):
  30. self._delay_minute = value
  31. @property
  32. def desc_details(self):
  33. return self._desc_details
  34. @desc_details.setter
  35. def desc_details(self, value):
  36. if isinstance(value, list):
  37. self._desc_details = list()
  38. for i in value:
  39. if isinstance(i, AlipayDataItemDescription):
  40. self._desc_details.append(i)
  41. else:
  42. self._desc_details.append(AlipayDataItemDescription.from_alipay_dict(i))
  43. @property
  44. def discount_rate(self):
  45. return self._discount_rate
  46. @discount_rate.setter
  47. def discount_rate(self, value):
  48. self._discount_rate = value
  49. @property
  50. def external_goods_list(self):
  51. return self._external_goods_list
  52. @external_goods_list.setter
  53. def external_goods_list(self, value):
  54. if isinstance(value, AlipayDataItemGoodsList):
  55. self._external_goods_list = value
  56. else:
  57. self._external_goods_list = AlipayDataItemGoodsList.from_alipay_dict(value)
  58. @property
  59. def limit_period_info_list(self):
  60. return self._limit_period_info_list
  61. @limit_period_info_list.setter
  62. def limit_period_info_list(self, value):
  63. if isinstance(value, AlipayDataItemLimitPeriodInfo):
  64. self._limit_period_info_list = value
  65. else:
  66. self._limit_period_info_list = AlipayDataItemLimitPeriodInfo.from_alipay_dict(value)
  67. @property
  68. def original_amount(self):
  69. return self._original_amount
  70. @original_amount.setter
  71. def original_amount(self, value):
  72. self._original_amount = value
  73. @property
  74. def original_rate(self):
  75. return self._original_rate
  76. @original_rate.setter
  77. def original_rate(self, value):
  78. self._original_rate = value
  79. @property
  80. def reduce_to_amount(self):
  81. return self._reduce_to_amount
  82. @reduce_to_amount.setter
  83. def reduce_to_amount(self, value):
  84. self._reduce_to_amount = value
  85. @property
  86. def rounding_rule(self):
  87. return self._rounding_rule
  88. @rounding_rule.setter
  89. def rounding_rule(self, value):
  90. self._rounding_rule = value
  91. @property
  92. def threshold_amount(self):
  93. return self._threshold_amount
  94. @threshold_amount.setter
  95. def threshold_amount(self, value):
  96. self._threshold_amount = value
  97. @property
  98. def threshold_quantity(self):
  99. return self._threshold_quantity
  100. @threshold_quantity.setter
  101. def threshold_quantity(self, value):
  102. self._threshold_quantity = value
  103. @property
  104. def valid_period(self):
  105. return self._valid_period
  106. @valid_period.setter
  107. def valid_period(self, value):
  108. self._valid_period = value
  109. @property
  110. def value_amount(self):
  111. return self._value_amount
  112. @value_amount.setter
  113. def value_amount(self, value):
  114. self._value_amount = value
  115. @property
  116. def voucher_desc(self):
  117. return self._voucher_desc
  118. @voucher_desc.setter
  119. def voucher_desc(self, value):
  120. self._voucher_desc = value
  121. @property
  122. def voucher_type(self):
  123. return self._voucher_type
  124. @voucher_type.setter
  125. def voucher_type(self, value):
  126. self._voucher_type = value
  127. def to_alipay_dict(self):
  128. params = dict()
  129. if self.delay_minute:
  130. if hasattr(self.delay_minute, 'to_alipay_dict'):
  131. params['delay_minute'] = self.delay_minute.to_alipay_dict()
  132. else:
  133. params['delay_minute'] = self.delay_minute
  134. if self.desc_details:
  135. if isinstance(self.desc_details, list):
  136. for i in range(0, len(self.desc_details)):
  137. element = self.desc_details[i]
  138. if hasattr(element, 'to_alipay_dict'):
  139. self.desc_details[i] = element.to_alipay_dict()
  140. if hasattr(self.desc_details, 'to_alipay_dict'):
  141. params['desc_details'] = self.desc_details.to_alipay_dict()
  142. else:
  143. params['desc_details'] = self.desc_details
  144. if self.discount_rate:
  145. if hasattr(self.discount_rate, 'to_alipay_dict'):
  146. params['discount_rate'] = self.discount_rate.to_alipay_dict()
  147. else:
  148. params['discount_rate'] = self.discount_rate
  149. if self.external_goods_list:
  150. if hasattr(self.external_goods_list, 'to_alipay_dict'):
  151. params['external_goods_list'] = self.external_goods_list.to_alipay_dict()
  152. else:
  153. params['external_goods_list'] = self.external_goods_list
  154. if self.limit_period_info_list:
  155. if hasattr(self.limit_period_info_list, 'to_alipay_dict'):
  156. params['limit_period_info_list'] = self.limit_period_info_list.to_alipay_dict()
  157. else:
  158. params['limit_period_info_list'] = self.limit_period_info_list
  159. if self.original_amount:
  160. if hasattr(self.original_amount, 'to_alipay_dict'):
  161. params['original_amount'] = self.original_amount.to_alipay_dict()
  162. else:
  163. params['original_amount'] = self.original_amount
  164. if self.original_rate:
  165. if hasattr(self.original_rate, 'to_alipay_dict'):
  166. params['original_rate'] = self.original_rate.to_alipay_dict()
  167. else:
  168. params['original_rate'] = self.original_rate
  169. if self.reduce_to_amount:
  170. if hasattr(self.reduce_to_amount, 'to_alipay_dict'):
  171. params['reduce_to_amount'] = self.reduce_to_amount.to_alipay_dict()
  172. else:
  173. params['reduce_to_amount'] = self.reduce_to_amount
  174. if self.rounding_rule:
  175. if hasattr(self.rounding_rule, 'to_alipay_dict'):
  176. params['rounding_rule'] = self.rounding_rule.to_alipay_dict()
  177. else:
  178. params['rounding_rule'] = self.rounding_rule
  179. if self.threshold_amount:
  180. if hasattr(self.threshold_amount, 'to_alipay_dict'):
  181. params['threshold_amount'] = self.threshold_amount.to_alipay_dict()
  182. else:
  183. params['threshold_amount'] = self.threshold_amount
  184. if self.threshold_quantity:
  185. if hasattr(self.threshold_quantity, 'to_alipay_dict'):
  186. params['threshold_quantity'] = self.threshold_quantity.to_alipay_dict()
  187. else:
  188. params['threshold_quantity'] = self.threshold_quantity
  189. if self.valid_period:
  190. if hasattr(self.valid_period, 'to_alipay_dict'):
  191. params['valid_period'] = self.valid_period.to_alipay_dict()
  192. else:
  193. params['valid_period'] = self.valid_period
  194. if self.value_amount:
  195. if hasattr(self.value_amount, 'to_alipay_dict'):
  196. params['value_amount'] = self.value_amount.to_alipay_dict()
  197. else:
  198. params['value_amount'] = self.value_amount
  199. if self.voucher_desc:
  200. if hasattr(self.voucher_desc, 'to_alipay_dict'):
  201. params['voucher_desc'] = self.voucher_desc.to_alipay_dict()
  202. else:
  203. params['voucher_desc'] = self.voucher_desc
  204. if self.voucher_type:
  205. if hasattr(self.voucher_type, 'to_alipay_dict'):
  206. params['voucher_type'] = self.voucher_type.to_alipay_dict()
  207. else:
  208. params['voucher_type'] = self.voucher_type
  209. return params
  210. @staticmethod
  211. def from_alipay_dict(d):
  212. if not d:
  213. return None
  214. o = AlipayDataItemVoucherTemplete()
  215. if 'delay_minute' in d:
  216. o.delay_minute = d['delay_minute']
  217. if 'desc_details' in d:
  218. o.desc_details = d['desc_details']
  219. if 'discount_rate' in d:
  220. o.discount_rate = d['discount_rate']
  221. if 'external_goods_list' in d:
  222. o.external_goods_list = d['external_goods_list']
  223. if 'limit_period_info_list' in d:
  224. o.limit_period_info_list = d['limit_period_info_list']
  225. if 'original_amount' in d:
  226. o.original_amount = d['original_amount']
  227. if 'original_rate' in d:
  228. o.original_rate = d['original_rate']
  229. if 'reduce_to_amount' in d:
  230. o.reduce_to_amount = d['reduce_to_amount']
  231. if 'rounding_rule' in d:
  232. o.rounding_rule = d['rounding_rule']
  233. if 'threshold_amount' in d:
  234. o.threshold_amount = d['threshold_amount']
  235. if 'threshold_quantity' in d:
  236. o.threshold_quantity = d['threshold_quantity']
  237. if 'valid_period' in d:
  238. o.valid_period = d['valid_period']
  239. if 'value_amount' in d:
  240. o.value_amount = d['value_amount']
  241. if 'voucher_desc' in d:
  242. o.voucher_desc = d['voucher_desc']
  243. if 'voucher_type' in d:
  244. o.voucher_type = d['voucher_type']
  245. return o