RefundDetail.py 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127
  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.RefundRoyaltyInfo import RefundRoyaltyInfo
  6. class RefundDetail(object):
  7. def __init__(self):
  8. self._refund_amount = None
  9. self._refund_memo = None
  10. self._refund_royaltys = None
  11. self._refund_suppl_amount = None
  12. self._refund_suppl_memo = None
  13. self._trade_no = None
  14. @property
  15. def refund_amount(self):
  16. return self._refund_amount
  17. @refund_amount.setter
  18. def refund_amount(self, value):
  19. self._refund_amount = value
  20. @property
  21. def refund_memo(self):
  22. return self._refund_memo
  23. @refund_memo.setter
  24. def refund_memo(self, value):
  25. self._refund_memo = value
  26. @property
  27. def refund_royaltys(self):
  28. return self._refund_royaltys
  29. @refund_royaltys.setter
  30. def refund_royaltys(self, value):
  31. if isinstance(value, list):
  32. self._refund_royaltys = list()
  33. for i in value:
  34. if isinstance(i, RefundRoyaltyInfo):
  35. self._refund_royaltys.append(i)
  36. else:
  37. self._refund_royaltys.append(RefundRoyaltyInfo.from_alipay_dict(i))
  38. @property
  39. def refund_suppl_amount(self):
  40. return self._refund_suppl_amount
  41. @refund_suppl_amount.setter
  42. def refund_suppl_amount(self, value):
  43. self._refund_suppl_amount = value
  44. @property
  45. def refund_suppl_memo(self):
  46. return self._refund_suppl_memo
  47. @refund_suppl_memo.setter
  48. def refund_suppl_memo(self, value):
  49. self._refund_suppl_memo = value
  50. @property
  51. def trade_no(self):
  52. return self._trade_no
  53. @trade_no.setter
  54. def trade_no(self, value):
  55. self._trade_no = value
  56. def to_alipay_dict(self):
  57. params = dict()
  58. if self.refund_amount:
  59. if hasattr(self.refund_amount, 'to_alipay_dict'):
  60. params['refund_amount'] = self.refund_amount.to_alipay_dict()
  61. else:
  62. params['refund_amount'] = self.refund_amount
  63. if self.refund_memo:
  64. if hasattr(self.refund_memo, 'to_alipay_dict'):
  65. params['refund_memo'] = self.refund_memo.to_alipay_dict()
  66. else:
  67. params['refund_memo'] = self.refund_memo
  68. if self.refund_royaltys:
  69. if isinstance(self.refund_royaltys, list):
  70. for i in range(0, len(self.refund_royaltys)):
  71. element = self.refund_royaltys[i]
  72. if hasattr(element, 'to_alipay_dict'):
  73. self.refund_royaltys[i] = element.to_alipay_dict()
  74. if hasattr(self.refund_royaltys, 'to_alipay_dict'):
  75. params['refund_royaltys'] = self.refund_royaltys.to_alipay_dict()
  76. else:
  77. params['refund_royaltys'] = self.refund_royaltys
  78. if self.refund_suppl_amount:
  79. if hasattr(self.refund_suppl_amount, 'to_alipay_dict'):
  80. params['refund_suppl_amount'] = self.refund_suppl_amount.to_alipay_dict()
  81. else:
  82. params['refund_suppl_amount'] = self.refund_suppl_amount
  83. if self.refund_suppl_memo:
  84. if hasattr(self.refund_suppl_memo, 'to_alipay_dict'):
  85. params['refund_suppl_memo'] = self.refund_suppl_memo.to_alipay_dict()
  86. else:
  87. params['refund_suppl_memo'] = self.refund_suppl_memo
  88. if self.trade_no:
  89. if hasattr(self.trade_no, 'to_alipay_dict'):
  90. params['trade_no'] = self.trade_no.to_alipay_dict()
  91. else:
  92. params['trade_no'] = self.trade_no
  93. return params
  94. @staticmethod
  95. def from_alipay_dict(d):
  96. if not d:
  97. return None
  98. o = RefundDetail()
  99. if 'refund_amount' in d:
  100. o.refund_amount = d['refund_amount']
  101. if 'refund_memo' in d:
  102. o.refund_memo = d['refund_memo']
  103. if 'refund_royaltys' in d:
  104. o.refund_royaltys = d['refund_royaltys']
  105. if 'refund_suppl_amount' in d:
  106. o.refund_suppl_amount = d['refund_suppl_amount']
  107. if 'refund_suppl_memo' in d:
  108. o.refund_suppl_memo = d['refund_suppl_memo']
  109. if 'trade_no' in d:
  110. o.trade_no = d['trade_no']
  111. return o