AlipayTradeBatchRefundModel.py 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112
  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.RefundDetail import RefundDetail
  6. class AlipayTradeBatchRefundModel(object):
  7. def __init__(self):
  8. self._batch_no = None
  9. self._batch_num = None
  10. self._detail_data = None
  11. self._refund_date = None
  12. self._use_freeze_amount = None
  13. @property
  14. def batch_no(self):
  15. return self._batch_no
  16. @batch_no.setter
  17. def batch_no(self, value):
  18. self._batch_no = value
  19. @property
  20. def batch_num(self):
  21. return self._batch_num
  22. @batch_num.setter
  23. def batch_num(self, value):
  24. self._batch_num = value
  25. @property
  26. def detail_data(self):
  27. return self._detail_data
  28. @detail_data.setter
  29. def detail_data(self, value):
  30. if isinstance(value, list):
  31. self._detail_data = list()
  32. for i in value:
  33. if isinstance(i, RefundDetail):
  34. self._detail_data.append(i)
  35. else:
  36. self._detail_data.append(RefundDetail.from_alipay_dict(i))
  37. @property
  38. def refund_date(self):
  39. return self._refund_date
  40. @refund_date.setter
  41. def refund_date(self, value):
  42. self._refund_date = value
  43. @property
  44. def use_freeze_amount(self):
  45. return self._use_freeze_amount
  46. @use_freeze_amount.setter
  47. def use_freeze_amount(self, value):
  48. self._use_freeze_amount = value
  49. def to_alipay_dict(self):
  50. params = dict()
  51. if self.batch_no:
  52. if hasattr(self.batch_no, 'to_alipay_dict'):
  53. params['batch_no'] = self.batch_no.to_alipay_dict()
  54. else:
  55. params['batch_no'] = self.batch_no
  56. if self.batch_num:
  57. if hasattr(self.batch_num, 'to_alipay_dict'):
  58. params['batch_num'] = self.batch_num.to_alipay_dict()
  59. else:
  60. params['batch_num'] = self.batch_num
  61. if self.detail_data:
  62. if isinstance(self.detail_data, list):
  63. for i in range(0, len(self.detail_data)):
  64. element = self.detail_data[i]
  65. if hasattr(element, 'to_alipay_dict'):
  66. self.detail_data[i] = element.to_alipay_dict()
  67. if hasattr(self.detail_data, 'to_alipay_dict'):
  68. params['detail_data'] = self.detail_data.to_alipay_dict()
  69. else:
  70. params['detail_data'] = self.detail_data
  71. if self.refund_date:
  72. if hasattr(self.refund_date, 'to_alipay_dict'):
  73. params['refund_date'] = self.refund_date.to_alipay_dict()
  74. else:
  75. params['refund_date'] = self.refund_date
  76. if self.use_freeze_amount:
  77. if hasattr(self.use_freeze_amount, 'to_alipay_dict'):
  78. params['use_freeze_amount'] = self.use_freeze_amount.to_alipay_dict()
  79. else:
  80. params['use_freeze_amount'] = self.use_freeze_amount
  81. return params
  82. @staticmethod
  83. def from_alipay_dict(d):
  84. if not d:
  85. return None
  86. o = AlipayTradeBatchRefundModel()
  87. if 'batch_no' in d:
  88. o.batch_no = d['batch_no']
  89. if 'batch_num' in d:
  90. o.batch_num = d['batch_num']
  91. if 'detail_data' in d:
  92. o.detail_data = d['detail_data']
  93. if 'refund_date' in d:
  94. o.refund_date = d['refund_date']
  95. if 'use_freeze_amount' in d:
  96. o.use_freeze_amount = d['use_freeze_amount']
  97. return o