AlipayBusinessOrderRefundModel.py 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116
  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.EnvInfo import EnvInfo
  6. from alipay.aop.api.domain.PaytoolRefundRequestDetail import PaytoolRefundRequestDetail
  7. class AlipayBusinessOrderRefundModel(object):
  8. def __init__(self):
  9. self._env_info = None
  10. self._order_no = None
  11. self._refund_paytool_list = None
  12. self._refund_reason = None
  13. self._refund_request_no = None
  14. @property
  15. def env_info(self):
  16. return self._env_info
  17. @env_info.setter
  18. def env_info(self, value):
  19. if isinstance(value, EnvInfo):
  20. self._env_info = value
  21. else:
  22. self._env_info = EnvInfo.from_alipay_dict(value)
  23. @property
  24. def order_no(self):
  25. return self._order_no
  26. @order_no.setter
  27. def order_no(self, value):
  28. self._order_no = value
  29. @property
  30. def refund_paytool_list(self):
  31. return self._refund_paytool_list
  32. @refund_paytool_list.setter
  33. def refund_paytool_list(self, value):
  34. if isinstance(value, list):
  35. self._refund_paytool_list = list()
  36. for i in value:
  37. if isinstance(i, PaytoolRefundRequestDetail):
  38. self._refund_paytool_list.append(i)
  39. else:
  40. self._refund_paytool_list.append(PaytoolRefundRequestDetail.from_alipay_dict(i))
  41. @property
  42. def refund_reason(self):
  43. return self._refund_reason
  44. @refund_reason.setter
  45. def refund_reason(self, value):
  46. self._refund_reason = value
  47. @property
  48. def refund_request_no(self):
  49. return self._refund_request_no
  50. @refund_request_no.setter
  51. def refund_request_no(self, value):
  52. self._refund_request_no = value
  53. def to_alipay_dict(self):
  54. params = dict()
  55. if self.env_info:
  56. if hasattr(self.env_info, 'to_alipay_dict'):
  57. params['env_info'] = self.env_info.to_alipay_dict()
  58. else:
  59. params['env_info'] = self.env_info
  60. if self.order_no:
  61. if hasattr(self.order_no, 'to_alipay_dict'):
  62. params['order_no'] = self.order_no.to_alipay_dict()
  63. else:
  64. params['order_no'] = self.order_no
  65. if self.refund_paytool_list:
  66. if isinstance(self.refund_paytool_list, list):
  67. for i in range(0, len(self.refund_paytool_list)):
  68. element = self.refund_paytool_list[i]
  69. if hasattr(element, 'to_alipay_dict'):
  70. self.refund_paytool_list[i] = element.to_alipay_dict()
  71. if hasattr(self.refund_paytool_list, 'to_alipay_dict'):
  72. params['refund_paytool_list'] = self.refund_paytool_list.to_alipay_dict()
  73. else:
  74. params['refund_paytool_list'] = self.refund_paytool_list
  75. if self.refund_reason:
  76. if hasattr(self.refund_reason, 'to_alipay_dict'):
  77. params['refund_reason'] = self.refund_reason.to_alipay_dict()
  78. else:
  79. params['refund_reason'] = self.refund_reason
  80. if self.refund_request_no:
  81. if hasattr(self.refund_request_no, 'to_alipay_dict'):
  82. params['refund_request_no'] = self.refund_request_no.to_alipay_dict()
  83. else:
  84. params['refund_request_no'] = self.refund_request_no
  85. return params
  86. @staticmethod
  87. def from_alipay_dict(d):
  88. if not d:
  89. return None
  90. o = AlipayBusinessOrderRefundModel()
  91. if 'env_info' in d:
  92. o.env_info = d['env_info']
  93. if 'order_no' in d:
  94. o.order_no = d['order_no']
  95. if 'refund_paytool_list' in d:
  96. o.refund_paytool_list = d['refund_paytool_list']
  97. if 'refund_reason' in d:
  98. o.refund_reason = d['refund_reason']
  99. if 'refund_request_no' in d:
  100. o.refund_request_no = d['refund_request_no']
  101. return o