QueryExtension.py 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109
  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.ExtensionArea import ExtensionArea
  6. from alipay.aop.api.domain.QueryLabelRule import QueryLabelRule
  7. class QueryExtension(object):
  8. def __init__(self):
  9. self._areas = None
  10. self._extension_key = None
  11. self._label_rules = None
  12. self._status = None
  13. @property
  14. def areas(self):
  15. return self._areas
  16. @areas.setter
  17. def areas(self, value):
  18. if isinstance(value, list):
  19. self._areas = list()
  20. for i in value:
  21. if isinstance(i, ExtensionArea):
  22. self._areas.append(i)
  23. else:
  24. self._areas.append(ExtensionArea.from_alipay_dict(i))
  25. @property
  26. def extension_key(self):
  27. return self._extension_key
  28. @extension_key.setter
  29. def extension_key(self, value):
  30. self._extension_key = value
  31. @property
  32. def label_rules(self):
  33. return self._label_rules
  34. @label_rules.setter
  35. def label_rules(self, value):
  36. if isinstance(value, list):
  37. self._label_rules = list()
  38. for i in value:
  39. if isinstance(i, QueryLabelRule):
  40. self._label_rules.append(i)
  41. else:
  42. self._label_rules.append(QueryLabelRule.from_alipay_dict(i))
  43. @property
  44. def status(self):
  45. return self._status
  46. @status.setter
  47. def status(self, value):
  48. self._status = value
  49. def to_alipay_dict(self):
  50. params = dict()
  51. if self.areas:
  52. if isinstance(self.areas, list):
  53. for i in range(0, len(self.areas)):
  54. element = self.areas[i]
  55. if hasattr(element, 'to_alipay_dict'):
  56. self.areas[i] = element.to_alipay_dict()
  57. if hasattr(self.areas, 'to_alipay_dict'):
  58. params['areas'] = self.areas.to_alipay_dict()
  59. else:
  60. params['areas'] = self.areas
  61. if self.extension_key:
  62. if hasattr(self.extension_key, 'to_alipay_dict'):
  63. params['extension_key'] = self.extension_key.to_alipay_dict()
  64. else:
  65. params['extension_key'] = self.extension_key
  66. if self.label_rules:
  67. if isinstance(self.label_rules, list):
  68. for i in range(0, len(self.label_rules)):
  69. element = self.label_rules[i]
  70. if hasattr(element, 'to_alipay_dict'):
  71. self.label_rules[i] = element.to_alipay_dict()
  72. if hasattr(self.label_rules, 'to_alipay_dict'):
  73. params['label_rules'] = self.label_rules.to_alipay_dict()
  74. else:
  75. params['label_rules'] = self.label_rules
  76. if self.status:
  77. if hasattr(self.status, 'to_alipay_dict'):
  78. params['status'] = self.status.to_alipay_dict()
  79. else:
  80. params['status'] = self.status
  81. return params
  82. @staticmethod
  83. def from_alipay_dict(d):
  84. if not d:
  85. return None
  86. o = QueryExtension()
  87. if 'areas' in d:
  88. o.areas = d['areas']
  89. if 'extension_key' in d:
  90. o.extension_key = d['extension_key']
  91. if 'label_rules' in d:
  92. o.label_rules = d['label_rules']
  93. if 'status' in d:
  94. o.status = d['status']
  95. return o