SceneOrder.py 8.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247
  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.MallDiscountDetail import MallDiscountDetail
  6. class SceneOrder(object):
  7. def __init__(self):
  8. self._buyer_user_id = None
  9. self._discount_detail = None
  10. self._order_id = None
  11. self._order_type = None
  12. self._out_order_no = None
  13. self._real_amount = None
  14. self._scene_code = None
  15. self._seller_user_id = None
  16. self._status = None
  17. self._subject = None
  18. self._total_amount = None
  19. self._trade_no = None
  20. self._trade_success_time = None
  21. self._trade_time = None
  22. @property
  23. def buyer_user_id(self):
  24. return self._buyer_user_id
  25. @buyer_user_id.setter
  26. def buyer_user_id(self, value):
  27. self._buyer_user_id = value
  28. @property
  29. def discount_detail(self):
  30. return self._discount_detail
  31. @discount_detail.setter
  32. def discount_detail(self, value):
  33. if isinstance(value, list):
  34. self._discount_detail = list()
  35. for i in value:
  36. if isinstance(i, MallDiscountDetail):
  37. self._discount_detail.append(i)
  38. else:
  39. self._discount_detail.append(MallDiscountDetail.from_alipay_dict(i))
  40. @property
  41. def order_id(self):
  42. return self._order_id
  43. @order_id.setter
  44. def order_id(self, value):
  45. self._order_id = value
  46. @property
  47. def order_type(self):
  48. return self._order_type
  49. @order_type.setter
  50. def order_type(self, value):
  51. self._order_type = value
  52. @property
  53. def out_order_no(self):
  54. return self._out_order_no
  55. @out_order_no.setter
  56. def out_order_no(self, value):
  57. self._out_order_no = value
  58. @property
  59. def real_amount(self):
  60. return self._real_amount
  61. @real_amount.setter
  62. def real_amount(self, value):
  63. self._real_amount = value
  64. @property
  65. def scene_code(self):
  66. return self._scene_code
  67. @scene_code.setter
  68. def scene_code(self, value):
  69. self._scene_code = value
  70. @property
  71. def seller_user_id(self):
  72. return self._seller_user_id
  73. @seller_user_id.setter
  74. def seller_user_id(self, value):
  75. self._seller_user_id = value
  76. @property
  77. def status(self):
  78. return self._status
  79. @status.setter
  80. def status(self, value):
  81. self._status = value
  82. @property
  83. def subject(self):
  84. return self._subject
  85. @subject.setter
  86. def subject(self, value):
  87. self._subject = value
  88. @property
  89. def total_amount(self):
  90. return self._total_amount
  91. @total_amount.setter
  92. def total_amount(self, value):
  93. self._total_amount = value
  94. @property
  95. def trade_no(self):
  96. return self._trade_no
  97. @trade_no.setter
  98. def trade_no(self, value):
  99. self._trade_no = value
  100. @property
  101. def trade_success_time(self):
  102. return self._trade_success_time
  103. @trade_success_time.setter
  104. def trade_success_time(self, value):
  105. self._trade_success_time = value
  106. @property
  107. def trade_time(self):
  108. return self._trade_time
  109. @trade_time.setter
  110. def trade_time(self, value):
  111. self._trade_time = value
  112. def to_alipay_dict(self):
  113. params = dict()
  114. if self.buyer_user_id:
  115. if hasattr(self.buyer_user_id, 'to_alipay_dict'):
  116. params['buyer_user_id'] = self.buyer_user_id.to_alipay_dict()
  117. else:
  118. params['buyer_user_id'] = self.buyer_user_id
  119. if self.discount_detail:
  120. if isinstance(self.discount_detail, list):
  121. for i in range(0, len(self.discount_detail)):
  122. element = self.discount_detail[i]
  123. if hasattr(element, 'to_alipay_dict'):
  124. self.discount_detail[i] = element.to_alipay_dict()
  125. if hasattr(self.discount_detail, 'to_alipay_dict'):
  126. params['discount_detail'] = self.discount_detail.to_alipay_dict()
  127. else:
  128. params['discount_detail'] = self.discount_detail
  129. if self.order_id:
  130. if hasattr(self.order_id, 'to_alipay_dict'):
  131. params['order_id'] = self.order_id.to_alipay_dict()
  132. else:
  133. params['order_id'] = self.order_id
  134. if self.order_type:
  135. if hasattr(self.order_type, 'to_alipay_dict'):
  136. params['order_type'] = self.order_type.to_alipay_dict()
  137. else:
  138. params['order_type'] = self.order_type
  139. if self.out_order_no:
  140. if hasattr(self.out_order_no, 'to_alipay_dict'):
  141. params['out_order_no'] = self.out_order_no.to_alipay_dict()
  142. else:
  143. params['out_order_no'] = self.out_order_no
  144. if self.real_amount:
  145. if hasattr(self.real_amount, 'to_alipay_dict'):
  146. params['real_amount'] = self.real_amount.to_alipay_dict()
  147. else:
  148. params['real_amount'] = self.real_amount
  149. if self.scene_code:
  150. if hasattr(self.scene_code, 'to_alipay_dict'):
  151. params['scene_code'] = self.scene_code.to_alipay_dict()
  152. else:
  153. params['scene_code'] = self.scene_code
  154. if self.seller_user_id:
  155. if hasattr(self.seller_user_id, 'to_alipay_dict'):
  156. params['seller_user_id'] = self.seller_user_id.to_alipay_dict()
  157. else:
  158. params['seller_user_id'] = self.seller_user_id
  159. if self.status:
  160. if hasattr(self.status, 'to_alipay_dict'):
  161. params['status'] = self.status.to_alipay_dict()
  162. else:
  163. params['status'] = self.status
  164. if self.subject:
  165. if hasattr(self.subject, 'to_alipay_dict'):
  166. params['subject'] = self.subject.to_alipay_dict()
  167. else:
  168. params['subject'] = self.subject
  169. if self.total_amount:
  170. if hasattr(self.total_amount, 'to_alipay_dict'):
  171. params['total_amount'] = self.total_amount.to_alipay_dict()
  172. else:
  173. params['total_amount'] = self.total_amount
  174. if self.trade_no:
  175. if hasattr(self.trade_no, 'to_alipay_dict'):
  176. params['trade_no'] = self.trade_no.to_alipay_dict()
  177. else:
  178. params['trade_no'] = self.trade_no
  179. if self.trade_success_time:
  180. if hasattr(self.trade_success_time, 'to_alipay_dict'):
  181. params['trade_success_time'] = self.trade_success_time.to_alipay_dict()
  182. else:
  183. params['trade_success_time'] = self.trade_success_time
  184. if self.trade_time:
  185. if hasattr(self.trade_time, 'to_alipay_dict'):
  186. params['trade_time'] = self.trade_time.to_alipay_dict()
  187. else:
  188. params['trade_time'] = self.trade_time
  189. return params
  190. @staticmethod
  191. def from_alipay_dict(d):
  192. if not d:
  193. return None
  194. o = SceneOrder()
  195. if 'buyer_user_id' in d:
  196. o.buyer_user_id = d['buyer_user_id']
  197. if 'discount_detail' in d:
  198. o.discount_detail = d['discount_detail']
  199. if 'order_id' in d:
  200. o.order_id = d['order_id']
  201. if 'order_type' in d:
  202. o.order_type = d['order_type']
  203. if 'out_order_no' in d:
  204. o.out_order_no = d['out_order_no']
  205. if 'real_amount' in d:
  206. o.real_amount = d['real_amount']
  207. if 'scene_code' in d:
  208. o.scene_code = d['scene_code']
  209. if 'seller_user_id' in d:
  210. o.seller_user_id = d['seller_user_id']
  211. if 'status' in d:
  212. o.status = d['status']
  213. if 'subject' in d:
  214. o.subject = d['subject']
  215. if 'total_amount' in d:
  216. o.total_amount = d['total_amount']
  217. if 'trade_no' in d:
  218. o.trade_no = d['trade_no']
  219. if 'trade_success_time' in d:
  220. o.trade_success_time = d['trade_success_time']
  221. if 'trade_time' in d:
  222. o.trade_time = d['trade_time']
  223. return o