MoreInfoDTO.py 2.4 KB

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