PosBillPayChannel.py 6.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202
  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.PosDiscountDetail import PosDiscountDetail
  6. class PosBillPayChannel(object):
  7. def __init__(self):
  8. self._channel_type = None
  9. self._discount_details = None
  10. self._ext_info = None
  11. self._operator = None
  12. self._out_pay_no = None
  13. self._pay_amount = None
  14. self._pay_no = None
  15. self._pay_time = None
  16. self._receipt_amount = None
  17. self._trade_no = None
  18. self._user_identity = None
  19. @property
  20. def channel_type(self):
  21. return self._channel_type
  22. @channel_type.setter
  23. def channel_type(self, value):
  24. self._channel_type = value
  25. @property
  26. def discount_details(self):
  27. return self._discount_details
  28. @discount_details.setter
  29. def discount_details(self, value):
  30. if isinstance(value, list):
  31. self._discount_details = list()
  32. for i in value:
  33. if isinstance(i, PosDiscountDetail):
  34. self._discount_details.append(i)
  35. else:
  36. self._discount_details.append(PosDiscountDetail.from_alipay_dict(i))
  37. @property
  38. def ext_info(self):
  39. return self._ext_info
  40. @ext_info.setter
  41. def ext_info(self, value):
  42. self._ext_info = value
  43. @property
  44. def operator(self):
  45. return self._operator
  46. @operator.setter
  47. def operator(self, value):
  48. self._operator = value
  49. @property
  50. def out_pay_no(self):
  51. return self._out_pay_no
  52. @out_pay_no.setter
  53. def out_pay_no(self, value):
  54. self._out_pay_no = value
  55. @property
  56. def pay_amount(self):
  57. return self._pay_amount
  58. @pay_amount.setter
  59. def pay_amount(self, value):
  60. self._pay_amount = value
  61. @property
  62. def pay_no(self):
  63. return self._pay_no
  64. @pay_no.setter
  65. def pay_no(self, value):
  66. self._pay_no = value
  67. @property
  68. def pay_time(self):
  69. return self._pay_time
  70. @pay_time.setter
  71. def pay_time(self, value):
  72. self._pay_time = value
  73. @property
  74. def receipt_amount(self):
  75. return self._receipt_amount
  76. @receipt_amount.setter
  77. def receipt_amount(self, value):
  78. self._receipt_amount = value
  79. @property
  80. def trade_no(self):
  81. return self._trade_no
  82. @trade_no.setter
  83. def trade_no(self, value):
  84. self._trade_no = value
  85. @property
  86. def user_identity(self):
  87. return self._user_identity
  88. @user_identity.setter
  89. def user_identity(self, value):
  90. self._user_identity = value
  91. def to_alipay_dict(self):
  92. params = dict()
  93. if self.channel_type:
  94. if hasattr(self.channel_type, 'to_alipay_dict'):
  95. params['channel_type'] = self.channel_type.to_alipay_dict()
  96. else:
  97. params['channel_type'] = self.channel_type
  98. if self.discount_details:
  99. if isinstance(self.discount_details, list):
  100. for i in range(0, len(self.discount_details)):
  101. element = self.discount_details[i]
  102. if hasattr(element, 'to_alipay_dict'):
  103. self.discount_details[i] = element.to_alipay_dict()
  104. if hasattr(self.discount_details, 'to_alipay_dict'):
  105. params['discount_details'] = self.discount_details.to_alipay_dict()
  106. else:
  107. params['discount_details'] = self.discount_details
  108. if self.ext_info:
  109. if hasattr(self.ext_info, 'to_alipay_dict'):
  110. params['ext_info'] = self.ext_info.to_alipay_dict()
  111. else:
  112. params['ext_info'] = self.ext_info
  113. if self.operator:
  114. if hasattr(self.operator, 'to_alipay_dict'):
  115. params['operator'] = self.operator.to_alipay_dict()
  116. else:
  117. params['operator'] = self.operator
  118. if self.out_pay_no:
  119. if hasattr(self.out_pay_no, 'to_alipay_dict'):
  120. params['out_pay_no'] = self.out_pay_no.to_alipay_dict()
  121. else:
  122. params['out_pay_no'] = self.out_pay_no
  123. if self.pay_amount:
  124. if hasattr(self.pay_amount, 'to_alipay_dict'):
  125. params['pay_amount'] = self.pay_amount.to_alipay_dict()
  126. else:
  127. params['pay_amount'] = self.pay_amount
  128. if self.pay_no:
  129. if hasattr(self.pay_no, 'to_alipay_dict'):
  130. params['pay_no'] = self.pay_no.to_alipay_dict()
  131. else:
  132. params['pay_no'] = self.pay_no
  133. if self.pay_time:
  134. if hasattr(self.pay_time, 'to_alipay_dict'):
  135. params['pay_time'] = self.pay_time.to_alipay_dict()
  136. else:
  137. params['pay_time'] = self.pay_time
  138. if self.receipt_amount:
  139. if hasattr(self.receipt_amount, 'to_alipay_dict'):
  140. params['receipt_amount'] = self.receipt_amount.to_alipay_dict()
  141. else:
  142. params['receipt_amount'] = self.receipt_amount
  143. if self.trade_no:
  144. if hasattr(self.trade_no, 'to_alipay_dict'):
  145. params['trade_no'] = self.trade_no.to_alipay_dict()
  146. else:
  147. params['trade_no'] = self.trade_no
  148. if self.user_identity:
  149. if hasattr(self.user_identity, 'to_alipay_dict'):
  150. params['user_identity'] = self.user_identity.to_alipay_dict()
  151. else:
  152. params['user_identity'] = self.user_identity
  153. return params
  154. @staticmethod
  155. def from_alipay_dict(d):
  156. if not d:
  157. return None
  158. o = PosBillPayChannel()
  159. if 'channel_type' in d:
  160. o.channel_type = d['channel_type']
  161. if 'discount_details' in d:
  162. o.discount_details = d['discount_details']
  163. if 'ext_info' in d:
  164. o.ext_info = d['ext_info']
  165. if 'operator' in d:
  166. o.operator = d['operator']
  167. if 'out_pay_no' in d:
  168. o.out_pay_no = d['out_pay_no']
  169. if 'pay_amount' in d:
  170. o.pay_amount = d['pay_amount']
  171. if 'pay_no' in d:
  172. o.pay_no = d['pay_no']
  173. if 'pay_time' in d:
  174. o.pay_time = d['pay_time']
  175. if 'receipt_amount' in d:
  176. o.receipt_amount = d['receipt_amount']
  177. if 'trade_no' in d:
  178. o.trade_no = d['trade_no']
  179. if 'user_identity' in d:
  180. o.user_identity = d['user_identity']
  181. return o