ModelMeta.py 2.7 KB

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