AlipayMerchantOrderRefundModel.py 5.2 KB

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