InvoiceInfo.py 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  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.InvoiceKeyInfo import InvoiceKeyInfo
  6. class InvoiceInfo(object):
  7. def __init__(self):
  8. self._details = None
  9. self._key_info = None
  10. @property
  11. def details(self):
  12. return self._details
  13. @details.setter
  14. def details(self, value):
  15. self._details = value
  16. @property
  17. def key_info(self):
  18. return self._key_info
  19. @key_info.setter
  20. def key_info(self, value):
  21. if isinstance(value, InvoiceKeyInfo):
  22. self._key_info = value
  23. else:
  24. self._key_info = InvoiceKeyInfo.from_alipay_dict(value)
  25. def to_alipay_dict(self):
  26. params = dict()
  27. if self.details:
  28. if hasattr(self.details, 'to_alipay_dict'):
  29. params['details'] = self.details.to_alipay_dict()
  30. else:
  31. params['details'] = self.details
  32. if self.key_info:
  33. if hasattr(self.key_info, 'to_alipay_dict'):
  34. params['key_info'] = self.key_info.to_alipay_dict()
  35. else:
  36. params['key_info'] = self.key_info
  37. return params
  38. @staticmethod
  39. def from_alipay_dict(d):
  40. if not d:
  41. return None
  42. o = InvoiceInfo()
  43. if 'details' in d:
  44. o.details = d['details']
  45. if 'key_info' in d:
  46. o.key_info = d['key_info']
  47. return o