AlipayItemDescription.py 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101
  1. #!/usr/bin/env python
  2. # -*- coding: utf-8 -*-
  3. import json
  4. from alipay.aop.api.constant.ParamConstants import *
  5. class AlipayItemDescription(object):
  6. def __init__(self):
  7. self._details = None
  8. self._images = None
  9. self._title = None
  10. self._url = None
  11. @property
  12. def details(self):
  13. return self._details
  14. @details.setter
  15. def details(self, value):
  16. if isinstance(value, list):
  17. self._details = list()
  18. for i in value:
  19. self._details.append(i)
  20. @property
  21. def images(self):
  22. return self._images
  23. @images.setter
  24. def images(self, value):
  25. if isinstance(value, list):
  26. self._images = list()
  27. for i in value:
  28. self._images.append(i)
  29. @property
  30. def title(self):
  31. return self._title
  32. @title.setter
  33. def title(self, value):
  34. self._title = value
  35. @property
  36. def url(self):
  37. return self._url
  38. @url.setter
  39. def url(self, value):
  40. self._url = value
  41. def to_alipay_dict(self):
  42. params = dict()
  43. if self.details:
  44. if isinstance(self.details, list):
  45. for i in range(0, len(self.details)):
  46. element = self.details[i]
  47. if hasattr(element, 'to_alipay_dict'):
  48. self.details[i] = element.to_alipay_dict()
  49. if hasattr(self.details, 'to_alipay_dict'):
  50. params['details'] = self.details.to_alipay_dict()
  51. else:
  52. params['details'] = self.details
  53. if self.images:
  54. if isinstance(self.images, list):
  55. for i in range(0, len(self.images)):
  56. element = self.images[i]
  57. if hasattr(element, 'to_alipay_dict'):
  58. self.images[i] = element.to_alipay_dict()
  59. if hasattr(self.images, 'to_alipay_dict'):
  60. params['images'] = self.images.to_alipay_dict()
  61. else:
  62. params['images'] = self.images
  63. if self.title:
  64. if hasattr(self.title, 'to_alipay_dict'):
  65. params['title'] = self.title.to_alipay_dict()
  66. else:
  67. params['title'] = self.title
  68. if self.url:
  69. if hasattr(self.url, 'to_alipay_dict'):
  70. params['url'] = self.url.to_alipay_dict()
  71. else:
  72. params['url'] = self.url
  73. return params
  74. @staticmethod
  75. def from_alipay_dict(d):
  76. if not d:
  77. return None
  78. o = AlipayItemDescription()
  79. if 'details' in d:
  80. o.details = d['details']
  81. if 'images' in d:
  82. o.images = d['images']
  83. if 'title' in d:
  84. o.title = d['title']
  85. if 'url' in d:
  86. o.url = d['url']
  87. return o