CustomReportCondition.py 4.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154
  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.DataTag import DataTag
  6. from alipay.aop.api.domain.FilterTag import FilterTag
  7. class CustomReportCondition(object):
  8. def __init__(self):
  9. self._condition_key = None
  10. self._data_tags = None
  11. self._filter_tags = None
  12. self._group_tags = None
  13. self._memo = None
  14. self._name = None
  15. self._sort_tags = None
  16. @property
  17. def condition_key(self):
  18. return self._condition_key
  19. @condition_key.setter
  20. def condition_key(self, value):
  21. self._condition_key = value
  22. @property
  23. def data_tags(self):
  24. return self._data_tags
  25. @data_tags.setter
  26. def data_tags(self, value):
  27. if isinstance(value, list):
  28. self._data_tags = list()
  29. for i in value:
  30. if isinstance(i, DataTag):
  31. self._data_tags.append(i)
  32. else:
  33. self._data_tags.append(DataTag.from_alipay_dict(i))
  34. @property
  35. def filter_tags(self):
  36. return self._filter_tags
  37. @filter_tags.setter
  38. def filter_tags(self, value):
  39. if isinstance(value, list):
  40. self._filter_tags = list()
  41. for i in value:
  42. if isinstance(i, FilterTag):
  43. self._filter_tags.append(i)
  44. else:
  45. self._filter_tags.append(FilterTag.from_alipay_dict(i))
  46. @property
  47. def group_tags(self):
  48. return self._group_tags
  49. @group_tags.setter
  50. def group_tags(self, value):
  51. self._group_tags = value
  52. @property
  53. def memo(self):
  54. return self._memo
  55. @memo.setter
  56. def memo(self, value):
  57. self._memo = value
  58. @property
  59. def name(self):
  60. return self._name
  61. @name.setter
  62. def name(self, value):
  63. self._name = value
  64. @property
  65. def sort_tags(self):
  66. return self._sort_tags
  67. @sort_tags.setter
  68. def sort_tags(self, value):
  69. self._sort_tags = value
  70. def to_alipay_dict(self):
  71. params = dict()
  72. if self.condition_key:
  73. if hasattr(self.condition_key, 'to_alipay_dict'):
  74. params['condition_key'] = self.condition_key.to_alipay_dict()
  75. else:
  76. params['condition_key'] = self.condition_key
  77. if self.data_tags:
  78. if isinstance(self.data_tags, list):
  79. for i in range(0, len(self.data_tags)):
  80. element = self.data_tags[i]
  81. if hasattr(element, 'to_alipay_dict'):
  82. self.data_tags[i] = element.to_alipay_dict()
  83. if hasattr(self.data_tags, 'to_alipay_dict'):
  84. params['data_tags'] = self.data_tags.to_alipay_dict()
  85. else:
  86. params['data_tags'] = self.data_tags
  87. if self.filter_tags:
  88. if isinstance(self.filter_tags, list):
  89. for i in range(0, len(self.filter_tags)):
  90. element = self.filter_tags[i]
  91. if hasattr(element, 'to_alipay_dict'):
  92. self.filter_tags[i] = element.to_alipay_dict()
  93. if hasattr(self.filter_tags, 'to_alipay_dict'):
  94. params['filter_tags'] = self.filter_tags.to_alipay_dict()
  95. else:
  96. params['filter_tags'] = self.filter_tags
  97. if self.group_tags:
  98. if hasattr(self.group_tags, 'to_alipay_dict'):
  99. params['group_tags'] = self.group_tags.to_alipay_dict()
  100. else:
  101. params['group_tags'] = self.group_tags
  102. if self.memo:
  103. if hasattr(self.memo, 'to_alipay_dict'):
  104. params['memo'] = self.memo.to_alipay_dict()
  105. else:
  106. params['memo'] = self.memo
  107. if self.name:
  108. if hasattr(self.name, 'to_alipay_dict'):
  109. params['name'] = self.name.to_alipay_dict()
  110. else:
  111. params['name'] = self.name
  112. if self.sort_tags:
  113. if hasattr(self.sort_tags, 'to_alipay_dict'):
  114. params['sort_tags'] = self.sort_tags.to_alipay_dict()
  115. else:
  116. params['sort_tags'] = self.sort_tags
  117. return params
  118. @staticmethod
  119. def from_alipay_dict(d):
  120. if not d:
  121. return None
  122. o = CustomReportCondition()
  123. if 'condition_key' in d:
  124. o.condition_key = d['condition_key']
  125. if 'data_tags' in d:
  126. o.data_tags = d['data_tags']
  127. if 'filter_tags' in d:
  128. o.filter_tags = d['filter_tags']
  129. if 'group_tags' in d:
  130. o.group_tags = d['group_tags']
  131. if 'memo' in d:
  132. o.memo = d['memo']
  133. if 'name' in d:
  134. o.name = d['name']
  135. if 'sort_tags' in d:
  136. o.sort_tags = d['sort_tags']
  137. return o