AlisisReport.py 2.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697
  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.ReportCondition import ReportCondition
  6. class AlisisReport(object):
  7. def __init__(self):
  8. self._conditions = None
  9. self._report_desc = None
  10. self._report_name = None
  11. self._report_uk = None
  12. @property
  13. def conditions(self):
  14. return self._conditions
  15. @conditions.setter
  16. def conditions(self, value):
  17. if isinstance(value, list):
  18. self._conditions = list()
  19. for i in value:
  20. if isinstance(i, ReportCondition):
  21. self._conditions.append(i)
  22. else:
  23. self._conditions.append(ReportCondition.from_alipay_dict(i))
  24. @property
  25. def report_desc(self):
  26. return self._report_desc
  27. @report_desc.setter
  28. def report_desc(self, value):
  29. self._report_desc = value
  30. @property
  31. def report_name(self):
  32. return self._report_name
  33. @report_name.setter
  34. def report_name(self, value):
  35. self._report_name = value
  36. @property
  37. def report_uk(self):
  38. return self._report_uk
  39. @report_uk.setter
  40. def report_uk(self, value):
  41. self._report_uk = value
  42. def to_alipay_dict(self):
  43. params = dict()
  44. if self.conditions:
  45. if isinstance(self.conditions, list):
  46. for i in range(0, len(self.conditions)):
  47. element = self.conditions[i]
  48. if hasattr(element, 'to_alipay_dict'):
  49. self.conditions[i] = element.to_alipay_dict()
  50. if hasattr(self.conditions, 'to_alipay_dict'):
  51. params['conditions'] = self.conditions.to_alipay_dict()
  52. else:
  53. params['conditions'] = self.conditions
  54. if self.report_desc:
  55. if hasattr(self.report_desc, 'to_alipay_dict'):
  56. params['report_desc'] = self.report_desc.to_alipay_dict()
  57. else:
  58. params['report_desc'] = self.report_desc
  59. if self.report_name:
  60. if hasattr(self.report_name, 'to_alipay_dict'):
  61. params['report_name'] = self.report_name.to_alipay_dict()
  62. else:
  63. params['report_name'] = self.report_name
  64. if self.report_uk:
  65. if hasattr(self.report_uk, 'to_alipay_dict'):
  66. params['report_uk'] = self.report_uk.to_alipay_dict()
  67. else:
  68. params['report_uk'] = self.report_uk
  69. return params
  70. @staticmethod
  71. def from_alipay_dict(d):
  72. if not d:
  73. return None
  74. o = AlisisReport()
  75. if 'conditions' in d:
  76. o.conditions = d['conditions']
  77. if 'report_desc' in d:
  78. o.report_desc = d['report_desc']
  79. if 'report_name' in d:
  80. o.report_name = d['report_name']
  81. if 'report_uk' in d:
  82. o.report_uk = d['report_uk']
  83. return o